]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
[grub2.git] / ChangeLog
CommitLineData
ce96d01c
VS
12012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4 around device name if necessarry.
5
0f596201
PFS
62012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7
8 * util/grub-install.in: Follow the symbolic link parameter added
9 to the file command.
10
600d5bdb
AB
112012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
12
13 * util/grub-install.in: Remove stale TODO.
14
64ebd2f4
PFS
152012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
16
17 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
18 dynamic allocation for the bootpath buffer.
19
74b2fe3e
DTB
202012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
21
22 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
23 window too small.
24
969b804f
VS
252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
28 argument rather than font name. All users updated.
29 (grub_gfxterm_set_window): Likewise.
30
b9f5ebd6
VT
312012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
32
33 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
34 from working.
35
258f43b7
VS
362012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * util/getroot.c (convert_system_partition_to_system_disk): Support
39 nbd disks.
40
cc1ce5f9
VS
412012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
44 infinite loop on corrupted FS.
45
e77a16ca
VS
462012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Fix big-endian mtime.
49
50 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
51 together sec and usec.
52 (grub_ufs_dir): Use correct byteswapping for UFS time.
53
d9c48c7b
VS
542012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
55
56 Support big-endian UFS1.
57
58 * Makefile.util.def (libgrubmods): Add ufs_be.c
59 * grub-core/Makefile.core.def (ufs1_be): New module.
60 * grub-core/fs/ufs_be.c: New file.
61 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
62 the file.
63
2f9f40ba
LL
642012-11-28 Leif Lindholm <leif.lindholm@arm.com>
65
66 * include/grub/types.h: Fix functionality unaffecting typo in
67 GRUB_TARGET_WORDSIZE conditional macro.
68
48ff0889
PFS
692012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
70
71 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
72
03711240
GS
732012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
74
75 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
76 that /netbsd appears first (when it exists).
77
a31b11bd
CJ
782012-10-12 Christoph Junghans <ottxor@gentoo.org>
79
80 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
81 Fixes Savannah bug #37558.
82
e8a5d5d4
CW
832012-10-12 Colin Watson <cjwatson@ubuntu.com>
84
85 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
86 description of extract_entries_configfile.
87
882012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
89
90 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
91 preferred_address.
92 (grub_cmd_linux): Likewise.
93 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
94 preferred_lifetime. Update all users.
95
288c757d
CW
962012-09-26 Colin Watson <cjwatson@ubuntu.com>
97
98 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
99 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
100
0d35da3f
CW
1012012-09-26 Colin Watson <cjwatson@ubuntu.com>
102
103 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
104 errors from grub-probe to /dev/null, not stdout.
105
b78c3127
VS
1062012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
109 sector 1.
110
473959f0
CW
1112012-09-24 Colin Watson <cjwatson@ubuntu.com>
112
113 * util/grub-install.in: Make the error message if $source_dir
114 doesn't exist more useful.
115
794c8c33
CW
1162012-09-22 Colin Watson <cjwatson@ubuntu.com>
117
118 Fix grub-emu build on FreeBSD.
119
120 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
121 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
122 headers on Linux.
123 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
124 implementation is currently Linux-specific.
125 * util/getroot.c (exec_pipe): Define only on Linux or when either
126 libzfs or libnvpair is unavailable.
127 (find_root_devices_from_poolname): Remove unused path variable.
128
86d08fdb
CW
1292012-09-19 Colin Watson <cjwatson@ubuntu.com>
130
131 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
132 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
133 should fit before end == 63.
134
735abf54
CW
1352012-09-19 Colin Watson <cjwatson@ubuntu.com>
136
137 * util/grub-setup.c (write_rootdev): Remove unused core_img
138 parameter. Update all callers.
139 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
140 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
141 GRUB_SETUP_BIOS.
142
140acd3c
VS
1432012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * util/grub-mkconfig_lib.in (grub_tab): New variable.
146 (grub_add_tab): New function.
147 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
148 * util/grub.d/10_illumos.in: Likewise.
149 * util/grub.d/10_kfreebsd.in: Likewise.
150 * util/grub.d/10_linux.in: Likewise.
151 * util/grub.d/10_netbsd.in: Likewise.
152 * util/grub.d/10_windows.in: Likewise.
153 * util/grub.d/10_xnu.in: Likewise.
154 * util/grub.d/20_linux_xen.in: Likewise.
155 * util/grub.d/30_os-prober.in: Likewise.
156
7ddffdad
VS
1572012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
160 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
161 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
162 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
163 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
164 ieee1275-nocursor.
165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
166 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
167
4e092454
VS
1682012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
171 le-conversion.
172 Reported by: BURETTE, Bernard.
173
735abf54 1742012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
175
176 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
177 from comment.
178
dfd39dbd
CW
1792012-09-14 Colin Watson <cjwatson@ubuntu.com>
180
181 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
182 IEEE1275 machines. Fixes powerpc-emu compilation.
183 * include/grub/terminfo.h: Likewise.
184
3bfa763c
VS
1852012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
188 a const pointer.
189 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
190 const pointer.
191 (efiemu_set_variable): Make vendor_guid a const pointer.
192
250e475b
VS
1932012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Don't require grub-mkconfig_lib to generate manpages for programs.
196
197 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
198 dependencies, don't add grub-mkconfig_lib.
199 (program): Pass empty adddeps.
200 (script): Pass grub-mkconfig_lib as adddeps.
201
592fd0e4
VS
2022012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
205 * util/getroot.c (grub_find_device): Likewise.
206 (get_mdadm_uuid): Likewise.
207 (grub_util_is_imsm): Likewise.
208 (grub_util_pull_device): Likewise.
209 * util/grub-probe.c (probe): Likewise.
210
801a3027
BG
2112012-09-10 Benoit Gschwind <gschwind>
212
213 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
214 (devs): Add devpath_8.
215
c5052c81
PJ
2162012-09-08 Peter Jones <pjones@redhat.com>
217
218 * grub-core/Makefile.core.def (efifwsetup): New module.
219 * grub-core/commands/efi/efifwsetup.c: New file.
220 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
221 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
222 New define.
223 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
224
8e832f71
JS
2252012-09-05 Jiri Slaby <jslaby@suse.cz>
226
227 * configure.ac: Add SuSe path.
228
f0f55752
CW
2292012-09-05 Colin Watson <cjwatson@ubuntu.com>
230
231 * NEWS: Fix typo.
232
ecadc4c2
CW
2332012-09-05 Colin Watson <cjwatson@ubuntu.com>
234
235 * util/import_gcry.py: Sort cipher_files, to make build system
236 generation more deterministic.
237
64498f25
VS
2382012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
241 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
242 (grub_set_datetime): Likewise.
243
9cc836a2
VS
2442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
247 warnings.
248
bcfcea01
VS
2492012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
252
a4099485
VS
2532012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
256
265c162a
CW
2572012-09-04 Colin Watson <cjwatson@ubuntu.com>
258
259 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
260 required for checkouts from bzr, but it may be useful for users or
261 distributors wishing to update translations against a tarball
262 distribution, and it can be helpful for the tarball to be a superset
263 of what's in bzr.
264
3d171e95
CW
2652012-09-04 Colin Watson <cjwatson@ubuntu.com>
266
267 * Makefile.am (EXTRA_DIST): Add
268 grub-core/tests/boot/linux.init-mips.S,
269 grub-core/tests/boot/linux.init-ppc.S, and
270 grub-core/tests/boot/linux-ppc.cfg.
271
f2c2503e
CW
2722012-09-04 Colin Watson <cjwatson@ubuntu.com>
273
274 * grub-core/mmap/mips/loongson: Remove empty directory.
275
2762012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
277
278 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
279 gone.
280
ab2163d5
CW
2812012-09-04 Colin Watson <cjwatson@ubuntu.com>
282
283 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
284 grub-sparc64-setup.
285
ce938140
GS
2862012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
287
288 * configure.ac: Strengthen the test for working -nostdinc -isystem.
289
529f58a5
GS
2902012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
291
292 * po/POTFILES.in: Regenerated.
293
16cf79e9
GS
2942012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
295
296 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
297 (NetBSD): New subsection.
298
39b27f1e 2992012-07-22 Ales Nesrsta <starous@volny.cz>
300
301 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
302 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
303
a885261b
VS
3042012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
307 * util/grub.d/10_hurd.in: Add missing quoting.
308 * util/grub.d/10_illumos.in: Likewise.
309 * util/grub.d/10_kfreebsd.in: Likewise.
310 * util/grub.d/10_linux.in: Likewise.
311 * util/grub.d/20_linux_xen.in: Likewise.
312
7bd29c01
VS
3132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
314
315 New command `lsefi'.
316
317 * grub-core/Makefile.core.def (lsefi): New module.
318 * grub-core/commands/efi/lsefi.c: New file.
319 * include/grub/efi/api.h: Add more GUIDs.
320
ac625d8f
VS
3212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
324 (grub_bsd_elf32_hook): Likewise.
325 (grub_bsd_elf64_size_hook): Likewise.
326 (grub_bsd_elf64_hook): Likewise.
327 (grub_bsd_load_elf): Likewise.
328
e73bb801
VS
3292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
332 if hash function is unavailable.
333 (dec_stream_header): Likewise.
334
e81db8b5
VS
3352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
338 filter state.
339
d187a1c3
VS
3402012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Fix coreboot compilation.
343
344 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
345 (grub_vga_text_init_real): ... this.
346 (grub_vga_text_fini): Rename to ...
347 (grub_vga_text_fini_real): ... this.
348
91a05f64
VS
3492012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
352
6af96df7
VS
3532012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/lib/legacy_parse.c: Support clear and testload.
356
4d569e12
VS
3572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
360
073b57bb
VS
3612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/fs/ext2.c: Experimental support for 64-bit.
364
a706f4cc
VS
3652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/net/tftp.c (ack): Fix endianness problem.
368 (tftp_receive): Likewise.
369 Reported by: Michael Davidsaver.
370
e7850aa9
VS
3712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * gentpl.py: Make mans depend on grub-mkconfig_lib.
374
3752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
378 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
379 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
380
35692881
VS
3812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
384 efi_mmap_size.
385 Reported by: Stuart Hayes.
386
c35fc5bd
VS
3872012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
390
391 * grub-core/Makefile.core.def (mda_text): New module.
392 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
393 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
394 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
395 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
396 here.
397 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
398 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
399 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
400 here.
401 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
402 to ..
403 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
404 ... here
405 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
406 here.
407 * grub-core/term/i386/vga_common.c: Removed.
408 * include/grub/i386/vga_common.h: Likewise.
409 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
410 (grub_vga_cr_bw_read): Likewise.
411 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
412 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
413 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
414 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
415 grub_vga_cr_read/grub_vga_cr_write.
416 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
417
5f91f701
VS
4182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * configure.ac: Bump version to 2.00.
421 * grub-core/normal/main.c (features): Add feature_200_final.
422
0c4f85f6
VS
4232012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4242012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
425
426 * NEWS: Fix unclarity and language mistakes.
427
f923ad22
VS
4282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
431 additional size to 3 pages.
432 Reported by: Stuart Hayes.
433
d22029ba
VS
4342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * NEWS: Add 2.00 entry.
437
58eee08f
VS
4382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
441 put explicit "/" for empty path.
442 (wildcard_expand): Improve dprintf.
443
c59bdff7
VS
4442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
447 it's equal to currnode. This can happen with "" symlink.
448
5e6a440a
YB
4492012-06-27 Yves Blusseau <blusseau@zetam.org>
450
451 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
452 echo shell command by printf command.
453
73a68bcb
VS
4542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
457 the value returned by firmware is the maximal position, not diumension.
458 (grub_terminfo_output_state): Use a more sane fallback.
459
392a603b
VS
4602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
463
42d0867f
VS
4642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
467 frequency to 150 MHz.
468
489509f4
VS
4692012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
470
471 Apple fixes.
472
473 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
474 __APPLE_
475 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
476 definition.
477 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
478
9f3fc883
VS
4792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Handle slash in HFS label.
482
483 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
484 (grub_hfs_dir): Tanslate slash.
485 (grub_hfs_label): Don't translate slash.
486
54853fd7
VS
4872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
490 network protocol listing since it introduces problematic dependency on
491 net module.
492
4dc02ddf
VS
4932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
496
c50c867d
VS
4972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Init video early on yeeloong to avoid being rebooted by watchdog.
500
501 * grub-core/Makefile.am (gensm712): New target.
502 (sm712_start.S): Likewise.
503 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
504 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
505 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
506 description.
507 * include/grub/vga.h: Move registry definitions to...
508 * include/grub/vgaregs.h: ... here.
509
5f92c8a1
VS
5102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
513 signedness.
514
e9e6f111
VS
5152012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
518 platforms with firmware disk drivers in the core.
519
754ad9eb
VS
5202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
523 informative verbose message.
524 (read_lv): Handle 64-bit segment size.
525
315654c2
VS
5262012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
529
fb022c79
VS
5302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
533 character but still remove trainling spaces.
534 (grub_fat_label): Ignore archive flag.
535
8645f72c
VS
5362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
539 cast between linux_kernel_header and linux_kernel_params.
540
36498496
VS
5412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
544 type for size.
545 (grub_raid6_recover_func_t): Likewise.
546 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
547 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
548
0b5ea6b8
VS
5492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
552
650cfcfe
GS
5532012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
554
555 Fix overflow.
556
557 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
558 [__NetBSD__]: Add explicit cast before bitshift.
559
8a4d6a44
VS
5602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * configure.ac: Bump to 2.00~rc1.
563
2fb97ed3
VS
5642012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
567 half of $a0.
568
1fa097dc
VS
5692012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5702012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
571
572 * docs/grub.texi: Fix search syntax.
573 (Multi-boot manual config): Put msdos rather than GPT example.
574 Grammar corrections.
575
c890ba78
VS
5762012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
579
0f92dca7
VS
5802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
583
3988c4a0
VS
5842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
587 message on double free. Put the value of magic in case of mismatch.
588
9e86d4c5
VS
5892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Speed-up video on yeeloong.
592
593 * grub-core/video/sm712.c (framebuffer): Remove render_target and
594 add cached_ptr.
595 (grub_video_sm712_video_fini): Unmap cached_ptr.
596 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
597 (grub_video_sm712_set_active_render_target): Removed.
598 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
599 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
600 sync caches.
601
ed24c312
VS
6022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Avoid flushing the same line multiple times on loongson.
605
606 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
607 Step in 32 bytes and not 1 byte.
608 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
609 Likewise.
610
d1718e7d
VS
6112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
614 subvolumes.
615
982f1909
VS
6162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Implement flow control for http.
619
620 * grub-core/net/http.c (parse_line): Handle response 206.
621 (http_receive): Stall if too many packets are in the queue.
622 (http_establish): Fix range header.
623 (http_seek): Fix double free.
624 (http_close): Likewise.
625 (http_packets_pulled): New function.
626 (grub_http_protocol): Set http_seek
627 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
628 (ack_real): Set window depending on i_stall.
629 (grub_net_send_tcp_packet): Likewise.
630 (grub_net_tcp_stall): New function.
631 (grub_net_tcp_unstall): Likewise.
632 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
633 (grub_net_tcp_unstall): Likewise.
634
bd407d6e
VS
6352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/net/tftp.c: Decrease stall to 50 packets.
638
c7564b8e
VS
6392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
642
a3706162
VS
6432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * tests/util/grub-shell.in: Fix a typo.
646
b27069e0
VS
6472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Implement flow control for tftp.
650
651 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
652 packets but stop only if stop condition is satisfied.
653 (grub_net_fs_read_real): Call packets_pulled after real read. Use
654 `stall' instead of `eof' as stop condition.
655 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
656 (http_err): Likewise.
657 * grub-core/net/tftp.c (ack): Replace the first argument with data
658 instead of socket.
659 (tftp_receive): Stall if too many packets are in wait queue.
660 (tftp_packets_pulled): New function.
661 (grub_tftp_protocol): Set packets_pulled.
662 * include/grub/net.h (grub_net_packets): New field count.
663 (grub_net_put_packet): Increment count.
664 (grub_net_remove_packet): Likewise.
665 (grub_net_app_protocol): New field `packets_pulled'.
666 (grub_net): New field `stall'.
667
6b9cfac6
VS
6682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
671 sync part to handle them.
672
f35abd81
VS
6732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
676 * grub-core/net/drivers/ieee1275/ofnet.c
677 (grub_ieee1275_net_config_real): Likewise.
678
0e7ec820
VS
6792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
682 the direct route for server/gateway.
683
9d611a31
VS
6842012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
687 IP address to server name since we may not hame the DNS.
688
418f45ab
VS
6892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
692 freeing random buffer on failure.
693 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
694
44a0efc1
VS
6952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
698
531e2241
VS
6992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
702 reserved bytes.
703 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
704 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
705 Handle malloc error correctly.
706
cde393c9
VS
7072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
710 blocks.
711
538478d0
VS
7122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
715 increment.
716
9b55efe0
VS
7172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
720 none is explicitly specified.
721
9eb832c3
VS
7222012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
725 while reallocating.
726
d6b7c7c9
VS
7272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
728
729 Respect netmask from bootp/dhcp.
730
731 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
732 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
733 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
734 into ...
735 (grub_net_add_ipv4_local): ... this.
736 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
737 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
738 (grub_net_add_ipv4_local): New proto.
739
67caf9eb
VS
7402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
743 determining EFI memory map size.
744
43657558
VS
7452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
748
eb6d0dd3
VS
7492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
752 when looking for partition separator.
753
31230544
VS
7542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
757 Escape commas.
758
918a2517
VS
7592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
760
761 Restructure FAT driver to avoid hook in label reading as it hits a
762 GCC bug.
763
764 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
765 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
766 (grub_fat_iterate_dir): Split into ...
767 (grub_fat_iterate_init): ... this, ...
768 (grub_fat_iterate_fini): ... this, ...
769 (grub_fat_iterate_dir_next): ... and this. All users updated.
770
9f1d654e
VS
7712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
774 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
775 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
776 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
777 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
778 New fields last_key and last_key_time.
779 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
780 extended key-esc into extended key-extended key.
781
52f0f643
VS
7822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
783
784 Avoid unnecessary memcpy of whole video buffer.
785
786 * grub-core/video/fb/video_fb.c (dirty): New struct.
787 (framebuffer): Add members current_dirty and previous_dirty.
788 (dirty): New function.
789 (grub_video_fb_fill_rect): Update dirty.
790 (common_blitter): Likewise.
791 (grub_video_fb_scroll): Likewise.
792 (doublebuf_blit_update_screen): Copy only dirty part.
793 (doublebuf_pageflipping_update_screen): Likewise.
794 (grub_video_fb_doublebuf_blit_init): Init dirty.
795 (doublebuf_pageflipping_init): Likewise.
796 (grub_video_fb_setup): Likewise.
797
e169a180
VS
7982012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
801 poll rate.
802
48556879
VS
8032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Fix wildcard regexp dot and other special characters handling.
806 Reported by: Robert Mabee.
807
808 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
809 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
810 (split_path): Trigger expansion on '?'.
811 (unescape): New function.
812 (wildcard_expand): Unescape parts copied without globbing.
813 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
814 (grub_script_arglist_to_argv): Don't unescape expansions.
815
0494408e
VS
8162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * include/grub/net.h (grub_net_card): New member txbufsize.
819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
820 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
821 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
822 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
823 txbufsize.
824 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
825 compatible property to check for macs. Set
826 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
827 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
828 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
829 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
830 (send_card_buffer): Use txbuf.
831 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
832 nested function out of the parent while on it.
833
cc35fe8f
VS
8342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
837 presence check.
838 (grub_ieee1275_net_config_real): Fix config pointer.
839
970a0a09
VS
8402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
843 filename parsing to non-block devices.
844
3e19bf87
VS
8452012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/kern/device.c (grub_device_open): Remove dead code.
848
c62d1a0c
VS
8492012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
852 All users updated.
853
ef76bec3
VS
8542012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
857 UUID search command even if hints probing failed.
858
8592012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
860
861 * po/POTFILES.in: Regenerated.
862
70aaf305
VS
8632012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Speed-up video on fuloong.
866
867 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
868 New function.
869 (grub_pci_device_unmap_range): Handle non-cached address.
870 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
871 add direct_ptr.
872 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
873 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
874 (grub_video_sis315pro_set_active_render_target): Removed.
875 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
876 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
877 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
878 sync caches.
879 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
880 New proto.
881
10400f0b
VS
8822012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * docs/grub.texi (Multi-boot manual config): New section.
885
ba67e2c6
VS
8862012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Avoid slow read-back from VRAM.
889
890 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
891 Move from here ...
892 * grub-core/video/fb/video_fb.c
893 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
894 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
895 (front_target): Remove front_target. Add pages.
896 (grub_video_fb_init): Skip setting front_pages.
897 (grub_video_fb_fini): Likewise.
898 (doublebuf_blit_update_screen): Use pages.
899 (grub_video_fb_doublebuf_blit_init): Likewise.
900 (doublebuf_pageflipping_init): Allocate offscreen buffer.
901 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
902 (grub_video_fb_setup): Prefer doublebuffing.
903
377c98cb
VS
9042012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
907 gzio.
908
eac49cff
VS
9092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
910
911 Add loongson tests.
912
913 * tests/util/grub-shell.in: Handle loongson.
914 * tests/partmap_test.in: Add loongson to the list of platform using ATA
915 drivers.
916 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
917 Reboot instead of shutdown if REBOOT is defined.
918
0321415e
VS
9192012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
922 sized ports since unlike on real hardware qemu supports only 32-bit
923 regs.
924
3f2bdd8f
VS
9252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * Makefile.util.def (grub-mkrescue): Enable on loongson.
928 * util/grub-mkrescue.in: Handle loongson.
929
29a049c9
VS
9302012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
933 Set is_part appropriately.
934 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
935 names. Canonicalize partition without full disk.
936
4abde346
VS
9372012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
938
939 Revert usb-quiesce since it's wrong.
940
941 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
942 (grub_ofdisk_init): Don't do quiesce.
943
61f1d93b
VS
9442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
947 PowerMac workaround to Xserves as well.
948 Information supplied by: Benjamin Herrenschmidt.
949
a09eb541
VS
9502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
951
952 Don't assume that beginning address is also the entry point on ppc.
953
954 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
955 (grub_linux_boot): Use linux_entry.
956 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
957 (grub_linux_load64): Likewise.
958
505b3c9b
VS
9592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
962
cbe0b4ef
VS
9632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
966 needlessly lose the console.
967
3006e981
VS
9682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
971 space.
972
4e5a96b0
VS
9732012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
974
7da036bb
VS
975 Remove non-functional EFI grub_get_rtc. Put a better fatal message
976 than current grub_get_rtc() not implemented when booted with
977 coreboot without TSC.
978
979 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
980 Add machine/time.h to kernel headers on loongson.
981 * grub-core/Makefile.core.def (kernel): Remove
982 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
983 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
984 (grub_get_rtc): Likewise.
985 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
986 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
987 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
988 * grub-core/kern/i386/tsc.c (grub_tsc_init)
989 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
990 rather than installing known non-working time source.
991 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
992 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
993 * include/grub/time.h: Don't include machine/time.h.
994 * include/grub/efi/time.h: Removed.
995 * include/grub/i386/efi/time.h: Likewise.
996 * include/grub/i386/ieee1275/time.h: Likewise.
997 * include/grub/powerpc/ieee1275/time.h: Likewise.
998 * include/grub/sparc64/ieee1275/time.h: Likewise.
999 * include/grub/x86_64/efi/time.h: Likewise.
1000
10012012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1004
1005 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1006 value.
1007 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1008 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1009 with dotless variants when any combining above is present.
1010
5561c22d
VS
10112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1014 text and not binary.
1015
96f7e60e
VS
10162012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Stop polling as soon as we have the packet we were waiting for.
1019
1020 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1021 All users updated.
1022 * grub-core/net/arp.c (have_pending): New var.
1023 (pending_req): Likewise.
1024 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1025 stop indicator.
1026 (grub_net_arp_receive): Set have_pending.
1027 * grub-core/net/dns.c (recv_data): New field stop.
1028 (recv_hook): Set stop.
1029 (grub_net_dns_lookup): Init stop and use as stop condition.
1030 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1031 condition.
1032 * grub-core/net/net.c (grub_net_poll_cards): New argument
1033 stop_condition. Stop when it goes true.
1034 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1035 indicator.
1036 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1037
3e747239
VS
10382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 Keep TX and RX buffers on EFI rather than always allocate new ones.
1041
1042 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1043 card. All users updated.
1044 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1045 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1046 (get_card_packet): Likewise.
1047 (grub_efinet_findcards): Init new fields.
1048
f695e99a
VS
10492012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1052 compilation error on sparc64.
1053
9e5e66d1
VS
10542012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Use ITC on IA64 rather than broken routine based on daytime.
1057
1058 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1059 ia64.
1060 (grub_get_rtc) [__ia64__]: Likewise.
1061 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1062 (get_itc): New function.
1063 (grub_rtc_get_time_ms): Likewise.
1064 (grub_machine_init): Calibrate ITC.
1065 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1066 Keep only on non-ia64. Don't export since it's broken and used only
1067 if TSC is unavailable.
1068
a1767404
VS
10692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1072 even if it's used.
1073 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1074 Skip if parent is unused.
1075
34b2bced
VS
10762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1079
5e619f40
VS
10802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Fix wildcard escaping.
1083
1084 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1085 * grub-core/script/execute.c (wildcard_escape): .. to here.
1086 Don't escape dot.
1087 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1088 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1089 Don't escape dot.
1090 * grub-core/script/execute.c (gettext_append): Always escape.
1091 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1092 * grub-core/script/yylex.l: Don't cut away the escaping.
1093 * tests/grub_script_echo1.in: Add tests with wildcard.
1094
c8ca5855
VS
10952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1098 (ftdi_hw_configure): Likewise.
1099 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1100 define.
1101 (real_config): Handle 1.5 stop bits.
1102 (pl2303_hw_configure): Likewise.
1103
7183452c
VS
11042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * Makefile.am: Add ppc linux bootcheck.
1107 * grub-core/tests/boot/linux-ppc.cfg: New file.
1108 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1109
f57c84cd
VS
11102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * tests/grub_script_expansion.in: Skip network protocols.
1113
ecfc6207
VS
11142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1117
8d03d284
VS
11182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1121 --rom-directory.
1122 Add -graft-points.
1123
61c42af0
VS
11242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 ESCC serial driver for conducting sautomated tests in qemu.
1127 Not tested on real hardware.
1128
1129 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1130 * grub-core/term/ieee1275/escc.c: New file.
1131 * grub-core/Makefile.core.def (escc): New module.
1132
08fd1291
VS
11332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1136 invalid on error.
1137 (serial_hw_fetch): Don't read invalid handle.
1138 (serial_hw_put): Don't write into invalid handle.
1139
08dafeea
VS
11402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Add a 1.5 stop bits value.
1143
1144 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1145 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1146 GRUB_SERIAL_STOP_BITS_1_5.
1147
9068fdcf
VS
11482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1151 value rather than let it uninited.
1152
f4d5820f
VS
11532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/commands/wildcard.c (+check_file): New function.
1156 (wildcard_expand): Don't expand to non-existing files, expand with
1157 suffix and not attempt to expand if not needed.
1158
3d2de9a7
VS
11592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1162 out of partitions containing other partitions.
1163
c5c81ff9
VS
11642012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1167 on some qemu versions with GRUB.
1168
1169 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1170 define.
1171 (grub_openbsd_bootarg_pcibios): New struct.
1172 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1173 Add PCIINFO.
1174
08a14e0b
VS
11752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * tests/util/grub-shell.in: Trim firmware output on EFI.
1178
cede3ca3
VS
11792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1182 and coreboot since it's already in kernel.
1183
558d3a60
VS
11842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1187 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1188 to here. New return value start. All users updated.
1189 Recursively scan linear mappings.
1190 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1191 proto.
1192 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1193 Use grub_util_get_dm_node_linear_info.
1194 * util/getroot.c (convert_system_partition_to_system_disk): Use
1195 grub_util_info rather than grub_dprintf.
1196 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1197
60fde14d
VS
11982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1201
1202 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1203 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1204
24bd8838
VS
12052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * include/grub/types.h (grub_set_unaligned64): New function.
1208 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1209 (setup): Likewise.
1210
7bc06a49
VS
12112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1214 (grub_ofdisk_fini): Quiesce USB devices.
1215
49cea015
VS
12162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1219 caches.
1220
8dcbe03b
VS
12212012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1224
5b258735
VS
12252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/disk/pata.c (grub_pata_pio_read)
1228 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1229 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1230
37ba07eb
VS
12312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 Extend automated tests to qemu-mips.
1234
1235 * Makefile.am: reorganise tests and enable qemu-mips.
1236 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1237 * grub-core/tests/boot/linux.init-mips.S: New file.
1238 * tests/partmap_test.in: Handle ata0 disks.
1239 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1240 non-pc i386.
1241
070038f8
VS
12422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1245 ia64.
1246 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1247 quotes while on it.
1248
004be2cd
VS
12492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1252 (grub_halt): Likewise.
1253 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1254
b1622487
VS
12552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/term/serial.c (grub_serial_register)
1258 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1259 the behaviour in line with x86 platforms.
1260
b7b4ab33
VS
12612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1264 (grub_ata_strncpy): Likewise.
1265 (grub_ata_identify): Add missing byteswaps.
1266
5e3535ae
VS
12672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1270 byte-swap.
1271 (screen_read_char): Likewise.
1272 (grub_vga_text_cls): Likewise.
1273
c21b17e6
VS
12742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1277 filenames.
1278 (make_file_path): Likewise.
1279
bf293dec
VS
12802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1283 machines.
1284 Tested by: Paulo Flabiano Smorigo.
1285 Crucial information about API supplied by: Coleen <Last name unknown>.
1286 Reviewed by: Coleen <Last name unknown>.
1287
81f6ef0e
VS
12882012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * util/grub-mkimage.c: Disable -Wcast-align.
1291
7284143a
VS
12922012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1295 as they are fatal.
1296
b99f3e00
VS
12972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1300
944f752d
VS
13012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * util/grub-probe.c (escape_of_path): Fix double free.
1304
6cce6f38
VS
13052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/commands/videoinfo.c (hook): Show pitch.
1308
1e1eb50e
VS
13092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1312
1c715b5a
VS
13132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1316 (probe): Add ieee1275 to OFW devices.
1317
007ae52d
VS
13182012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1321
4557a36d
VS
13222012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Handle IBM OFW path.
1325
1326 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1327 available.
1328 (of_path_of_scsi): Handle vdevice.
1329
efbeefe9
VS
13302012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1333 Allocate in multiples of 16 to avoid adding a few bytes free region the
1334 windows bugs upon.
1335
15a940bb
VS
13362012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1339 Allocate in multiples of 16 to avoid adding a few bytes free region the
1340 windows bugs upon.
1341 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1342
6e5efd60
VS
13432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1346 resolutions.
1347 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1348 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1349
0d3d137e
IS
13502012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1351
1352 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1353
45dbe300
VS
13542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1357 resulted in \\ at the end of the line.
1358
6d8db947
VS
13592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1362 (grub_parser_cmdline_state): Likewise.
1363 (grub_parser_split_cmdline): Likewise.
1364
de89d338
VS
13652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1368 /dev/root and /dev/dm-*.
1369
00d41dee
VS
13702012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1373 fix partially stale display.
1374
f95d1f11
VS
13752012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1378 substraction.
1379
6297e197
VS
13802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1383 Fix MBR remapping workaround.
1384 (grub_util_biosdisk_read) [__linux__]: Likewise.
1385
8a7ecad3
VS
13862012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1389
2b34f944
VS
13902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * configure.ac: Bump to beta6.
1393
684aef11
CW
13942012-05-31 Christer Weinigel <christer@weinigel.se>
1395
1396 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1397
05b0bb91
VS
13982012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1401 (grub_cmd_linux): Likewise.
1402
bda36bfa
CW
14032012-05-31 Christer Weinigel <christer@weinigel.se>
1404
1405 Fix EHCI low-speed.
1406
1407 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1408 (GRUB_EHCI_MULT_TWO): Likewise.
1409 (GRUB_EHCI_MULT_THREE): Likewise.
1410 (GRUB_EHCI_CMASK_MASK): New enum value.
1411 (GRUB_EHCI_SMASK_MASK): Likewise.
1412 (GRUB_EHCI_CMASK_OFF): Likewise.
1413 (GRUB_EHCI_SMASK_OFF): Likewise.
1414 (grub_ehci_pci_iter): Enable periodic schedule.
1415 (grub_ehci_parse_notrun): Likewise.
1416 (grub_ehci_restore_hw): Likewise.
1417 (grub_ehci_setup_qh): Set flags for low speed transfers.
1418 (grub_ehci_find_qh): Use periodic list for low speed.
1419 (grub_ehci_setup_transfer): Check periodic queue as well.
1420 (grub_ehci_check_transfer): Likewise.
1421 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1422
e12bcb1c
PFS
14232012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1424
1425 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1426 parameter is used.
1427
bcc75fb3
PJ
14282012-05-31 Peter Jones <pjones@redhat.com>
1429
1430 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1431 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1432 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1433
f19cb95e
VS
14342012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1437 uninited variable. Allocate at least setup_sects.
1438
a4e5ca80
VS
14392012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Fix handling of EFI with big memory maps.
1442
1443 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1444 (real_mode_mem): Likewise.
1445 (real_mode_target): Likewise.
1446 (real_mode_pages): Likewise.
1447 (prot_mode_pages): Likewise.
1448 (linux_params): New var.
1449 (linux_cmdline): Likewise.
1450 (free_pages): Don't set real mode variables.
1451 (allocate_pages): Don't allocate real mode memory.
1452 (grub_e820_add_region): Remove the limit.
1453 (grub_linux_boot): Allocate and copy real mode memory.
1454 (grub_linux_unload): Free linux_cmdline.
1455 (grub_cmd_linux): Use temporary storage for parameters.
1456 (grub_cmd_initrd): Likewise.
1457 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1458 (linux_kernel_params): Make it 1K big.
1459
ddb73558
VS
14602012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * Makefile.util.def: Remove -Wno-format.
1463 * grub-core/Makefile.core.def: Likewise.
1464
1c4afb60
VS
14652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * tests/cmp_unit_test.c: Add missing failure message.
1468 * tests/example_unit_test.c: Likewise.
1469 * tests/printf_unit_test.c: Likewise.
1470
941e3a6d
VS
14712012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1474 relaxation of protective MBR requirements.
1475
b105df76
VS
14762012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * configure.ac: Add condition for COND_HOST_XNU.
1479 * Makefile.util.def (10_xnu): New script.
1480 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1481
84e1569e
VS
14822012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1485 objconv bug.
1486
130c0f77
VS
14872012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1490 Binary on other platforms stays identical.
1491
6fd0b143
VS
14922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1495 Apple.
1496
0af1751d
VS
14972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1500
176d5f7d
VS
15012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1504 rather than defining size_t ourselves to avoid conflict.
1505
7de5e20a
VS
15062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1509 initialisation to avoid __bzero reference.
1510
f7143efe
VS
15112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1514 version.
1515 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1516 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1517 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1518 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1519 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1520
e6ad0555
VS
15212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1524 * grub-core/kern/misc.c: Likewise.
1525 * grub-core/loader/i386/xnu.c: Likewise.
1526 * include/grub/i386/tsc.h: Likewise.
1527 * include/grub/symbol.h: Likewise.
1528
4a5a3c4a
VS
15292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1532 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1533 on older compiler.
1534
037f6d90
VS
15352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1538 Implement Apple flavour.
1539 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1540
f7194551
VS
15412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1544 (memmove) [__APPLE__]: Likewise.
1545 (memcpy) [__APPLE__]: Likewise.
1546 (memset) [__APPLE__]: Likewise.
1547 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1548 (memmove) [__APPLE__]: Likewise.
1549 (memcpy) [__APPLE__]: Likewise.
1550 (memset) [__APPLE__]: Likewise.
1551
85a730ca
VS
15522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1555 dependency discard.
1556
40e80b94
VS
15572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/normal/main.c (read_config_file): Provide config_file and
1560 config_directory.
1561 * util/grub.d/41_custom.in: Use config_directoy when available.
1562
9da59c32
VS
15632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1566 (grub_bfs_dir): Likewise.
1567
2787ae53
PJ
15682012-05-27 Peter Jones <pjones@redhat.com>
1569
1570 The old code gives arguments to a printf function which can't work
1571 correctly, and the compiler complains.
1572
1573 * grub-core/tests/example_functional_test.c (example_test): Add
1574 missing text.
1575 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1576 * include/grub/test.h (grub_test_assert_helper): New declaration.
1577 (grub_test_assert): Use grub_test_assert_helper.
1578
526ef13d
VS
15792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1582 (exfctest): ... this to avoid overlong filenames.
1583 All users updated.
1584
20dd511c
VS
15852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 Handle "." and ".." on squashfs.
1588
1589 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1590 Make inode numbers into stack.
1591 (grub_squash_read_symlink): Use stack.
1592 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1593 (make_root_node): Fill stack.
1594 (grub_squash_open): Use stack.
1595
1d80c62a
VS
15962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1599 freeing.
1600
d336f652
VS
16012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1604 stderr on test calls.
1605
8b43f587
VS
16062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1609
80a3dc3f
VS
16102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1613
47e297d4
VS
16142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1617 "..".
1618
df042ccb
VS
16192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1622 (grub_hfsplus_iterate_dir): Add "." and "..".
1623
fc977f48
VS
16242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1627 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1628
f3250e5f
VS
16292012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1632 (find_path): Handle "." and "..".
1633
fd8ed4c5
VS
16342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1637 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1638 (grub_affs_iterate_dir): Handle hardlinks.
1639
4ce776d2
MG
16402012-05-26 Matthew Garrett <mjg@redhat.com>
1641
1642 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1643 (grub_efi_console_fini): Likewise.
1644 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1645 (grub_video_gop_fill_mode_info): Rename to ...
1646 (grub_video_gop_fill_real_mode_info): ... this.
1647 (grub_video_gop_fill_mode_info): New function.
1648 (grub_video_gop_setup): Setup double framebuffer.
1649 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1650 Free offscreen.
1651 (grub_video_gop_swap_buffers): Copy framebuffer.
1652 (grub_video_gop_fini): Free offscreen buffer.
1653 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1654 New enum.
1655 (grub_efi_gop_blt_pixel): New struct.
1656
683031ba
VS
16572012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * gentpl.py: Remove error disabling for objconv.
1660
c2deb798
VS
16612012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * configure.ac: Remove -Wunitialized as it's not available on older
1664 compilers.
1665
16662012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1667
1668 Fix extent overflow comparator.
1669
1670 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1671 (grub_hfsplus_read_block): Set type.
1672 (grub_hfsplus_cmp_extkey): Compare type.
1673
d6b1fd36
VS
16742012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1677
0a9aa0f6
VS
16782012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1681 than 0.
1682
8360e159
VS
16832012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1686 (dejavu_bold_14.pf2): New target.
1687
501b9e4b
VS
16882012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * configure.ac: Fix djvu font detection.
1691
7026b0e2
VS
16922012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1695 ext* instead of ext2.
1696
c2a51ade
VS
16972012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1700 name with \0.
1701
8f803a5d
JU
17022012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1703
1704 * docs/grub-dev.texi: Remove dot from .png.
1705
13c6353f
VS
17062012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1709 protective entry in any slot.
1710 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1711 if protective entry is found in any slot.
1712
1713 Protective entry in non-first slot make no sense but is a widespread
1714 brain damage.
1715
4cf6be1b
VS
17162012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1719
937d1c44
VS
17202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1723 with old reiserfs.
1724 (grub_reiserfs_open): Don't free root.
1725
021d90ec
VS
17262012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1729 after freeing for safety.
1730
967b2b64
VS
17312012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1734 Reported by: Jordan Uggla.
1735
34274d02
JU
17362012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1737
967b2b64
VS
1738 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1739 actual implementation. Specifically, clarify that the grub menu will
1740 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1741 passed.
34274d02 1742
dcaaae9d
BH
17432012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1744
1745 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1746 of r0.
1747
7086ad52
VS
17482012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 Remove unjustified hard dependency of normal.mod on gfxterm.
1751
1752 * include/grub/term.h (grub_term_output): New member fullscreen.
1753 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1754 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1755 (grub_gfxterm): Set .fullscreen.
1756 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1757 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1758
37ed2c9b
VS
17592012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1762 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1763 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1764
a4469c88
VS
17652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1768
4e461486
VS
17692012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1772 a bad FS.
1773
aa78f5c4
VS
17742012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1777 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1778
197626b5
VS
17792012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1782 (grub_jfs_mount): Fill caseins.
1783 (grub_jfs_find_file): Respect caseins.
1784
8ad3f28c
VS
17852012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1788 through UTF-16.
1789
0c6c324e
VS
17902012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1793 New argument origpath. All users updated.
1794
c6666ba6
VS
17952012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1798 (read_attr): Ensure that we read start of possibly compressed block.
1799
e28e5fe5
VS
18002012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1803 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1804 All users updated.
1805
5fc23ab2
VS
18062012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1809 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1810 (dejavu.pf2): Replace with ...
1811 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1812 this.
1813
79dbc21c
VS
18142012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * util/grub.d/20_linux_xen.in: Add missing line.
1817
d2fcfb0c
VS
18182012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1821 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1822 (grub_utf16_to_utf8): Likewise.
1823
5560e9d6
VS
18242012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1827 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1828 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1829 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1830 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1831 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1832
18332012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1834
1835 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1836 a bad FS.
1837
5560e9d6 18382012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1839
1840 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1841 (grub_udf_read_symlink): Handle read_string failure.
1842
5eae3175
VS
18432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1846 comment.
1847
c1ad82db
VS
18482012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Fix handling of UDF symlinks.
1851
1852 * grub-core/fs/udf.c (read_string): New argument outbuf.
1853 All users updated.
1854 (grub_ufs_read_symlink): Rename to ...
1855 (grub_udf_read_symlink): ... this. All users updated.
1856 Handle symlinks with more than one component.
1857
33eca6e0
VS
18582012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1861 symlinks. Replace leading colon with a slash.
1862
57f4a70b
VS
18632012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1866 filename.
1867
38c8ee20
VS
18682012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1871 match in inner node.
1872
2e57f28f
VS
18732012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1876 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1877 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1878 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1879 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1880 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1881 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1882 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1883 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1884
fe8c2f11
VS
18852012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Use grub-probe and not cmp to check that disk is empty.
1888
1889 * util/grub-install.in: Use grub-probe for zero-check.
1890 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1891 (probe): Handle PRINT_ZERO_CHECK.
1892 (argp_parser): Handle -t zero_check.
1893
18942012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1895
1896 Flush block cache on adding disk to device map.
1897
1898 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1899 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1900 adding.
1901 (read_device_map): Likewise.
1902 (open_device): Flush on opening.
1903
690434e8
VS
19042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1907 (handle_symlink): Fix off-by-one error.
1908 Canonicalize the target.
1909 (grub_cpio_dir): Canonicalize the name.
1910 Fix memory leak.
1911 Set directory.
1912 (grub_cpio_open): Canonicalize the name.
1913
742d2be6
VS
19142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1917 handling.
1918
3244fe96
VS
19192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1922 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1923
8aeb1837
VS
19242012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1927 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1928 All users updated.
8aeb1837 1929
9133fd05
VS
19302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1933 counterpart.
1934
6d521c5b
VS
19352012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Fix UFS1 big file support.
1938
1939 * grub-core/fs/ufs.c (INODE): Removed.
1940 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1941 64-bit.
1942 (INODE_MODE): Simplify.
1943 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1944 (grub_ufs_lookup_symlink): Don't use INODE.
1945
21b82e17
VS
19462012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1949
1950 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1951 (grub_minix_data): Replace log_block_size with block_size.
1952 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1953 (grub_minix_mount): Fill block_size.
1954
19552012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1956
1957 * configure.ac: Bump to beta5.
1958
f417ed04
VS
19592012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 Fix wrapped HFS+ handling.
1962
1963 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1964 blocks_start. All users updated.
1965 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1966 wrapping offset.
1967 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1968
607d282b
VS
19692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 Fix long symlinks on reiserfs.
1972
1973 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1974 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1975 (grub_reiserfs_iterate_dir): Save size for non-directories.
1976 (grub_reiserfs_open): Don't reread stat block as we already know the
1977 size.
1978 (grub_reiserfs_read): Split into...
1979 (grub_reiserfs_read_real): ... and ...
1980 (grub_reiserfs_read): ...this.
1981
ae16024d
VS
19822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 Fix non-indexed JFS.
1985
1986 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1987 (grub_jfs_data): New field namecomponentlen.
1988 (grub_jfs_mount): Fill namecomponentlen.
1989 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1990
eea1e26e
VS
19912012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1994 * tests/grub_script_echo1.in: Add tests.
1995
df760f77
VS
19962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * util/grub-install.in: Ignore empty devicetree directory.
1999
5efb817d
B
20002012-05-08 Bean <bean123ch@gmail.com>
2001
2002 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2003 All users updated.
2004 (free_rsm): Free header as well.
2005 (free_old_fragments): Fix memory leak.
2006 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2007 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2008 (destroy_pq): Likewise.
2009 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2010
668ea6d2
VS
20112012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2014 resulting hash as a precaution.
2015
1739b1fe
VS
20162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2019 '_' in variable names.
2020 * grub-core/net/net.c (grub_net_network_level_interface_register):
2021 Likewise.
2022
6ae485aa
VS
20232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 Fix AFFS with non-512B blocks.
2026
2027 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2028 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2029 (grub_affs_data): Replace blocksize with log_blocksize.
2030 (grub_affs_read_block): Fix non-512B blocks.
2031 (grub_affs_read_symlink): Likewise.
2032 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2033 (grub_affs_read): Fix non-512B blocks.
2034 (grub_affs_label): Likewise.
2035 (grub_affs_mtime): Likewise.
2036 (grub_affs_mount): Fix block detection routine.
2037
d20fab84
VS
20382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Add filesystem mtime to AFFS.
2041
2042 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2043 (aftime2ctime): New function.
2044 (grub_affs_dir): Use aftime2ctime.
2045 (grub_affs_label): Fix return value.
2046 (grub_affs_mtime): New function.
2047 (grub_affs_fs): Add mtime.
2048
e87b10f5
VS
20492012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2052 UTF-8.
2053
7dceec9b
VS
20542012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2057 UTF-8.
2058
2f48221f
VS
20592012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2062
dacd85cf
VS
20632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2066 flags.
2067 (FLAGS_CASE_SENSITIVE): New enum value.
2068 (cache_entry): New struct.
2069 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2070 cache_size and cache.
2071 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2072 Add log_blocksize and fshelp_flags.
2073 (grub_sfs_read_extent): Handle non-512 blocks.
2074 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2075 (grub_sfs_read_file): Handle non-512 blocks.
2076 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2077 fshelp_flags.
2078 (grub_sfs_read_symlink): Handle non-512 blocks.
2079 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2080 (grub_sfs_dir): Free cache.
2081 (grub_sfs_close): Likewise.
2082
24e9a854
VS
20832012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2086 filesystems.
2087
62ace64d
VS
20882012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2091
83b2e89c
VS
20922012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2095
75ccaea3
VS
20962012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2099 (grub_sfs_read_extent): Likewise.
2100 (grub_sfs_read_block): Likewise.
2101 (grub_sfs_mount): Likewise.
2102 (grub_sfs_iterate_dir): Likewise.
2103 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2104 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2105
1b8463f2
VS
21062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 Fix errors on compressed NTFS with 512B clusters.
2109
2110 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2111 types.
2112 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2113 not 0.
2114 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2115 Relax check for inline extents.
2116 (ntfscomp): Return correct -1 on error and not 0.
2117
4f8e368f
VS
21182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * util/grub-install.in: Fix handling of prefix containing spaces.
2121
6f5d5ee8
VS
21222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2125 (grub_squash_read_data): Fix offset byte-swapping.
2126
ce41ab7a
VS
21272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2130 per common usage and preffered in several parts of code.
2131 (grub_memcmp): Likewise.
2132 (grub_strncmp): Likewise.
2133 * include/grub/misc.h (grub_strcasecmp): Likewise.
2134 (grub_strncasecmp): Likewise.
2135 * Makefile.util.def (cmp_test): New test.
2136 (grub_script_strcmp): Likewise.
2137 * tests/cmp_unit_test.c: New file.
2138 * tests/grub_script_strcmp.in: Likewise.
2139 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2140
49717bf4
VS
21412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * include/grub/pci.h: Move enums into no-asm part.
2144
0a308f64
VS
21452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2148
1796965f
ST
21492012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2150
2151 * util/getroot.c (find_hurd_root_device): Try to make error message
2152 and comments to translators clearer.
2153
4e9b2819
VS
21542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2157
076aeb50
VS
21582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2161 btrfs.
2162
19424d94
VS
21632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * docs/grub.cfg: Update.
2166
ebb73076
VS
21672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * docs/grub.texi (PXE): Remove not present variables.
2170
9a1b669c
VS
21712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/net/net.c (defserver_set_env): New function.
2174 (defserver_get_env): Likewise.
2175 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2176
d38bf7d3
VS
21772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2180 entries.
2181
21822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2183
2184 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2185 * grub-core/kern/emu/hostdisk.c: Likewise.
2186
e5e4ca48
ST
21872012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2188
2189 Handle hurd userspace partitions.
2190
2191 * util/getroot.c (find_hurd_root_device): New function.
2192 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2193
56bb5dd5
VS
21942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2197 names.
2198 Reported by: Bastian Blank.
2199
9e8bc27a
VS
22002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2203 crossing page boundary.
2204
aa01499d
VS
22052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 Fix B-tree search in BFS, especially in presence of non-ASCII
2208 characters.
2209
2210 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2211 (find_in_b_tree): Use standard bsearch + btree algorithm.
2212
57006035
VS
22132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2216 and so on.
2217
9d34bb85
MG
22182012-05-03 Matthew Garrett <mjg@redhat.com>
22192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 Suspend broadcom cards in order to stop their DMA.
2222
2223 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2224 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2225 (pci): Don't build on x86 EFI.
2226 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2227 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2228 New function.
2229 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2230 stop_broadcom if running on EFI.
2231 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2232 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2233 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2234 (grub_pci_find_capability): New proto.
2235
01aab997
VS
22362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * docs/grub.texi: Remove dot from the extension as it apparently
2239 doesn't work with some makeinfo versions.
2240
fbd8dca6
VS
22412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2244 with GRUB expectance.
2245
dab797f4
VS
22462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2249
1516bfb4
VS
22502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2253 zero after directory block since last entry may be not 0-terminated if
2254 it ends on block boundary. Use continue instead of if spanning whole
2255 loop.
2256
a3a0eace
VS
22572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 Support 4K sectors UDF inline files.
2260
2261 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2262 (grub_udf_extended_file_entry): Likewise.
2263 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2264 All users updated.
2265 (get_fshelp_size): New function.
2266 (grub_udf_read_icb): Read whole block.
2267 (grub_udf_iterate_dir): Likewise.
2268 (grub_udf_dir): Likewise.
2269 (grub_udf_open): Likewise.
2270
c82f16c1
VS
22712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2274
59fd2aac
VS
22752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2278 inline symlinks in addition to workaround.
2279
3b4afb4d
VS
22802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2283
f45c794a
VS
22842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2287
f25cecbd
VS
22882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2291
bb9a34e8
VS
22922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Fix reiserfs big seek times.
2295
2296 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2297 exact. All users updated.
2298 (grub_reiserfs_read): Use nearest btree search for seeking.
2299 Fix return value on error.
2300
dc478aea
VS
23012012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2304 entries.
2305 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2306 * docs/grub.texi: Update menuentry description.
2307
8db10f47
VS
23082012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2311 crash when embedding onto filesystem.
2312
bcb288ed
VS
23132012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2316 name.
2317
a626fdd7
VS
23182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2321
b2f68477
VS
23222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2325 commit.
2326
ba15b2af
B
23272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23282012-05-01 Bean <bean123ch@gmail.com>
2329
2330 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2331
a188012e
VS
23322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2335 Special behaviour for len = 0 to read whole file isn't used anywhere and
2336 can cause buffer ovewrflows in several places.
2337
f0a53ed2
VS
23382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2341
5ed554f0
VS
23422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 Handle RAIDZ on non-512B sectors.
2345
2346 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2347 max_children_ashift.
2348 (fill_vdev_info_real): Fill max_children_ashift.
2349 (read_device): Use max_children_ashift.
2350
ddc58357
VS
23512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2354
e3282399
VS
23552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2358 disk names.
2359 * docs/grub.texi: Update device.map parts.
2360
ee618bd4
VS
23612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 Don't scan into non-diskfilter devices having diskfilter names.
2364
2365 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2366 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2367 handling.
2368 (scan_disk_hook): New function.
2369
bdf88864
B
23702012-04-29 Bean <bean123ch@gmail.com>
2371
2372 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2373 allocation.
2374
32745f51
MK
23752012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2376
2377 * configure.ac: Detect starfield theme font path
2378 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2379
bc95c8c0
VS
23802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2383 geometry on serial consoles.
2384
147fbcab
VS
23852012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2388 because of network consoles.
2389
0f42c889
VS
23902012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2393 handling.
2394
4a3594c9
VS
23952012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2398 falls on Q syndrom.
2399
5cb53879
VS
24002012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2403 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2404
b282dfe5
VS
24052012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2408 Allocate at lest 8192 for temporary buffer as required for lzo.
2409
daa59f47
VS
24102012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2413 to cluster_bits, since it's already added in.
2414 (grub_fat_read_data): Likewise.
2415
986748ce
VS
24162012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2419 as long as cluster size is multiple of 512 bytes.
2420
a20f6ad0
VS
24212012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/grub-mkrescue.in: Fix locale directory.
2424
385f9abb
VS
24252012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/kern/emu/hostdisk.c (map): Make static.
2428
1c557d30
B
24292012-04-23 Bean <bean123ch@gmail.com>
2430
2431 * util/grub-fstest.c (fstest): Add missing break.
2432
524b5d3a
ST
24332012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2434
2435 Fix hurd build.
2436
2437 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2438 not define nr variable.
fe4824e9 2439 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2440 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2441 grub_find_device): Do not define.
524b5d3a 2442
9a06490c
VS
24432012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Fix kfreebsd compile and behaviour.
2446
2447 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2448 format-security.
2449 * util/getroot.c: Fix wait.h include.
2450 (grub_guess_root_devices): Error if grub_find_device fails.
2451 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2452 (grub_util_get_dev_abstraction): Likewise.
2453 (grub_util_pull_device): Likewise.
2454 (grub_util_get_grub_dev): Likewise.
2455 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2456
48143d96
VS
24572012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Fix and unify wholedisk detection.
2460
2461 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2462 is_part. All users updated.
2463 (device_is_wholedisk): Removed.
2464 (grub_util_biosdisk_get_grub_dev): Use is_part.
2465
ebbd24f3
VS
24662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2469 mode.
2470
56f7aa1e
VS
24712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * configure.ac: Bump to beta4.
2474
9c815e01
VS
24752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2478 --fs-uuid --set UUID syntax.
2479
59e2651a
VS
24802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2483 disunification.
2484
54e03cfc
VS
24852012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2488
81092a75
MK
24892012-04-18 Mads Kiilerich <mads@kiilerich.com>
2490
2491 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2492
f8315e14
MG
24932012-04-18 Mike Gilbert <floppym@gentoo.org>
2494
2495 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2496
1501ac21
B
24972012-04-18 Bean <bean123ch@gmail.com>
2498
2499 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2500 place.
2501
cb7f944e
VS
25022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2505 users updated.
2506 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2507 corresponding to GRUB partitions.
2508 (grub_util_biosdisk_write): Likewise.
2509
b72d44a1
VS
25102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Scan mdraid before LVM.
2513
2514 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2515 (grub_diskfilter_register_front): ... this.
2516 (grub_diskfilter_register_back): New function.
2517 All users of grub_diskfilter_register updated.
2518
33d918b8
VS
25192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * util/grub-install.in: Fix an automatic target detection bug.
2522
c6ca973d
VS
25232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * util/grub-install.in: New option --efi-directory.
2526
b41be562
VS
25272012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2530 boot services if we have no other choice.
2531
25322012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2535 document it.
2536 * tests/util/grub-shell.in: Update to --directory.
2537
e0595a73
VS
25382012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2541
4ed80652
VS
25422012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2545 (grub_minix_read_file): Likewise.
2546 (grub_minix_read_inode): Likewise.
2547 (grub_minix_find_file): Likewise.
2548 (grub_minix_dir): Likewise.
2549
56008077
VS
25502012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * util/grub-setup.c (setup): Fix partition handling and blocklist
2553 check.
2554
ee520775
VS
25552012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2558 redundant buggy overlap check.
2559
16fc9293
VS
25602012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2563 and grub-mknetdir.
2564
9bab65c4
VS
25652012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2568 kh.loadflags on pre-2.00 kernels.
2569
3c491b47
VS
25702012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Terminate UNDI and PXE before launching the payload to avoid problems
2573 with DMA.
2574
2575 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2576 (grub_loader_flags): ... this. All users updated.
2577 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2578 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2579 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2580 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2581 function.
2582 (grub_pxe_restore): Likewise.
2583 (fini_hnd): New var.
2584 (GRUB_MOD_INIT): Register shutdown hook.
2585 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2586 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2587 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2588 (grub_loader_set): Rename second argument to flags.
2589
851ffada
VS
25902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2593 written bytes.
2594 (grub_get_num_of_utf8_bytes): New function.
2595 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2596 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2597 executing it.
2598 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2599 (grub_ucs4_to_utf8): Change return type.
2600
491c57a8
VS
26012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2604 warning.
851ffada
VS
2605 * grub-core/fs/bfs.c (hop_level): Likewise.
2606 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2607
756773df
VS
26082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/lib/adler32.c: Recode due to license unclearness.
2611
fd556a96
VS
26122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2615 (test_header): Likewise.
2616
9f9d3f69
VS
26172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Fix --help formatting.
2620
2621 * util/grub-mkconfig_lib.in (print_option_help): New function.
2622 (grub_fmt): Likewise.
2623 * util/grub-install.in: Use print_option_help and grub_fmt.
2624 * util/grub-kbdcomp.in: Likewise.
2625 * util/grub-mkconfig.in: Likewise.
2626 * util/grub-mknetdir.in: Likewise.
2627 * util/grub-mkrescue.in: Likewise.
2628 * util/grub-mkstandalone.in: Likewise.
2629 * util/grub-reboot.in: Likewise.
2630 * util/grub-set-default.in: Likewise.
2631 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2632
561ec77e
VS
26332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * linguas.sh: Remove autogenerated *.po.
2636
7ec2b021
VS
26372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * po/README: Move language fetcing to ...
2640 * linguas.sh: ... here.
2641 * po/README: Point to linguas.sh.
2642
a88f3270
VS
26432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * po/README: Exclude ko.po due to disclaimer problems.
2646
d61357ce
VS
26472012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2650 len = 0.
2651 (grub_gettext_translate_real): Handle 0th string.
2652 (grub_gettext_translate): Ensure that "" isn't translated.
2653
505e41dc
VS
26542012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2657 TRANSLATORS comment.
2658 (grub_diskfilter_print_partmap): Propagate changing of error into
2659 warning.
2660
e44092db
VS
26612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2664 to uint64_t to prevent overflow.
2665 (grub_diskfilter_lv): Increase start_extent and extent_count
2666 to uint64_t to prevent overflow.
2667
9b83956a
VS
26682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * configure.ac: Increase version.
2671
da0d5b3f
VS
26722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2675
2676 * po/Rules-translit: New file.
2677 * po/arabic.sed: Likewise.
2678 * po/cyrillic.sed: Likewise.
2679 * po/greek.sed: Likewise.
2680 * po/hebrew.sed: Likewise.
2681 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2682 * po/Makefile.in.in: Add extra_dist4.
2683
ac66b453
VS
26842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2687
2688 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2689 modify names. Introduce MODE_BIGENDIAN.
2690 * grub-core/fs/minix_be.c: New file.
2691 * grub-core/fs/minix2_be.c: Likewise
2692 * grub-core/fs/minix3_be.c: Likewise.
2693 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2694 minix3_be.
2695 * grub-core/Makefile.core.def (minix_be): New module.
2696 (minix2_be): Likewise.
2697 (minix3_be): Likewise.
2698
26992012-04-01 Felix <email@hamburg.de>
2700
2701 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2702 (devs): Add MBP 2011.
2703
0a2d5a82
VS
27042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2707
d1625889
VS
27082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/normal/cmdline.c (print_completion): New field
2711 prompt_len.
2712 (grub_cmdline_get): Handle width properly.
2713
6d36a236
VS
27142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2717
9576977e
VS
27182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2721 after 29th of February.
9576977e 2722
d73ff15d
VS
27232012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 Fix exfat endianness handling.
2726
2727 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2728 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2729 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2730 Byte-swap utf16 when necessary.
2731 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2732
bbb39a45
AB
27332012-03-31 Anton Blanchard <anton@samba.org>
27342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Fix btrfs endianness handling.
2737
2738 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2739 (lower_bound): Make root uint64_t. Use root in le.
2740 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2741 (find_path): Fix template key init.
2742 (grub_btrfs_dir): Fix mtime byteswap.
2743 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2744
354e0af7
VS
27452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2748 recursion_depth. Break infinite resursions. All users updated.
2749
4e75f21c
VS
27502012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2753 after free.
2754 Reported by: Peter Jones.
2755
25581802
AB
27562012-03-31 Anton Blanchard <anton@samba.org>
2757
2758 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2759 8 bit values.
2760
08fbf92e
VS
27612012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * util/grub-install.in: Fix nvram call for PreP.
2764
5d1182a6
VS
27652012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2768 the error when some elements are missing into a warning.
2769
3f8cdd90
VS
27702012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2773
51006716
CW
27742012-03-28 Colin Watson <cjwatson@ubuntu.com>
2775
2776 * docs/grub.texi (Invoking grub-probe): New section.
2777 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2778
e1bd676b
VS
27792012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 Fix tab and wide character handling in editor and menu.
2782
2783 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2784 agglomerate control characters with combining marks.
2785 (bidi_line_wrap): Allow break on tab.
2786 (grub_unicode_get_comb_start): New function.
2787 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2788 and tab correctly.
2789 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2790 with a space.
2791 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2792 fixed_tab_size. All users updated.
2793 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2794 (grub_term_getcharwidth): Handle \t.
2795 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2796 and copy.
2797
22e6a774
VS
27982012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Handle big-endian mdraid.
2801
2802 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2803 * grub-core/Makefile.core.def (mdraid09_be): New module.
2804 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2805 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2806 * grub-core/disk/mdraid_linux_be.c: New file.
2807
3c0eae66
VS
28082012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2811
b6cf74c9
VS
28122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2815 missing quotes which caused confusion among translators.
2816
83c93b9c
VS
28172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * util/grub-mkconfig_lib.in: Fix typo.
2820
ac6fd218
VS
28212012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2824 spaces.
2825 * tests/grub_script_leading_whitespace.in: New file.
2826 * Makefile.util.def (grub_script_leading_whitespace): New test.
2827
ba287dd8
VS
28282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2831 to work.
2832
d2d58d0a
VS
28332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2836 starts with control character.
2837
0382d9bb
VS
28382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2841 overflow.
2842 (grub_gdb_outbuf): Likewise.
2843
d83ff9f9
VS
28442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2847 zero terminator. Fixes a crash.
2848
2282da4a
VS
28492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2852 beyond 4 GiB.
2853 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2854 images independently of preffered adderss field.
2855
0ae4f0bd
VS
28562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2859 * grub-core/commands/regexp.c: Likewise.
2860 * grub-core/loader/i386/linux.c: Likewise.
2861 * grub-core/partmap/msdos.c: Likewise.
2862 * grub-core/script/execute.c: Likewise.
2863 * grub-core/term/gfxterm.c: Likewise.
2864
546fbe9b
VS
28652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Add variable parsing in $"..." and fix several mismatches with bash.
2868
2869 * Makefile.util.def (grub_script_gettext): New test.
2870 * grub-core/script/execute.c (parse_string): New function.
2871 (gettext_append): Likewise.
2872 (grub_script_arglist_to_argv): Use gettext_append.
2873 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2874 * tests/grub_script_gettext.in: New file.
2875
9fdb2d7b
VS
28762012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Fix handling of leading spaces in scripts.
2879
2880 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2881 spaces.
2882 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2883 other than skipping \r. All users updated.
2884 * tests/grub_script_echo1.in: Add space-related tests.
2885 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2886
1a1ac4f6
VS
28872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2890
b63d89b6
VS
28912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * configure.ac: Bump up the version to beta2.
2894
17f38c0f
VS
28952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Fix gettext reload bugs (e.g. inability to disable gettext
2898 once enabled).
2899
2900 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2901 main_context and secondary_context. All functions updated.
2902 (grub_gettext_translate): Rename to ...
2903 (grub_gettext_translate_real): ... this. Return NULL on failed
2904 translate.
2905 (grub_gettext_translate): Handle secondary context.
2906 (grub_gettext_delete_list): Close file and zero-out the context.
2907 (grub_mofile_open): Don't call grub_gettext_delete_list.
2908 Don't close file.
2909 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2910 if locale="" to avoid pointless error message.
2911 (grub_gettext_env_write_lang): Update lang even if load fails.
2912 Handle secondary context.
2913 (grub_gettext_reread_prefix): New function.
2914 (read_main): Likewise.
2915 (read_secondary): Likewise.
2916 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2917 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2918 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2919 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2920
8e56f870
VS
29212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * configure.ac: Decrease warning level to avoid spurious warnings and
2924 to be able to compile with GCC 4.2.
2925 * Makefile.util.def: Remove -Wno-error=logical-op.
2926
82f6d455
WB
29272012-03-10 William Bittner <william.bittner@gmail.com>
2928
2929 * util/import_unicode.py: Add missing brackets around string for
2930 python 3 support.
2931
1ecd61a4
VS
29322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 Fix efi chainloader on network root.
2935
2936 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2937 network devices.
2938 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2939 New function.
2940
14361ee8
VS
29412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2944 unused show_text member.
2945 * docs/grub.texi: Document "text" property.
2946
922aabf3
VS
29472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2950 in dprintf.
2951
ec316771
VS
29522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Fix IMSM handling on Fedora.
2955
2956 * util/getroot.c (grub_util_is_imsm): New function.
2957 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2958
0f021838
VS
29592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * Makefile.am: Strip gold section.
2962 * conf/Makefile.common: Likewise.
2963 * gentpl.py: Likewise.
2964 * grub-core/Makefile.core.def: Likewise.
2965 * grub-core/genmod.sh.in: Likewise.
2966
1039c8eb
VS
29672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2970 * util/grub.d/20_linux_xen.in: Likewise.
2971 Based on Debian patch.
2972
6dd412cd
VS
29732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * util/grub.d/10_linux.in: Fix syntax error resulting in
2976 Richard Laager's patch.
2977 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2978
3fd8bae5
VS
29792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2982 dependencies.
2983
7eea1671
RL
29842012-03-10 Richard Laager <rlaager@wiktel.com>
2985
2986 * util/grub.d/10_linux.in: Fix ZFS root passing.
2987
e8e0566b
VS
29882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2991 * grub-core/commands/xnu_uuid.c: Likewise.
2992 * grub-core/loader/efi/appleloader.c: Likewise.
2993 * grub-core/script/execute.c: Likewise.
2994 * grub-core/script/main.c: Likewise.
2995 * util/grub-mkfont.c: Likewise.
2996
1acc5b1f
VS
29972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * util/grub-mkfont.c (options): Use more appropriate "select" that
3000 "set" for face index.
3001
35d70620
VS
30022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * util/grub-editenv.c (options): Gettextize command summaries.
3005
c9eb96b5
VS
30062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3009 "out of memory" error messagge.
3010
1f493136
VS
30112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3014 of diskfilter for diskfilter on diskfilter support.
3015
6d790129
VS
30162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3019
005f46c9
VS
30202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3023 themes/starfield.
3024
c8f778a0
VS
30252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3028
de1e64eb
VS
30292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3032
c6d54211
VS
30332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3036 of error message.
3037
dd390777
VS
30382012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3041
5fd1c522
VS
30422012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3045 message.
c6d54211 3046 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3047
fae01f6c
VS
30482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3051 Gettextize.
3052 * util/grub-mount.c (options): Likewise.
3053
292fdaff
VS
30542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3057 gettextize.
3058 * grub-core/commands/search_wrap.c (options): Likewise.
3059
ecdbae77
VS
30602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3063
52bfedfa
VS
30642012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3067 size calculation.
3068 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3069 none is known.
3070
55b20e58
VS
30712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3074 "temporary" since it's used in identifier and is limited in space.
3075
fda9d101
VS
30762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * po/POTFILES.in: Regenerate. Include *.h since they contain
3079 translatable strings as well.
3080
6a0295e2
VS
30812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3084 byte-swap on big-endian.
3085 Reported by: Lennart Sorensen
3086
807fb77c
VS
30872012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3090 (allocate_pages): Improve dprintf.
3091 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3092 code32_start. Fill code32_start and kernel_alignment in params.
3093 (grub_cmd_initrd): Use prot_init_space.
3094
61ac50ba
VS
30952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3098
abdd26dd
VS
30992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * util/grub-install.in: Add missing dot at the end of sentence.
3102
6e69da9c
VS
31032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3106 * grub-core/commands/videotest.c: Likewise.
3107 * grub-core/loader/i386/linux.c: Likewise.
3108
4a929343
VS
31092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3112 sentence.
3113 Reported by: Milo Casagrande.
3114
bb51c6c6
VS
31152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3118 * grub-core/commands/gptsync.c: Likewise.
3119 * grub-core/commands/hashsum.c: Likewise.
3120 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3121 * grub-core/commands/legacycfg.c: Likewise.
3122 * grub-core/io/gzio.c: Likewise.
3123 * grub-core/net/net.c: Likewise.
3124 * grub-core/term/gfxterm.c: Likewise.
3125 * grub-core/term/terminfo.c: Likewise.
3126 * grub-core/tests/test_blockarg.c: Likewise.
3127 * grub-core/video/video.c: Likewise.
3128 * util/grub-install.in: Likewise.
3129 * util/grub-mkfont.c: Likewise.
3130
b2b149cb
VS
31312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3134
c7c080ad
VS
31352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3138 Reported by: David Prévot.
c7c080ad 3139
f2e243c0
VS
31402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3143 description.
3144
09963c76
VS
31452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * util/grub-script-check.c (main): Fix a syntax error message which was
3148 unclear.
3149
a50514a8
VS
31502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3153
4650daec
VS
31542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3157 messages.
3158
31592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3160
3161 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3162 without argument.
3163 * util/grub-mount.c (options): Likewise.
3164
bbc5a342
VS
31652012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3168
ef292a87
VS
31692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/net/http.c: Add TRANSLATORS comments.
3172 * grub-core/normal/cmdline.c: Likewise.
3173 * grub-core/normal/misc.c: Likewise.
3174 * grub-core/partmap/msdos.c: Likewise.
3175 * grub-core/parttool/msdospart.c: Likewise.
3176 * grub-core/script/execute.c: Likewise.
3177 * grub-core/script/main.c: Likewise.
3178 * grub-core/term/terminfo.c: Likewise.
3179 * grub-core/video/bitmap.c: Likewise.
3180 * util/grub-install.in: Likewise.
3181 * util/grub-mkimage.c: Likewise.
3182 * util/grub-mklayout.c: Likewise.
3183 * util/grub-setup.c: Likewise.
3184
0fc19bd0
VS
31852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3188 with similar messages in grub-fstest.
3189
d95862ef
VS
31902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * util/grub-install.in: Unify "option requires an argument" message
3193 with similar messages in other files.
3194 * util/grub-mkconfig.in: Likewise.
3195
b7308f90
VS
31962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/grub-set-default.in: Replace printf with gettext_printf (the
3199 string in in question is already translated from grub-reboot)
3200
559dc587
VS
32012012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * configure.ac: Bump up the version to beta1.
3204
1a11761f
VS
32052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3208 case when min_align = 0.
3209
24539abd
VS
32102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3213 and fix a case when line_start overflows.
3214
32bd735b
VS
32152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * util/grub-reboot.in (usage): Mention id posibility.
3218 * util/grub-set-default.in (usage): Likewise.
3219
1a2fd1e6
VS
32202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3223 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3224 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3225 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3226 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3227 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3228 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3229
90eeab76
VS
32302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * grub-core/commands/menuentry.c (options): Remove
3233 GRUB_ARG_OPTION_REPEATABLE.
3234 Reported by: Andreas Vogel
3235
5ad1be82
AV
32362012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3237
3238 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3239
cb055286
HE
32402012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3241
3242 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3243 error.
3244
93b1cd79
VS
32452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Use sort -V by the idea of Georgi Georgiev.
3248
3249 * util/grub-mkconfig_lib.in (version_sort): New function.
3250 (version_test_numeric): Use version_sort.
3251
0cdc126c
VS
32522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Use submenus in grub-mkconfig.
3255
3256 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3257 * util/grub-mkconfig_lib.in (grub_quote): New function.
3258 (gettext_printf): Use gettext and not gettext_quoted to fix several
3259 messages.
3260 * util/grub.d/10_hurd.in: Use submenus.
3261 * util/grub.d/10_kfreebsd.in: Likewise.
3262 * util/grub.d/10_linux.in: Likewise.
3263 * util/grub.d/10_netbsd.in: Likewise.
3264 * util/grub.d/20_linux_xen.in: Likewise.
3265 * util/grub.d/30_os-prober.in: Likewise.
3266 * util/grub.d/10_illumos.in: Add missing quoting.
3267 * util/grub.d/10_windows.in: Likewise.
3268
d9bef9bc
VS
32692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Fix menu title instability bug.
3272
3273 * grub-core/commands/menuentry.c (options): New option --id.
3274 (grub_normal_add_menu_entry): New argument id. All users updated.
3275 (grub_cmd_menuentry): Handle --id.
3276 (grub_menu_init): Accept unknown arguments.
3277 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3278 feature_menuentry_options.
3279 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3280 saved_entry.
3281 (get_entry_number): Match with id as well.
3282 * include/grub/menu.h (grub_menu_entry): New member id.
3283 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3284 * util/grub.d/00_header.in: Define menuentry_id_option.
3285 * util/grub.d/10_hurd.in: Define id.
3286 * util/grub.d/10_illumos.in: Likewise.
3287 * util/grub.d/10_kfreebsd.in: Likewise.
3288 * util/grub.d/10_linux.in: Likewise.
3289 * util/grub.d/10_netbsd.in: Likewise.
3290 * util/grub.d/10_windows.in: Likewise.
3291 * util/grub.d/20_linux_xen.in: Likewise.
3292 * util/grub.d/30_os-prober.in: Likewise.
3293
32942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3295
3296 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3297 "scope" with "body".
3298
7c8d0ce7
VS
32992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3303 prot_size and prot_file_size.
3304
49de079b
VS
33052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3308 All users updated. If easily=1 require raid-5/-6 to be full.
3309 (is_node_readable): Likewise.
3310 (scan_devices): Scan incomplete but readable LVs at the end.
3311 (grub_diskfilter_memberlist): Pull missing devices.
3312 (insert_array): Skip scanning until device is complete or scan is
3313 done otherwise.
3314 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3315 check.
3316 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3317 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3318
aff05d45
MG
33192012-03-03 Matthew Garrett <mjg@redhat.com>
33202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 Avoid EFI boot services when loading Linux.
3323
3324 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3325 avoid_efi_bootservices. All users updated.
3326 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3327 argument avoid_efi_bootservices. All users updated.
3328 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3329 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3330 align, min_align, relocatable, prefered_address. All users updated.
3331 Allocate avoiding boot services if kernel is relocatable.
3332 (grub_cmd_linux): Check if kernel is relocatable.
3333 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3334 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3335 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3336 avoid_efi_boot_services.
3337 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3338 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3339 (linux_kernel_params): Likewise.
3340
3935dde2
MG
33412012-03-03 Matthew Garrett <mjg@redhat.com>
33422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 Use EDID on EFI.
3345
3346 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3347 datasize_out.
3348 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3349 modes. Set gop_handle.
3350 (grub_video_gop_get_edid): New function.
3351 (grub_gop_get_preferred_mode): Likewise.
3352 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3353 (grub_video_efi_gop_adapter): Set .get_edid.
3354 * include/grub/efi/edid.h: New file.
3355 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3356
32107ec0
VS
33572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub-install.in: Load efivars unconditionally.
3360
e70a2c50
VS
33612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * po/Rules-piglatin: Change suffix from .po-update-en to
3364 .po-update-en-piglatin.
3365
8f9cace1
VS
33662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 Add a pig farm.
3369
3370 * po/piglatin.sed: New file.
3371 * po/en@piglatin.header: Likewise.
3372 * po/Rules-piglatin: Likewise.
3373 * po/README: Add en@piglatin to autogenerated languages.
3374
8f95d002
VS
33752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3378 "Command for ...".
3379 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3380 "Check" since we don't check anything.
3381 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3382 is 64-bit one.
3383 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3384 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3385 (grub_md_sha512_real): Likewise.
3386
805a8dcc
VS
33872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/commands/gptsync.c: Fix typographic quoting.
3390 * grub-core/commands/ieee1275/suspend.c: Likewise.
3391 * grub-core/commands/parttool.c: Likewise.
3392 * grub-core/commands/search_wrap.c: Likewise.
3393 * grub-core/commands/videoinfo.c: Likewise.
3394 * grub-core/gfxmenu/gui_label.c: Likewise.
3395 * grub-core/hello/hello.c: Likewise.
3396 * grub-core/kern/emu/main.c: Likewise.
3397 * grub-core/net/net.c: Likewise.
3398 * grub-core/normal/menu.c: Likewise.
3399 * grub-core/normal/menu_text.c: Likewise.
3400 * grub-core/normal/misc.c: Likewise.
3401 * util/grub-editenv.c: Likewise.
3402 * util/grub-install.in: Likewise.
3403 * util/grub-kbdcomp.in: Likewise.
3404 * util/grub-mkconfig.in: Likewise.
3405 * util/grub-mknetdir.in: Likewise.
3406 * util/grub-mkrescue.in: Likewise.
3407 * util/grub-mkstandalone.in: Likewise.
3408 * util/grub-reboot.in: Likewise.
3409 * util/grub-set-default.in: Likewise.
3410 * util/grub-setup.c: Likewise.
3411 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3412
40211ab8
VS
34132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3416 * grub-core/commands/keystatus.c: Likewise.
3417 * grub-core/commands/loadenv.c: Likewise.
3418 * grub-core/commands/probe.c: Likewise.
3419 * grub-core/commands/regexp.c: Likewise.
3420 * grub-core/commands/true.c: Likewise.
3421 * grub-core/commands/videoinfo.c: Likewise.
3422 * grub-core/disk/cryptodisk.c: Likewise.
3423 * grub-core/disk/ldm.c: Likewise.
3424 * grub-core/disk/loopback.c: Likewise.
3425 * grub-core/disk/luks.c: Likewise.
3426 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3427 * grub-core/kern/disk.c: Likewise.
3428 * grub-core/kern/emu/hostdisk.c: Likewise.
3429
0c7d99c7
VS
34302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3433 * util/grub-install.in: Add missing quote in the comment.
3434
e7d2559b
VS
34352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3438 * grub-core/commands/lsmmap.c: Likewise.
3439 * grub-core/commands/minicmd.c: Likewise.
3440 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3441 * grub-core/commands/regexp.c: Likewise.
3442 * grub-core/gdb/gdb.c: Likewise.
3443 * grub-core/term/gfxterm.c: Likewise.
3444 * util/grub-mkconfig.in: Likewise.
3445 * util/grub-mkfont.c: Likewise.
3446 * util/grub-mklayout.c: Likewise.
3447 * util/grub-mknetdir.in: Likewise.
3448 * util/grub-mkrescue.in: Likewise.
3449 * util/grub.d/30_os-prober.in: Likewise.
3450
49ce9e50
VS
34512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3454 with "Direct color" and "Packed" with "Packed pixel".
3455 (grub_cmd_videoinfo): Simplify legend.
3456
e4b791fa
VS
34572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3460 absolutely unclear error message.
3461
fd1265cb
VS
34622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * util/grub-mkstandalone.in: Remove confusing leftover print.
3465
8822a8a0
VS
34662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3469 comments.
3470 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3471 (GRUB_MOD_INIT): Likewise.
3472 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3473 VGA mode.
3474 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3475 comments.
3476 * util/grub-install.in (usage): Likewise.
3477 Spell ID in whole letters.
3478 Add missing ending dot.
3479 Quote variables.
3480 * util/grub-reboot.in: Fix capitalisation.
3481 * util/grub-set-default.in: Likewise.
3482
937fd0cc
VS
34832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3486 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3487 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3488 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3489 Disable -Werror for -Wdeprecated-declarations.
3490 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3491 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3492 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3493 (grub_util_get_grub_dev): Make luks handling dependent on
3494 HAVE_DEVICE_MAPPER and not __linux__.
3495 (get_win32_path): Fix format security.
3496 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3497 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3498 Don't try grub_find_zpool_from_dir.
3499 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3500 #ifdef-out paresdir.
3501
1bab1ae3
VS
35022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * util/grub-pe2elf.c (usage): Add missing noreturn.
3505 (write_section_data): Rename name to shname to avoid shadowing.
3506 (write_symbol_table): Rename name to symname to avoid shadowing.
3507 Fix write_reloc_section call.
3508
ef023e42
VS
35092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3512 to ensure that it's after the last byte of .text.
3513
48afcb75
VS
35142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/ieee1275/ofpath.c (my_isdigit): New function.
3517 (trailing_digits): Use my_isdigit.
3518 (strip_trailing_digits): Likewise.
3519
88d51eff
VS
35202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3523 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3524
17edc2ba
VS
35252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/kern/i386/pc/startup.S: Define __start.
3528
ad5518d7
VS
35292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3532 strip already transforms he format.
3533
9e95e1bf
VS
35342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3537
9cc3ee5c
VS
35382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * util/grub-install.in: Add missing gettext init.
3541 * util/grub-kbdcomp.in: Likewise.
3542 * util/grub-mkconfig.in: Likewise.
3543 * util/grub-mknetdir.in: Likewise.
3544 * util/grub-mkrescue.in: Likewise.
3545 * util/grub-mkstandalone.in: Likewise.
3546 * util/grub-reboot.in: Likewise.
3547 * util/grub-set-default.in: Likewise.
3548 * util/grub.d/00_header.in: Likewise.
3549 * util/grub.d/10_hurd.in: Likewise.
3550 * util/grub.d/10_windows.in: Likewise.
3551 * util/grub.d/30_os-prober.in: Likewise.
3552 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3553
49e08a06
VS
35542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * po/Rules-swiss: Fix header comment.
3557
3809cb41
AV
35582012-02-29 Andreas Vogel <anvoit>
3559
3560 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3561 resulted in leak of arguments.
3562
fa6ec573
VS
35632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3566 reed_solomon_size const definition instead of computing it since
3567 Apple assembler doesn't support the later.
3568
22899b9c
VS
35692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * gentpl.py (kernel): Rewrite Apple part.
3572
a132afc3
VS
35732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3576
9d742bd4
VS
35772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3580 ELF section gap.
3581 (load_image): Likewise.
3582
f04a9a21
VS
35832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * configure.ac: Fix a typo in previous commit.
3586
46cf439c
VS
35872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Don't add -Wl,-N on Apple platform.
3590
3591 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3592 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3593
c4c48c54
VS
35942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/Makefile.core.def (lzma_decompress): Use
3597 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3598
31a12124
VS
35992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/genmod.sh.in: Rewrite the Apple part.
3602
4f3aa1af
VS
36032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3606 comparison.
3607
7bd8b0c7
VS
36082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * acinclude.m4 (grub_CHECK_PIC): New test.
3611 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3612
97304d7c
VS
36132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3616 to avoid the warning.
3617
fb883812
VS
36182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3621 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3622 after. All users updated.
3623
a121c964
VS
36242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Use the common size routine in hostfs so we can read disks as well.
3627
3628 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3629 (grub_util_get_fd_size): ... this. Return size in bytes.
3630 All users updated.
3631 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3632 grub_util_get_fd_size.
3633
c66d6410
VS
36342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3637 Add blocksize retrieval.
3638
dfc8aeb0
VS
36392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * configure.ac: Restore CFLAGS after efiemu check.
3642
403e25a5
VS
36432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3646 Apple bug.
3647
382775d1
VS
36482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3651
6fd4e6e4
VS
36522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3655 (grub_cmd_halt): Likewise.
3656
bea359d6
VS
36572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3660 for local arithmetics.
3661 Break %sp init into 2 instructions.
3662 Add 0 byte at the end.
3663
32eb6ee1
VS
36642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3667 before loops.
3668
e8377389
VS
36692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3672 for context.
3673
8cb17de7
VS
36742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/disk/ldm.c (make_vg): Init part.name.
3677 (grub_ldm_detect): Silence spurious warning.
3678 (grub_util_is_ldm): Likewise.
3679
595717e6
VS
36802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3683 sane value to avoid a spurious warning.
3684
c4b7e588
VS
36852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3688 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3689
59824957
VS
36902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3693 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3694
70115b99
VS
36952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3698 hardcoding the relevant info.
3699
56733740
VS
37002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3703 missing const qualifiers.
3704 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3705
43481481
VS
37062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/getroot.c [__APPLE__]: Add missing includes.
3709 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3710
3cb38f01
VS
37112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3714
d9dbf11e
VS
37152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3718 avoid conflicts.
3719
0c42a45d
VS
37202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3723
46c34eb0
VS
37242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3727 and grub_file_close call.
3728
99ce1597
VS
37292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Add LZSS Mach-O support (needed for new xnu kernelcache).
3732
3733 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3734 * grub-core/loader/lzss.c: New file.
3735 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3736 on Mach-O open failure.
3737 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3738 Don't free cmdsXX in uncompressedXX is set.
3739 (grub_macho_file): Init new fields.
3740 New argument is_64bit. All users updated.
3741 Handle compressed. Error out if no suitable architecture is found.
3742 Don't close file.
3743 (grub_macho_open): New argument is_64bit. All users updated.
3744 * grub-core/loader/macho32.c: Add defines for new fields.
3745 * grub-core/loader/macho64.c: Likewise.
3746 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3747 (grub_macho_parse): Handle compressed.
3748 Defer actual processing if compressed.
3749 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3750 "filename". All users updated.
3751 (grub_macho_size): New argument "filename". All users updated.
3752 (grub_macho_get_entry_point): Likewise.
3753 (grub_macho_load): Handle compressed.
3754 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3755 (GRUB_MACHO_LZSS_OFFSET): New define.
3756 (grub_decompress_lzss): New proto.
3757 * include/grub/machoload.h (grub_macho_file): New fields to handle
3758 compressed.
3759 (grub_macho_contains_macho64): Remove proto.
3760 (grub_macho_contains_macho32): Likewise.
3761 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3762
ebd17d6f
VS
37632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3766
2702b4e4
VS
37672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Fix make dist.
3770
3771 * Makefile.am (starfield_theme_files): New var.
3772 (starfield_DATA): Use starfield_theme_files.
3773 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3774 Add bootcheck-related files.
3775 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3776 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3777 and font_char_metrics.txt.
3778 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3779 (setjmp): Add lib/ia64/longjmp.S.
3780 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3781 * po/POTFILES.in: Regenerate.
3782 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3783 DISTFILES.common.extra1.
3784 * util/devicemap.c: Removed.
3785 * grub-core/lib/i386/relocator_backward.S: Likewise.
3786 * util/import_gcry.py: Remove unused files. Add extra_dist for
3787 ChangeLog.
3788
cf1adfdf
VS
37892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3792 grub_gettext_delete_list before changing grub_gettext_max to avoid
3793 running out of array bounds.
3794
37952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3796
3797 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3798 grub_vga_text_init/grub_vga_text_fini.
3799
cf1adfdf 38002012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3801
3802 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3803
541d92e9
VS
38042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * configure.ac: Bump to 2.00~beta0.
3807
7931dddf
VS
38082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3811 missing initialisation.
3812
f1b16fa3
VS
38132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3816
83ddae23
VS
38172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 Support v2 xnu boot arguments.
3820
3821 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3822 New argument fsbfreq_out.
3823 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3824 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3825 be used.
3826 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3827 darwin_version.
3828 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3829 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3830 (grub_xnu_boot_params): Rename to ...
3831 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3832 (grub_xnu_boot_params_v2): New struct.
3833
dc693fe6
VS
38342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3837 zeroing of CRC field before computing CRC.
3838
5a6e39c2
VS
38392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3842 Change order of allocations to decrease fragmentation.
3843
6c21f5d7
VS
38442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3847
cfe456dc
CW
38482012-02-27 Colin Watson <cjwatson@ubuntu.com>
3849
3850 Use write-combining MTRR to speed up video with buggy BIOSes.
3851
3852 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3853 (cpuid): New define.
3854 (rdmsr): Likewise.
3855 (wrmsr): Likewise.
3856 (mtrr_base): Likewise.
3857 (mtrr_mask): Likewise.
3858 (grub_vbe_enable_mtrr_entry): New function.
3859 (grub_vbe_enable_mtrr): Likewise.
3860 (grub_vbe_disable_mtrr): Likewise.
3861 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3862 control off to BIOS.
3863 (grub_video_vbe_init): Fill mtrr.
3864 (grub_video_vbe_fini): Disable mtrr.
3865 (grub_video_vbe_get_info_and_fini): Likewise.
3866 (grub_video_vbe_setup): Enable mtrr.
3867
e3c78337
CW
38682012-02-27 Colin Watson <cjwatson@ubuntu.com>
3869
3870 * include/grub/partition.h (grub_partition_map): Change prototype of
3871 embed to take a maximum value for nsectors.
3872 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3873 * include/grub/fs.h (grub_fs): Likewise.
3874 * grub-core/partmap/msdos.c (embed_signatures): New array.
3875 (pc_partition_map_embed): Check for and avoid sectors matching any
3876 of the signatures in embed_signatures, up to max_nsectors.
3877 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3878 returned sector map to max_nsectors.
3879 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3880 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3881 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3882 * util/grub-setup.c (setup): Allow for the embedding area being
3883 split into multiple blocklists. Tell dest_partmap->embed the
3884 maximum number of sectors we care about.
3885
38862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3889 Specify blocklist_install and reserver_first_sector for all fs.
3890 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3891 blocklists.
3892
984b973f
VS
38932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * util/grub-install.in: Clarify strings.
3896 Fix source dir check.
3897
f122e0d6
RL
38982012-02-27 Richard Laager <rlaager@wiktel.com>
3899
3900 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3901 "zfs" and "fuse.zfs" as synonyms.
3902
071114bb
VS
39032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * configure.ac: Put platform and target_cpu substitutions back since
3906 they are used for directories.
3907
817e6abc
RL
39082012-02-27 Richard Laager <rlaager@wiktel.com>
39092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3912 * util/grub.d/20_linux_xen.in: Likewise.
3913
897b7419
RL
39142012-02-27 Richard Laager <rlaager@wiktel.com>
3915
3916 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3917 with full paths.
3918
a414bd15
RL
39192012-02-27 Richard Laager <rlaager@wiktel.com>
3920
3921 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3922 unescape.
3923
30ac48c4
VS
39242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 Don't use insecure popen in getroot.
3927
3928 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3929 (exec_pipe): ... here.
3930 (find_root_devices_from_poolname): Use exec_pipe.
3931
53f13848
VS
39322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 Remove platform and target_cpu replacement.
3935
3936 * configure.ac: Remove platform and target_cpu substitutions.
3937 * tests/util/grub-shell.in: Use modinfo.
3938 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3939 explicitly.
3940
90cb2803
VS
39412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Autodetect platform in grub-install but allow override.
3944
3945 * util/grub-install.in: Autodetect platform. Support --target and
3946 --directory. Read platform from modinfo.sh.
3947
b9136427
VS
39482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Support btrfs multi-volume probe.
3951
3952 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3953 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3954 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3955 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3956 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3957 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3958 grub_find_root_devices_from_btrfs if on btrfs.
3959
c36e5cd1
VS
39602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Remove any awareness of *.c util files about target.
3963
3964 * Makefile.util.def (grub-setup): Split to ...
3965 (grub-bios-setup): ... and this.
3966 (grub-sparc64-setup): ... and this.
3967 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3968 * docs/man/grub-setup.h2m: Split into ...
3969 * docs/man/grub-sparc64-setup.h2m: ... this.
3970 * docs/man/grub-bios-setup.h2m: ... and this.
3971 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3972 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3973 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3974 (grub_target_addr_t): Remove.
3975 (grub_target_size_t): Remove.
3976 (grub_target_ssize_t): Remove.
3977 * util/grub-install.in: Use new grub-*-setup.
3978 * util/grub-mkimagexx.c (Elf_Word): New define.
3979 (Elf_Half): Likewise.
3980 (Elf_Section): Likewise.
3981 (ELF_ST_TYPE): Likewise.
3982 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3983 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3984
584b2f8a
VS
39852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Replace grub_target_addr with more appropriate types.
3988
3989 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3990 grub_target_addr with grub_addr.
3991 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3992 grub_target_addr with grub_port.
3993 (grub_cmd_write): Likewise.
3994 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3995 grub_target_addr with grub_addr.
3996 (grub_cmd_write): Likewise.
3997 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3998
5a0dc6fb
VS
39992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4002 const qualifier for vendor_guid.
4003
786aff6e
VS
40042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4007 const qualifier.
4008 (efiemu_memequal): Likewise.
4009 (find_variable): Likewise.
4010
49017b17
VS
40112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Fix missing console prototype on qemu-mips.
4014
4015 * include/grub/mips/qemu_mips/console.h: New file.
4016
c5988629
MG
40172012-02-27 Matthew Garrett <mjg@redhat.com>
40182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4021 * include/grub/efi/efi.h: Likewise.
4022 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4023 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4024 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4025 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4026 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4027 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4028
e33f8d69
MG
40292012-02-27 Matthew Garrett <mjg@redhat.com>
4030
4031 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4032
fb312cd9
VS
40332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4036 error.
4037
7134247c
VS
40382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * configure.ac: Remove inappropriate use of program_transform_name
4041 on grubdir and bootdir but allow explicit specification of those
4042 variables.
4043
6a313124
VS
40442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub-mknetdir.in (grub_prefix): Removed.
4047 (subdir): Use @bootdirname@ and @grubdirname@.
4048
2311c5ca
VS
40492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4052
7d5d60f7
VS
40532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * po/POTFILES.in: Regenerated.
4056
8151bc82
VS
40572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 Remove improper use of program_transform_name on pkglibrootdir.
4060
4061 * configure.ac (pkglibrootdir): Removed.
4062 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4063 * util/grub-mkimage.c: Likewise.
4064
b4a6a533
VS
40652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4068 warning.
4069
668f304f
VS
40702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * util/grub-install.in: Use file identifier if no UUID is available
4073 or user explicitly prompted for it.
4074
665f2341
NP
40752012-02-27 Navdeep Parhar <nparhar@gmail.com>
4076
4077 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4078 (freebsd_get_zfs): New function.
4079 (grub_freebsd_boot): Pass zfs UUID.
4080 (grub_cmd_freebsd): Set zfs UUID.
4081
8151bc82 40822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4083
4084 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4085 pkglibrootdir.
4086
e4c498a1
MG
40872012-02-27 Mike Gilbert <floppym@gentoo.org>
4088
4089 Add configure flag to control libzfs integration.
4090
4091 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4092
1e9a9a3f
VS
40932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4096 device.
4097 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4098 small devices.
4099
036985b8
VS
41002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4103 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4104 be used on non-modules.
4105
4106 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4107 Rename to grub_boot_init.
4108 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4109 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4110 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4111 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4112 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4113 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4114 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4115 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4116 includes.
4117 (grub_machine_init): Remove empty inits.
4118 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4119 includes.
4120 (grub_machine_init): Remove empty inits.
4121 * grub-core/term/arc/console.c: Remove explicit proto.
4122 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4123 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4124 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4125 grub_at_keyboard_fini.
4126 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4127 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4128 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4129 grub_gfxterm_fini.
4130 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4131 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4132 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4133 grub_vgatext_fini.
4134 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4135 * grub-core/term/serial.c (GRUB_MOD_INIT)
4136 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4137 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4138 grub_serial_fini.
4139 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4140 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4141 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4142 grub_terminfo_fini.
4143 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4144 (GRUB_MOD_FINI): Likewise.
4145 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4146 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4147 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4148 grub_video_radeon_fuloong2e_fini.
4149 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4150 [LOONGSON]: Rename to grub_video_sis315pro_init.
4151 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4152 grub_video_sis315pro_fini.
4153 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4154 [LOONGSON]: Rename to grub_video_sm712_init.
4155 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4156 grub_video_sm712_fini.
4157 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4158 (grub_at_keyboard_fini): Likewise.
4159 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4160 Don't declare grub_{modname}_init.
4161 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4162 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4163 New proto.
4164 (grub_keylayouts_fini) [!EMU]: Likewise.
4165 * include/grub/serial.h (grub_serial_init) [!EMU]:
4166 New proto.
4167 (grub_serial_fini) [!EMU]: Likewise.
4168 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4169 New proto.
4170 (grub_terminfo_fini) [!EMU]: Likewise.
4171 * include/grub/video.h (grub_font_init) [!EMU]:
4172 New proto.
4173 (grub_font_fini) [!EMU]: Likewise.
4174 (grub_gfxterm_init) [!EMU]: Likewise.
4175 (grub_gfxterm_fini) [!EMU]: Likewise.
4176 (grub_video_sm712_init) [!EMU]: Likewise.
4177 (grub_video_sm712_fini) [!EMU]: Likewise.
4178 (grub_video_sis315pro_init) [!EMU]: Likewise.
4179 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4180 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4181 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4182
d5534665
VS
41832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Make nand a prefix for nand devices.
4186
4187 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4188
10133b5f
VS
41892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4192 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4193
8e307a62
VS
41942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * include/grub/env.h (grub_env_find): Remove prototype.
4197 * grub-core/kern/env.c (grub_env_find): Make static.
4198 (grub_env_set): Remove useless set.
4199
a4c65f34
VS
42002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/kern/i386/realmode.S: Remove useless align.
4203
d87893d5
VS
42042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * include/grub/dl.h (grub_dl_load_file): Don't export.
4207
50159add
VS
42082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4211 grub_dprintf.
4212
b2582b84
VS
42132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4216 grub_errors.
4217 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4218 not reloading whole superblock but only the part which is really needed.
4219 Remove useless grub_errors.
4220 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4221 grub_errors.
4222
e2a83395
VS
42232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Don't export grub_get_rtc.
4226
4227 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4228 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4229
e7d2a906
VS
42302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4233
6cf1363b
VS
42342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4237 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4238
eece3349
VS
42392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Remove prio_list.
4242
4243 * include/grub/list.h (grub_prio_list): Removed.
4244 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4245 GRUB_COMMAND_PRIO_MASK.
4246 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4247 GRUB_COMMAND_FLAG_ACTIVE.
4248 (grub_prio_list_insert): Removed.
4249 (grub_prio_list_remove): Likewise.
4250 (GRUB_AS_PRIO_LIST): Likewise.
4251 (GRUB_AS_PRIO_LIST_P): Likewise.
4252 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4253 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4254 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4255 * grub-core/kern/command.c (grub_register_command_prio): Inline
4256 the prio_list code.
4257 (grub_unregister_command): Likewise.
4258
94f064b4
VS
42592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 Fix interrupt mixup from previous commit.
4262
4263 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4264 (grub_realidt): New var.
4265 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4266 Load idt.
4267 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4268 New declaration.
4269 (grub_relocator16_boot): Set grub_relocator16_idt.
4270 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4271 (LOCAL(realidt)): ... this.
4272 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4273 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4274 (grub_realidt): New variable.
4275
27317084
VS
42762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4279 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4280 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4281 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4282 Gettextize.
4283 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4284 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4285 * po/POTFILES.in: Regenerate.
4286
47b40053
VS
42872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4290 errors.
4291
2b343101
VS
42922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4295 \0.
4296 (add_length): Likewise.
4297
ff27c3dd
LK
42982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
42992012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4300
4301 GDB serial and backtrace support.
4302
4303 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4304 (prot_to_real): Likewise.
4305 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4306 * grub-core/Makefile.core.def (backtrace): New module.
4307 (gdb): Likewise.
4308 * grub-core/gdb/cstub.c: New file.
4309 * grub-core/gdb/gdb.c: Likewise.
4310 * grub-core/gdb/i386/idt.c: Likewise.
4311 * grub-core/gdb/i386/machdep.S: Likewise.
4312 * grub-core/gdb/i386/signal.c: Likewise.
4313 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4314 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4315 * include/grub/backtrace.h: Likewise.
4316 * include/grub/gdb.h: Likewise.
4317 * include/grub/i386/gdb.h: Likewise.
4318
43192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4320
4321 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4322 New function.
4323 (add_length): Likewise.
4324 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4325 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4326 proto.
4327 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4328 __argp_get_display_len.
4329
ff27c3dd 43302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4331
4332 $"..." support in scripts.
4333
4334 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4335 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4336 * grub-core/script/yylex.l: Likewise.
4337 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4338 value.
4339
ff27c3dd 43402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4341
4342 * gentpl.py: Remove obsolete pkglib_DATA handling.
4343
ff27c3dd 43442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4345
4346 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4347 mailing list.
4348
4349 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4350 * util/grub-kbdcomp.in: Likewise.
4351 * util/grub-mkconfig.in: Likewise.
4352 * util/grub-mkconfig_lib.in: Likewise.
4353 * util/grub-mknetdir.in: Likewise.
4354 * util/grub-mkrescue.in: Likewise.
4355 * util/grub-mkstandalone.in: Likewise.
4356 * util/grub-reboot.in: Likewise.
4357 * util/grub-set-default.in: Likewise.
4358 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4359
ff27c3dd 43602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4361
4362 Remove GRUB_PREFIX.
4363
4364 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4365 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4366 used for backward compatibility.
4367
ff27c3dd 43682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4369
4370 Add new all_video module.
4371
4372 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4373 * grub-core/Makefile.core.def (all_video): New module.
4374 * grub-core/genmoddep.awk: Generate dependency of all_video from
4375 video.lst.
4376 * grub-core/lib/fake_module.c: New file.
4377 * grub-core/normal/main.c (features): Add feature_all_video_module.
4378 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4379 don't do explicit search again.
47454da5 4380 insmod all_video in load_video if available.
22c7ce85 4381
ff27c3dd 43822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4383
4384 Another round of string clarification and adding TRANSLATORS comments.
4385
ff27c3dd 43862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4387
4388 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4389
ff27c3dd 43902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4391
4392 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4393 to grub_ssize_t.
4394 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4395 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4396
ff27c3dd 43972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4398
4399 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4400 trailing newline implicitly. All users updated.
4401
ff27c3dd 44022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4403
4404 Implement serial on IEEE1275 and EFI.
4405
4406 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4407 on emu. Mention arc and emu as the only platforms without serial
4408 support.
4409 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4410 ieee1275 platforms.
4411 * grub-core/term/efi/serial.c: New file.
4412 * grub-core/term/ieee1275/serial.c: Likewise.
4413 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4414 specification if no ns8250 driver is available.
4415 (grub_cmd_serial): Likewise.
4416 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4417 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4418 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4419 (grub_efi_parity_type_t): New type.
4420 (grub_efi_stop_bits_t): Likewise.
4421 (grub_efi_serial_io_interface): New struct.
4422 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4423 available for all interfaces.
4424 Add EFI and IEEE1275 fields.
4425 (grub_ofserial_init): New proto.
4426 (grub_efiserial_init): Likeiwse.
4427 * util/grub.d/00_header.in: Don't check for the presence of serial
4428 module.
4429
ff27c3dd 44302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4431
4432 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4433 name as if it was an alias.
4434
114076ef
VS
44352012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/commands/lsacpi.c (options): Fix typo.
4438
6a656b0e
VS
44392012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 Convert grub-emu to argp.
4442
4443 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4444 emu.
4445 * util/argp_common.c: Rename to ...
4446 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4447 Add missing includes.
4448 * grub-core/kern/emu/main.c: Convert to argp.
4449 * po/POTFILES.in: Regenerate.
4450 * util/grub-install.in (usage): Make first letter lowcase in messages
4451 for uniformity.
4452 * util/grub-setup.c (options): Likewise.
4453
1e3f8ae8
VS
44542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4457 Put back accidently commented-out code.
4458
ed167a80
VS
44592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4462 loop check using Brent algorithm.
4463 (grub_hfsplus_btree_search): Likewise.
4464
6753c0ec
VS
44652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * util/grub-install.in: Fix usage of wrong device for PreP install.
4468
4e27343f
VS
44692012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * conf/Makefile.common (CFLAGS_GNULIB): Add
4472 -Wno-unsafe-loop-optimizations.
4473 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4474 on tools.
4475 * grub-core/commands/legacycfg.c: Add pragma to skip
4476 -Wunsafe-loop-optimizations.
4477 (check_password_md5_real): Fix loop counter type.
4478 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4479 reading.
4480 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4481 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4482 loop condition.
4483 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4484 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4485 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4486 condition.
4487 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4488 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4489 avoid possible infinite loops.
4490 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4491 and -Wunsafe-loop-optimizations.
4492 * grub-core/script/yylex.l: Likewise.
4493 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4494 (print_glyphs): Avoid infinite loops.
4495 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4496
697f18b0
GS
44972012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4498
4499 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4500 to avoid infinite loop.
4501 (disp_acpi_rsdt_table): Likewise.
4502
274416e8
VS
45032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/font/font.c (grub_font_load): Add support for default
4506 path for fonts ($prefix/fonts).
4507 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4508 for checking if string is a path.
4509 * grub-core/normal/main.c (features): Add feature_default_font_path.
4510 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4511 * util/grub.d/00_header.in: Use default directory if possible.
4512 * util/grub-install.in: Install unicode.pf2.
4513
b3e08622
VS
45142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4517 * po/Rules-swiss: New file.
4518 * po/swiss.sed: Likewise.
4519
fe42ce09
VS
45202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/fs/btrfs.c (find_device): Fix typos.
4523 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4524 * util/grub-mkrelpath.c (argp_parser): Likewise.
4525 Reported by: Yuri Chornoivan.
4526
72f1d065
DO
45272012-02-23 Dalet Omega <daletomega@gmail.com>
4528
4529 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4530 for usual informative messages.
4531
c5884973
DO
45322012-02-23 Dalet Omega <daletomega@gmail.com>
4533
4534 Starfield theme.
4535
4536 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4537 * conf/Makefile.common: Define starfielddir.
4538 * configure.ac: Configure starfield.
4539 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4540 * themes/starfield/README: Likewise.
4541 * themes/starfield/blob_w.png: Likewise.
4542 * themes/starfield/boot_menu_c.png: Likewise.
4543 * themes/starfield/boot_menu_e.png: Likewise.
4544 * themes/starfield/boot_menu_n.png: Likewise.
4545 * themes/starfield/boot_menu_ne.png: Likewise.
4546 * themes/starfield/boot_menu_nw.png: Likewise.
4547 * themes/starfield/boot_menu_s.png: Likewise.
4548 * themes/starfield/boot_menu_se.png: Likewise.
4549 * themes/starfield/boot_menu_sw.png: Likewise.
4550 * themes/starfield/boot_menu_w.png: Likewise.
4551 * themes/starfield/slider_c.png: Likewise.
4552 * themes/starfield/slider_n.png: Likewise.
4553 * themes/starfield/slider_s.png: Likewise.
4554 * themes/starfield/src/blob_nw.xcf: Likewise.
4555 * themes/starfield/src/bootmenu/: Likewise.
4556 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4557 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4558 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4559 * themes/starfield/src/slider_c.xcf: Likewise.
4560 * themes/starfield/src/slider_n.xcf: Likewise.
4561 * themes/starfield/src/slider_s.xcf: Likewise.
4562 * themes/starfield/src/terminalbox/: Likewise.
4563 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4564 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4565 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4566 * themes/starfield/starfield.png: Likewise.
4567 * themes/starfield/terminal_box_c.png: Likewise.
4568 * themes/starfield/terminal_box_e.png: Likewise.
4569 * themes/starfield/terminal_box_n.png: Likewise.
4570 * themes/starfield/terminal_box_ne.png: Likewise.
4571 * themes/starfield/terminal_box_nw.png: Likewise.
4572 * themes/starfield/terminal_box_s.png: Likewise.
4573 * themes/starfield/terminal_box_se.png: Likewise.
4574 * themes/starfield/terminal_box_sw.png: Likewise.
4575 * themes/starfield/terminal_box_w.png: Likewise.
4576 * themes/starfield/theme.txt: Likewise.
4577
17d73325
VS
45782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * util/grub.d/00_header.in: Add missing export theme.
4581
dbebaf92
VS
45822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4585 already included.
4586 Reported by: Eren D.
4587
3d68bffb
VS
45882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * conf/Makefile.common (grubdatadir): Removed.
4591 (Makefile.am): Move eveything grubdata to pkgdata.
4592
4b59234d
VS
45932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/commands/acpihalt.c (get_sleep_type):
4596 Remove unused variable.
4597
463dcadc
VS
45982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4601 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4602 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4603 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4604 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4605 i18n with gettext no-op.
4606 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4607 GRUB_ACPI_OPCODE_STRING_CONST.
4608 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4609 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4610
e5b90c82
VS
46112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * po/POTFILES.in: Regenerate.
4614
2a704ca9
VS
46152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4618 -Wno-error=missing-noreturn.
4619
84f9d341
VS
46202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4623 condition to avoid possibly infinite loops.
4624 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4625 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4626
d46683f9
VS
46272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4630 condition to avoid possibly infinite loops.
4631
c44866b2
VS
46322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4635 on show_error.
4636
96790539
VS
46372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4640
1ba7e295
VS
46412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4644
21ffe8f1
VS
46452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * util/bin2h.c (usage): Add missing attribute noreturn.
4648
0ccb6b3c
VS
46492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4652 if the size isn't divisible by 512.
4653
b00d7fb6
VS
46542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 Make list_push and list_remove functions rather than inline functions
4657 to decrease size and avoid aliasing violations.
4658
4659 * include/grub/list.h (grub_list_push): Move to ...
4660 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4661 * include/grub/list.h (grub_list_remove): Move to ...
4662 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4663
9d369087
VS
46642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4667 and -Wunused-result.
4668
af0250d9
VS
46692012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4672 Reported by: Seth Goldberg
4673
aad32b14
VS
46742012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4677
ac96441c
ST
46782012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4679
4680 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4681 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4682 command line.
4683 * docs/grub.texi (Simple configuration): Document
4684 GRUB_CMDLINE_GNUMACH.
4685
46862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4687
4688 * conf/Makefile.common (platform_SCRIPTS): New variable.
4689 (platform_PROGRAMS): Likewise.
4690 * gentpl.py: Mark *,module and *.image for install.
4691 * grub-core/gdb_grub.in: Add a notice of expected environment.
4692 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4693 (gmodule.pl): Likewise.
4694
ac96441c 46952012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4696
4697 Replace grub_checkkey with grub_getkey_noblock.
4698
4699 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4700 (grub_getkey_noblock): ... this. All users updated.
4701
ac96441c 47022012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4703
4704 * grub-core/kern/emu/console.c: Move to ...
4705 * grub-core/term/emu/console.c: ...here.
4706 (grub_ncurses_getkey): Fix return value if no key is detected.
4707
e51b5666
VS
47082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4711 (grub_unit_test_fini): Likewise.
4712 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4713
47142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * include/grub/test.h (GRUB_UNIT_TEST)
4717
d9a62292
VS
47182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4721 Better error handling.
4722 (grub_script_return): Likewise.
4723 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4724
77c9182f
VS
47252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4728 rimplicit redifinition.
4729
edb13cf9
VS
47302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4733 GRUB.
4734
a9e9dc7c
VS
47352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4738 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4739 prompt here.
4740
b4ba8e02
VS
47412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4744 as GRUB_ERR_BUG. Don't malloc if no device is available.
4745
dded5540
VS
47462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4749 Mark calling with invalid term as GRUB_ERR_BUG.
4750
0cf69874
VS
47512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4754 packets rather than raising an error.
4755
59bfe502
VS
47562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4759 in if.
4760
db5fc596
VS
47612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4764 diagnostic to dprintf.
4765 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4766
e4b7f404
VS
47672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4770 device name.
4771
e7b02f9e
VS
47722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4775 (grub_ntfs_iterate_dir): Likewise.
4776
0331e102
VS
47772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Efiemu stylistic fixes and gettext.
4780
4781 * grub-core/efiemu/i386/loadcore32.c
4782 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4783 * grub-core/efiemu/i386/loadcore64.c
4784 (grub_arch_efiemu_relocate_symbols64): Likewise.
4785 * grub-core/efiemu/i386/pc/cfgtables.c
4786 (grub_machine_efiemu_init_tables): Likewise.
4787 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4788 (grub_efiemu_loadcore_initXX): Add a filename argument.
4789 All users updated.
4790 Improved error message.
4791 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4792 Add a filename argument.
4793 All users updated.
4794 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4795 Reclassify double relocation as GRUB_ERR_BUG.
4796
306fc074
VS
47972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4800 handling.
4801
794d8ef2
VS
48022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4805 on partition.
4806
48072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4808
4809 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4810
794d8ef2 48112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4812
4813 Improve string. Gettextize.
4814
78dde88e
VS
48152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4818 utils.
4819 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4820
4786a90f
VS
48212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4824 [GRUB_UTIL]: New function.
4825 (insert_array) [GRUB_UTIL]: Store partmaps.
4826 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4827 partmaps.
4828 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4829 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4830 (probe_abstraction): Print diskfilter and not raid.
4831 Reported by: Lennart Sorensen
4832
0b6225bd
VS
48332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4836 * util/grub-mkimagexx.c (MASK3): New define.
4837 (add_value_to_slot_20b): Use MASK3.
4838 (add_value_to_slot_21): Likewise.
4839 (relocate_addresses): Fix format specification.
4840 (load_image): Explicitly init symtab_section.
4841
b055f8f6
VS
48422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4845 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4846
b77c2fb7
VS
48472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4850 on powerpc.
4851 Reported by: Lennart Sorensen
4852
e3ec28ab
VS
48532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * gentpl.py: Add missing license header.
4856 * docs/grub.texi: Update copyright year.
4857
c8d9ead6
GS
48582012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4859
4860 Source grub-mkconfig_lib from the build directory at build time.
4861 Suggested by: Vladimir Serbinenko.
4862
4863 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4864 * util/grub-install.in: Define pkgdatadir if not already set, and source
4865 grub-mkconfig_lib from there.
4866 * util/grub-kbdcomp.in: Likewise.
4867 * util/grub-mkconfig.in: Likewise.
4868 * util/grub-mknetdir.in: Likewise.
4869 * util/grub-mkrescue.in: Likewise.
4870 * util/grub-mkstandalone.in: Likewise.
4871 * util/grub-reboot.in: Likewise.
4872 * util/grub-set-default.in: Likewise.
4873 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4874
ebcecdf1
VS
48752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Increase warning level.
4878
4879 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4880 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4881 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4882 (TARGET_CFLAGS): Likewise.
4883 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4884 * grub-core/Makefile.core.def (decompressor_xz): Add
4885 -Wno-unreachable-code.
4886 (normal): Add -Wno-redundant-decls.
4887 (xzio): Add -Wno-unreachable-code.
4888 (lzopio): Add -Wno-redundant-decls -Wno-error.
4889 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4890 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4891 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4892 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4893 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4894 * grub-core/kern/i386/coreboot/init.c: Add exception to
4895 -Wsuggest-attribute=noreturn.
4896 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4897 * grub-core/kern/ia64/dl_helper.c: Likewise.
4898 * grub-core/kern/mips/dl.c: Likewise.
4899 * grub-core/kern/sparc64/dl.c: Likewise.
4900 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4901 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4902 (memcmp): Likewise.
4903 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4904 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4905 * grub-core/loader/mips/linux.c: Likewise.
4906 * grub-core/loader/multiboot_elfxx.c: Likewise.
4907 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4908 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4909 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4910 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4911 fixme.
4912 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4913 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4914 Fix prototype.
4915
37bb97fe
VS
49162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4919 address.
4920
29a3550b
VS
49212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4924 Avoid improper use of strings.
4925 (grub_cmd_legacy_initrdnounzip): Likewise.
4926
dfdffd0d
VS
49272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4930 attribute.
4931 (grub_util_info): Likewise.
4932 (grub_util_error): Likewise.
4933
102fae4a
VS
49342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4937 * util/grub-fstest.c (fstest): Likewise.
4938
7e94d044
VS
49392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4942 (grub_md_sha512_real): Likewise.
4943 (grub_util_get_geli_uuid): Likewise.
4944 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4945 (grub_util_biosdisk_open): Fix format specification.
4946 Respect format security.
4947 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4948 (xrealloc): Likewise.
4949 (xasprintf): Likewise.
4950
5ebd9769
VS
49512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * util/import_gcry.py: Include grub/crypto.h in init.c.
4954
495fc8c1
VS
49552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4958 (generate_image): Make prefix a const char *.
4959 Fix format specifications. Respect format security.
4960 Avoid void * arithmetics.
4961 Avoid shadowing.
4962 (argp_parser): Remove unused variable. Respect format security.
4963 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4964 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4965 (count_funcs): Remove unused variable.
4966 (relocate_addresses): Fix format specification.
4967 Disable x86-64 with elf32. Remove unused variables.
4968 (add_fixup_entry): Avoid shadowing.
4969 (make_reloc_section): Fix format specification.
4970 Use assert.
4971 (locate_sections): Fix format specifications.
4972 (load_image): Avoid shadowing.
4973
043c2ea3
VS
49742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4977 Fix format specifications. Respect format security.
4978 Don't translate already translated grub_errmsg.
4979 (argp_parser): Remove unused variable
4980
3ec65a81
VS
49812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4984
a4d9fe4a
VS
49852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4988 (main): Likewise. Use xmalloc. Respect format security.
4989
15b81d49
VS
49902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4993 a const char *.
4994 (argp_parser): Remove unused variable.
4995
31731fc0
VS
49962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4999 (add_pixel): Make static.
5000 (add_font): Likewise.
5001 (write_string_section): Make name and str a const char *.
5002 (write_be16_section): Make name a const char *.
5003 (print_glyphs): Make static.
5004 (write_font_ascii_bitmap): Likewise.
5005 (write_font_width_spec): Likewise.
5006 (write_font_pf2): Likewise.
5007 (argp_parser): Remove unused variable.
5008 Respect format security.
5009 (main): Avoid shadowing. Respect format security.
5010
0809527b
VS
50112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-editenv.c (argp_parser): Make static.
5014 (create_envblk_file): Use xmalloc.
5015 (open_envblk_file): Likewise.
5016 Resepect format security.
5017 (set_variables): Respect format security.
5018
45b0c8b7
VS
50192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * util/getroot.c (grub_find_device): Respect format security.
5022 (get_mdadm_uuid): Remove unused variable.
5023 (grub_util_pull_device): Dont call gettext on already translated
5024 grub_errmsg.
5025 (find_system_device): Remove unused variable.
5026 (grub_util_get_grub_dev): Likewise.
5027 (grub_make_system_path_relative_to_its_root): Respect format security.
5028
1b024b4e
VS
50292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * util/grub-fstest.c (execute_command): Make first argument
5032 a const char *.
5033 (read_file): Avoid shadowing.
5034 Reuse underlying error message if device open fails.
5035 (cmd_cmp): Respect format security.
5036 (root): Make const char *.
5037 (fstest): Remove args argument and use global copy.
5038 Respect format security.
5039 (argp_parser): Make static.
5040 (main): Make default_root const char *.
5041
5d1d4e28
VS
50422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * util/grub-mount.c (root): Make const char *.
5045 (execute_command): Make first argument a const char *.
5046 (fuse_init): Respect format security.
5047 (argp_parser): Make static. Remove unused variable.
5048 (main): Make default_root a const char *.
5049 Respect format security.
5050
36eb7379
VS
50512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * util/grub-probe.c (probe): Don't call gettext on already translated
5054 grub_errmsg.
5055 Remove unused variables.
5056 (argp_parser): Remove unused variable.
5057
76fb2ea9
VS
50582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * util/grub-script-check.c (argp_parser): Remove unused variable.
5061 (main): Rename read to curread to avoid shadowing.
5062
56c98584
VS
50632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * util/misc.c (grub_util_write_image_at): Fix format specification.
5066 (grub_util_write_image): Likewise.
5067 (grub_script_execute_argument_to_string): Removed (unused).
5068 (grub_script_execute_menuentry): Likewise.
5069 (grub_putchar): Likewise.
5070
164ebb48
VS
50712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5074 (FUNCTION) [GRUB_UTIL]: Likewise.
5075 (VARIABLE) [GRUB_UTIL]: Likewise.
5076
44318d61
VS
50772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5080 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5081
31a26002
VS
50822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5085 buffer.
5086
50872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5090 (LzmaEnc_SaveState): Removed (unused).
5091 (LzmaEnc_RestoreState): Likewise.
5092 (LzmaEnc_InitPriceTables): Made static.
5093 (LzmaEnc_Construct): Likewise.
5094 (LzmaEnc_FreeLits): Likewise.
5095 (LzmaEnc_Destruct): Likewise.
5096 (LzmaEnc_Init): Likewise.
5097 (LzmaEnc_InitPrices): Likewise.
5098 (LzmaEnc_Finish): Likewise.
5099 (LzmaEnc_PrepareForLzma2): Removed (unused).
5100 (LzmaEnc_MemPrepare): Likewise.
5101 (LzmaEnc_GetNumAvailableBytes): Likewise.
5102 (LzmaEnc_GetCurBuf): Likewise.
5103 (LzmaEnc_CodeOneMemBlock): Likewise.
5104
6fa67967
VS
51052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5108 (grub_util_ldm_embed): Likewise.
5109
9a7428e6
VS
51102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * util/grub-editenv.c (print_var): Rename name to varname to
5113 avoid shadowing.
5114 (main): Rename index to curindex to avoid shadowing.
31a26002 5115 Make filename a const char *.
9a7428e6 5116
4f96abd1
VS
51172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5120 to arg_getline to avoid shadowing.
5121
44d10dad
VS
51222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5125 disk_ to avoid shadowing.
5126
340ba63e
VS
51272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5130 curindex to avoid shadowing.
5131 Make static.
5132 (MatchFinder_GetNumAvailableBytes): Make static.
5133
22965bce
VS
51342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5137 avoid shadowing.
5138
7b5784d4
VS
51392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5142 argument from encrypt to do_encrypt to avoid shadowing.
5143
6f48ca01
VS
51442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5147 incorrect nesting of #if's.
5148
a4ea2dff
VS
51492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5152 checks which are always false on some platforms.
5153 (grub_cmd_lsacpi): Likewise.
5154 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5155 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5156 Likewise.
5157
def9fc1b
VS
51582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5161 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5162
a67b2a04
VS
51632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5166 re_dfa_t to avoid breaking alignment invariants.
5167 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5168 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5169
44c6828d
VS
51702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5173 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5174
bebe0dd0
VS
51752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5178 Fix declaration.
5179
a9cdb3cf
VS
51802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5183 conserve alignment invariants.
5184 (grub_ehci_ehcc_read16): Likewise.
5185 (grub_ehci_oper_read32): Likewise.
5186 (grub_ehci_oper_write32): Likewise.
5187 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5188 Conserve alignment invariants.
5189
ccc3b1b8
VS
51902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5193 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5194 declarations.
5195
987fbd95
VS
51962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5199 Remove unused variable.
5200
0df363f3
VS
52012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5204 Remove set in if.
5205
b2c0c4a6
VS
52062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * include/grub/net.h: Remove double declarations.
5209
690c531f
VS
52102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Remove "payload" command in ia64 Linux loader since I couldn't
5213 find any evidence of it being used for anything.
5214 Replace "relocate" command with an environment variable
5215
5216 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5217 fields.
5218 (ia64_boot_payload): Removed.
5219 (last_payload): Likewise.
5220 (RELOCATE_OFF): Likewise.
5221 (RELOCATE_ON): Likewise.
5222 (RELOCATE_FORCE): Likewise.
5223 (relocate): Likewise.
5224 (free_pages): Don't free payloads.
5225 (grub_load_elf64): Use common error messages.
5226 Use "linux_relocate" variable.
5227 Increase the space after boot_params.
5228 (grub_cmd_payload): Removed.
5229 (grub_cmd_relocate): Likewise.
5230 (grub_cmd_fpswa): Improve messages.
5231 (cmd_payload): Removed.
5232 (cmd_relocate): Likewise.
5233 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5234 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5235
01783768
VS
52362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 Convert UHCI to DMA framework.
5239
5240 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5241 (grub_uhci_pci_iter): Fill new members
5242 (grub_alloc_td): Use P2V and V2P functions.
5243 (grub_free_queue): Likewise.
5244 (grub_alloc_qh): Likewise.
5245 (grub_uhci_setup_transfer): Likewise.
5246 (grub_uhci_check_transfer): Likewise.
5247
43206939
VS
52482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5251 Remove assignment in if while on it.
5252
571e140e
VS
52532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * util/grub-mkstandalone.in: Fix modules directory.
5256
a9d96eeb
VS
52572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5260 on i386-pc target.
5261 (argp_parser): Accept "auto" as compression specification.
5262
e4e37e8d
VS
52632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Fix `help' with unloaded modules.
5266
5267 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5268 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5269 (grub_dyncmd_dispatcher): Small stylistic fix.
5270 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5271 explicit help is requested.
5272
e1ea3ade
VS
52732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5276 Explicitly init restart while on it.
5277
27556881
VS
52782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5281 uninited variable.
5282
d65f6b36
VS
52832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * util/grub-mknetdir.in: Use . rather than source for POSIX
5286 compatibility.
5287
0a1e473c
VS
52882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5291
ce6647c8
VS
52922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5295 variable.
5296
66747894
VS
52972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5300 without quotes.
5301
71645f6e
VS
53022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5305
0e1c1f61
VS
53062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5309 iteration of partitions.
5310
9c4b5c13
VS
53112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Improve gettext support. Stylistic fixes and error handling fixes while
5314 on it.
5315
215c90cb
VS
53162012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5319 part. Instead setup the correct stack in RM.
5320 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5321 for stack.
5322 * include/grub/i386/relocator_private.h: New file.
5323
b5c1f9bf
VS
53242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5327 argument.
5328 * util/grub-fstest.c (options): Add missing DEVICE part.
5329
b525fd83
VS
53302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 Clarify and unify messages.
5333
5334 * grub-core/commands/hashsum.c (options): Unify messages.
5335 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5336 literal-only message as translatable.
5337 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5338 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5339 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5340 commands.
5341 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5342 key, not the key used to unlock. Clarify what it's used for.
5343 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5344 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5345 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5346 * util/grub-editenv.c (options): Unify "verbose" message.
5347 * util/grub-fstest.c (read_file): Unify error message.
5348 (fstest): Add quotes around commands.
5349 (options): Unify "verbose" message.
5350 * util/grub-install.in: Add quotes around variable name.
5351 * util/grub-kbdcomp.in: Unify error message.
5352 * util/grub-mkfont.c (main): Likewise.
5353 * util/grub-mkrescue.in: Likewise.
5354 * util/grub-mklayout.c (options): Unify "verbose" message.
5355 * util/grub-mkstandalone.in: Unify help and verbose messages.
5356 * util/grub-mount.c (options): Unify "verbose" message.
5357 * util/grub-probe.c (options): Likewise.
5358 * util/grub-script-check.c (options): Likewise.
5359 * util/grub-setup.c (setup): Unify no-terminator message.
5360 (options): Use DEVICE and not DEV.
5361 Unify "verbose" message.
5362 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5363
0ae70393
VS
53642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Improve and unify messages.
5367
5368 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5369 name. All users updated.
5370 Print filename in error.
5371 (read_device_map): Print filename in error.
5372 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5373 (grub_util_get_os_disk): Likewise.
5374 (grub_util_biosdisk_get_grub_dev): Likewise.
5375 (grub_util_check_block_device): Likewise.
5376 (grub_util_check_char_device): Likewise.
5377 (grub_make_system_path_relative_to_its_root): Likewise.
5378 * util/grub-editenv.c (create_envblk_file): Likewise.
5379 (open_envblk_file): Likewise.
5380 (write_envblk): Likewise.
5381 * util/grub-fstest.c (cmd_cp): Likewise.
5382 (cmd_cat): Likewise.
5383 (cmd_cmp): Likewise.
5384 * util/grub-menulst2cfg.c (main): Likewise.
5385 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5386 (write_font_width_spec): Likewise.
5387 (write_font_pf2): Likewise.
5388 * util/grub-mkimage.c (generate_image): New argument outname.
5389 All users updated.
5390 Remove unreacheable message.
5391 (options): Unify messages.
5392 (help_filter): Likewise.
5393 * util/grub-mklayout.c (usage): Removed (unused).
5394 (main): Print filename in error.
5395 * util/grub-mkrescue.in: Fix wrong quoting.
5396 * util/grub-setup.c (setup): Print filename in error.
5397 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5398 (check_sas): Likewise.
5399 * util/misc.c (grub_util_get_fp_size): Removed.
5400 (grub_util_get_image_size): Print filename in error.
5401 (grub_util_read_at): Removed.
5402 (grub_util_read_image): Print filename in error.
5403 (grub_util_load_image): Likewise.
5404 (grub_util_write_image_at): New argument filename. All users updated.
5405 Print filename in error.
5406 (grub_util_write_image): New argument filename. All users updated.
5407 Print filename in error.
5408 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5409 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5410
0a96117d
VS
54112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/Makefile.core.def (pxechain): New module.
5414 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5415 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5416 function.
5417 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5418 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5419
aca002f7
VS
54202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5423 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5424 * include/grub/err.h (grub_error_saved): New struct.
5425 (grub_errmsg): Make array size explicit.
5426 * include/grub/misc.h (grub_error_save): New function.
5427 (grub_error_load): Likewise.
5428 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5429 (grub_error_push): Update `errno' member name.
5430 (grub_error_pop): Likewise
5431 * grub-core/net/tftp.c (tftp_data): New member save_err.
5432 (tftp_receive): Save error.
5433 (tftp_open): Restore error.
5434
a51dab13
VS
54352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5438 to real mode down to execute A20-related code in protected mode as
5439 intended.
5440
eb6e6649
GS
54412012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5442
5443 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5444 NULL when the argument `level' has an unexpected value.
5445
92cd0f6e
VS
54462012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 Move platform-dependent files from $prefix to $prefix/$platform.
5449
5450 * config.h.in (GRUB_TARGET_CPU): New definition.
5451 (GRUB_PLATFORM): Likewise.
5452 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5453 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5454 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5455 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5456 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5457 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5458 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5459 * grub-core/normal/term.c (read_terminal_list): Likewise.
5460 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5461 $prefix/locale.
5462 (grub_gettext_init_ext): Likewise.
5463 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5464 grub_platform.
5465 * util/grub-install.in: Update directories.
5466 * util/grub-mknetdir.in: Likewise.
5467 * util/grub-mkrescue.in: Likewise.
5468
db606889
VS
54692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5472 grub_error framework. All users updated.
5473
c39992a4
VS
54742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5477 lists (by always binsearching), improve caching (cache strings
5478 used for binsearch, not only results), improve
5479 maintainability (by using more structured binary search) and correct
5480 error handling.
5481
1e5ec32f
VS
54822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/script/execute.c (grub_script_return): Fix warning.
5485
ac576cde
VS
54862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/script/execute.c (grub_script_return): Fix potential
5489 NULL-dereference.
5490 Reported by: Jim Meyering.
5491
498453f6
VS
54922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * po/POTFILES.in: Regenerate.
5495 * util/grub-install.in: Gettextize the strings missed in first pass.
5496
8be63f2e
VS
54972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * Makefile.util.def (grub-mkdevicemap): Removed.
5500 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5501 * include/grub/util/deviceiter.h: Removed.
5502 * util/deviceiter.c: Likewise.
5503 * util/getroot.c (grub_util_get_os_disk): New function.
5504 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5505 replacement for EFI.
5506 * util/grub-mkdevicemap.c: Removed.
5507 * util/grub-probe.c (probe): Handle PRINT_DISK.
5508 (argp_parser): Handle -t disk.
5509
8e1e4e39
VS
55102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * util/grub-mkfont.c: Migrate to argp.
5513 * util/grub-mklayout.c: Likewise.
5514 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5515 * util/grub-mkrelpath.c: Likewise.
5516 * util/grub-probe.c: Likewise.
5517 * util/grub-script-check.c: Likewise.
5518
4459819a
VS
55192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * util/grub-reboot.in: Add missing datarootdir.
5522 Add missing newline.
5523 * util/grub-set-default.in: Add missing datarootdir.
5524 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5525 * util/grub-mkrescue.in: Likewise.
5526
f65741c7
VS
55272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5530
c1a33466
VS
55312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-kbdcomp.in: Add decent help and gettextize.
5534 * docs/man/grub-kbdcomp.h2m: New file.
5535
c76899a0
VS
55362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 Migrate grub-mkimage.c to argp.
5539
5540 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5541 (grub-setup): Likewise.
5542 * util/grub-setup.c (print_version): Move to ...
5543 * util/argp_common.c (print_version): ... here.
5544 * util/grub-setup.c (argp_program_version_hook): Move to ...
5545 * util/argp_common.c (argp_program_version_hook): ... here.
5546 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5547 safety.
5548 * util/grub-mkimage.c (main): Migrate to argp.
5549
57db0757
VS
55502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * util/grub-mkrescue.in: Use same message as
5553 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5554 for better translations.
5555
18534ad9
VS
55562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5559 options with generic grub-mkrescue.in with the goal of future
5560 merge.
5561
c84ba308
VS
55622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/kern/mm.c: Add missing include of i18n.h
5565 * grub-core/lib/relocator.c: Likewise.
5566
347998c2
VS
55672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5570 error.
5571 (allocate_pages): Check return value.
5572 Replace fatal with error.
5573 (grub_linux_boot): Replace printf with dprintf.
5574 Check find_mmap_size return value.
5575 Replace fatal with error.
5576 Don't call grub_machine_fini.
5577 (grub_load_elf64): Replace printf with dprintf.
5578 (grub_cmd_linux): Likewise.
5579 (grub_cmd_initrd): Likewise.
5580 (grub_cmd_payload): Likewise.
5581
c779226e
VS
55822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5585 message.
5586 * grub-core/video/radeon_fuloong2e.c
5587 (grub_video_radeon_fuloong2e_setup): Likewise.
5588 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5589 * grub-core/video/video.c (grub_video_set_mode): Don't override
5590 standard out of memory message.
5591
dc87d45a
GS
55922012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5593
5594 NetBSD disk wedge support.
5595
5596 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5597 [__NetBSD__]: Handle NetBSD disk wedges.
5598 * util/getroot.c (convert_system_partition_to_system_disk)
5599 [__NetBSD__]: Likewise.
5600
055f856f
MW
56012012-02-03 Mark Wooding <mdw@distorted.org.uk>
5602
5603 * util/grub-mkconfig.in: Use umask rather than chmod to create
5604 grub.cfg.new to avoid insecure grub.cfg.
5605
4a9f8346
VS
56062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/commands/ls.c: Gettextize.
5609 * grub-core/commands/setpci.c: Likewise.
5610 * grub-core/commands/videotest.c: Likewise.
5611 * grub-core/disk/geli.c: Likewise.
5612 * grub-core/kern/mm.c: Likewise.
5613 * grub-core/lib/relocator.c: Likewise.
5614 * grub-core/loader/efi/appleloader.c: Likewise.
5615 * grub-core/loader/i386/xnu.c: Likewise.
5616 * grub-core/loader/ia64/efi/linux.c: Likewise.
5617 * grub-core/loader/xnu.c: Likewise.
5618 * grub-core/net/dns.c: Likewise.
5619 * grub-core/net/net.c: Likewise.
5620 * grub-core/script/lexer.c: Likewise.
5621 * grub-core/script/parser.y: Likewise.
5622 * grub-core/script/yylex.l: Likewise.
5623 * util/getroot.c: Likewise.
5624 * util/grub-setup.c: Likewise.
5625
a646a366
VS
56262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5629 number.
5630
54e2be26
VS
56312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5634
f7c71e68
VS
56352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5638 macro.
5639 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5640 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5641
a32d5c71
VS
56422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5645 * util/grub-install.in: Gettextize.
5646 * util/grub-mkconfig.in: Likewise.
5647 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5648 if not available.
5649 (grub_warn): Gettextize.
5650 * util/grub-mknetdir.in: Gettextize.
5651 * util/grub-mkrescue.in: Likewise.
5652 * util/grub-mkstandalone.in: Likewise.
5653 * util/grub-reboot.in: Likewise.
5654 * util/grub-set-default.in: Likewise.
5655 * util/grub.d/00_header.in: Likewise.
5656 * util/grub.d/10_hurd.in: Likewise.
5657 * util/grub.d/10_kfreebsd.in: Likewise.
5658 * util/grub.d/10_linux.in: Likewise.
5659 * util/grub.d/10_netbsd.in: Likewise.
5660 * util/grub.d/10_windows.in: Likewise.
5661 * util/grub.d/20_linux_xen.in: Likewise.
5662 * util/grub.d/30_os-prober.in: Likewise.
5663 * po/POTFILES-shell.in: Regenerate.
5664
69edd81a
RL
56652012-02-03 Richard Laager <rlaager@wiktel.com>
5666
5667 * util/grub-mkimage.c (main): Fix format-security warning.
5668 * util/grub-mkrelpath.c (main): Likewise.
5669 * util/grub-probe.c (main): Likewise.
5670
65f08dbf
RL
56712012-02-03 Richard Laager <rlaager@wiktel.com>
5672
5673 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5674 failure.
5675 Put back lost PRINT_DRIVE.
5676
e9084abe
RL
56772012-02-03 Richard Laager <rlaager@wiktel.com>
5678
5679 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5680 (grub_guess_root_devices): Replace strlen with sizeof.
5681 Avoid crash.
5682 (find_root_devices_from_poolname): Remove unused variable.
5683 Handle raidzN.
5684
cf5f7ee7
VS
56852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Support install on multi-device filesystems.
5688
5689 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5690 (grub_guess_root_devices): ...this. Return char **. All users updated.
5691 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5692 Removed.
5693 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5694 (find_root_devices_from_poolname): ... here.
5695 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5696 Support zfs-fuse.
5697 (grub_guess_root_device): Rename to ...
5698 (grub_guess_root_devices): ... this. Return char **. All users updated.
5699 * util/grub-install.in: Handle multi-device filesystems.
5700 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5701 argument. All users updated.
5702 Handle multi-device filesystems.
5703 Use 'delim' as separator.
5704 Remove device check to allow filesystems on file.
5705 (main): Support -0 argument. Handle multi-device.
5706 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5707 Fix a cross-device check while on it.
5708 (arguments): Remove root_dev.
5709 (argp_parser): Remove -r.
5710 (main): Remove root_dev.
5711
2f53a9ed
VS
57122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5715
17e1d934
VS
57162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5719 symbol.
5720 Reported by: NODA, Kai <nodakai>.
5721
d3e3fab5
VS
57222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 Fix ehci on amd64.
5725
5726 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5727 pointers.
5728 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5729 (grub_ehci_setup_qh): Likewise.
5730 (grub_ehci_find_qh): Likewise.
5731 (grub_ehci_transaction): Likewise.
5732 (grub_ehci_setup_transfer): Likewise.
5733 (grub_ehci_check_transfer): Likewise.
5734 (grub_ehci_portstatus): Likewise.
5735 (grub_ehci_detect_dev): Likewise.
5736 (grub_ehci_transfer_controller_data): New field td_last_phys.
5737 (grub_ehci_setup_transfer): Fill td_last_phys.
5738 (grub_ehci_check_transfer): Use td_last_phys.
5739
3008675b
SG
57402012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5741
5742 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5743 if no submenu is present.
5744
fc9b5652
AN
57452012-02-01 Aleš Nesrsta <starous@volny.cz>
5746
5747 CBI support.
5748
5749 * include/grub/usb.h (grub_usbms_protocol_t): New values
5750 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5751 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5752 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5753 (grub_usbms_dev): Add subclass, protocol and intrpt.
5754 Remove in_maxsz and out_maxsz.
5755 (grub_usbms_reset): Rename to ...
5756 (grub_usbms_bo_reset): .. this.
5757 (grub_usbms_cbi_cmd): New function.
5758 (grub_usbms_cbi_reset): Likewise.
5759 (grub_usbms_reset): Likewise.
5760 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5761 (grub_usbms_transfer): Rename to ...
5762 (grub_usbms_transfer_bo): ... this.
5763 (grub_usbms_transfer_cbi): Likewise.
5764 (grub_usbms_transfer): Likewise.
5765
a2b81d53
AN
57662012-02-01 Aleš Nesrsta <starous@volny.cz>
57672012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5770 the support for the CS5536 modification thereos and few bugfixes.
5771
5772 * grub-core/Makefile.core.def (ehci): New module.
5773 * grub-core/bus/usb/ehci.c: New file.
5774 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5775 port and hubaddr. All users updated.
5776 Save port and hubaddr into dev structure.
5777 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5778 define.
5779 * include/grub/pci.h (grub_dma_phys2virt): New function.
5780 (grub_dma_virt2phys): Likewise.
5781 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5782
b1d51f02
VS
57832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5786 check as some mkfs implementations omit it.
5787
fc694106
VS
57882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5791
6c0920e3
VS
57922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5795 Add new member volname2.
5796 (grub_jfs_label): Use volname2 if available.
5797
d1a46f9a
VS
57982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5801 over last_mounted as seen in image generated by mkfs.nilfs2.
5802 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5803
dec8ed14
VS
58042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5807 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5808 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5809
7397c69b
VS
58102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5813 over the sector.
5814
b3fe42ad
VS
58152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5818 subvolume name (by removing a bogus and useless check).
5819
10476bb0
VS
58202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5823 sizeof while on it.
5824
9c08ad87
VS
58252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5828 (grub_scsi_read_capacity10): ... this.
5829 (grub_scsi_read_capacity16): New function.
5830 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5831 0xffffffff.
5832 Fix off-by-one error.
5833 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5834 64-bit unsigned.
5835 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5836 (grub_scsi_read_capacity10): ... this.
5837 (grub_scsi_read_capacity_data): Rename to ...
5838 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5839 (grub_scsi_read_capacity16): New struct.
5840 (grub_scsi_read_capacity16_data): Likewise.
5841 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5842 grub_scsi_cmd_read_capacity10.
5843 New command grub_scsi_cmd_read_capacity16.
5844
bc8d0f45
VS
58452012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 SCSI >2TiB support.
5848
5849 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5850 (grub_scsi_write16): Likewise.
5851 (grub_scsi_read): Use read16 when necessary.
5852 (grub_scsi_write): Likewise.
5853 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5854 (grub_scsi_write16): Likewise.
5855 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5856
cc774926
VS
58572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 SCSI write support (for usbms mainly).
5860
5861 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5862 a const pointer.
5863 (grub_scsi_write): Implement.
5864 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5865
67639fd7
VS
58662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5869 variable.
5870
9079d3ed
VS
58712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5874
c6a6f204
VS
58752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * po/POTFILES.in: Regenerate.
5878
ecbf8cd1
VS
58792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5882 with grub_printf to avoid unnecessary fatal failure.
5883
0b3b3b38
VS
58842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5887 (INT_MAX): Likewise.
5888 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5889 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5890 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5891 (strcpy): Likewise.
5892 (strstr): Likewise.
5893 (strchr): Likewise.
5894 (strncpy): Likewise.
5895 (strcat): Likewise.
5896 (strncat): Likewise.
5897 (strcoll): Likewise.
5898 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5899 (GRUB_INT_MAX): Likewise.
5900
db7337a3
VS
59012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5904 unexpected error.
5905 (optimize_utf8): Likewise.
5906 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5907
f37c87e1
VS
59082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/boot/i386/pc/lnxboot.S: Use
5911 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5912 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5913 location.
5914 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5915 definition.
5916 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5917
63fe43f3
VS
59182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5921 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5922 now to avoid double free.
5923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5924 hostdisk.
5925 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5926 * util/grub-probe.c (escape_of_path): Always return a new copy.
5927 (print_full_name): Escape path.
5928 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5929 Fix hints on abstractions.
5930
ebe2c961
VS
59312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5934 Don't add "root" line if no compatibility hont is available.
5935 Suggested by: Seth Goldberg.
5936
2b5336a2
VS
59372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5940 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5941 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5942 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5943
74310bd8
VS
59442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5947
c30582ba
VS
59482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * util/grub-pe2elf.c (ehdr): Make static.
5951 (shdr): Likewise.
5952 (num_sections): Likewise.
5953 (offset): Likewise.
5954
5f47782c
VS
59552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 Eliminate ofpath limits and possible overflows.
5958
5959 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5960 (OF_PATH_MAX): Removed.
5961 (MAX_DISK_CAT): New const.
5962 (find_obppath): Use allocated rather than preallocated buffer.
5963 Return result. Argument of_path removed. All users updated.
5964 Add missing fdstat.
5965 (xrealpath): New function.
5966 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5967 Allocate rather than use preallocated buffer. All users updated.
5968 (__of_path_common): Use allocated rather than preallocatecd buffer.
5969 Return result. Argument of_path removed. All users updated.
5970 (vendor_is_ATA): Read only needed part form the file.
5971 (check_sas): Allocate depending on contents rather than fixed.
5972 (main) [STANDALONE]: Handle NULL result.
5973
f990cbf9
VS
59742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5977
9c6e84b8
VS
59782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 Cryptodisk write support.
5981
5982 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5983 (grub_cryptodisk_decrypt): Moved logic to ...
5984 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5985 (grub_cryptodisk_write): Implement.
5986 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5987 (grub_util_fd_write): ... this. Make global.
5988 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5989
87cf9744
VS
59902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * include/grub/list.h (grub_list_remove): Don't crash if element is
5993 removed twice.
5994
ca8c0baf
VS
59952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 Rename ofconsole to console.
5998
5999 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6000 as sysnonym to console.
6001 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6002 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6003 Rename grub_ofconsole_ to grub_console_. All users updated
6004 (grub_console_term_output): Rename "ofconsole" to "console".
6005 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6006 as "console".
6007
64c8b8f6
VS
60082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6011 handling.
6012 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6013 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6014 GRUB_DISK_DEVICE_FILE_ID.
6015
f6c434d5
VS
60162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6019 and improve performance.
6020
5858b42d
VS
60212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6024 missing ieee1275/ prefix on whole disk.
6025
4ed3c26b
VS
60262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6029 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6030
df71143e
VS
60312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6034
076e7c0f
VS
60352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 Merge common RAID and LVM logic to an abstract diskfilter.
6038 Add LDM support using the same framework.
6039
6040 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6041 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6042 (libgrubmods): Remove grub-core/disk/raid.c and
6043 grub-core/partmap/gpt.c.
6044 * grub-core/Makefile.core.def (ldm): New module.
6045 (raid): Renamed to diskfilter. All users updated.
6046 * grub-core/disk/raid.c: Moved to ...
6047 * grub-core/disk/diskfilter.c: ... here.
6048 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6049 (lv_num): New var.
6050 (find_array): Renamed to ...
6051 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6052 (grub_is_array_readable): Renamed to ...
6053 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6054 (insert_array): New argument id.
6055 (is_node_readable): New function.
6056 (scan_device): Rename to ...
6057 (scan_disk): .. this. Restrict to one disk.
6058 (scan_devices): New function.
6059 (grub_diskfilter_iterate): Support multi-LV.
6060 Skip invisible and nameless LVs.
6061 (grub_diskfilter_memberlist): Support multi-LV.
6062 (grub_diskfilter_read_node): New function.
6063 (grub_raid_read): Most of logic moved to ...
6064 (read_segment): ... here
6065 (read_lv): New function.
6066 (grub_diskfilter_get_vg_by_uuid): New function.
6067 (grub_diskfilter_make_raid): Likewise.
6068 * grub-core/disk/ldm.c: New file.
6069 * grub-core/disk/lvm.c (vg_list): Removed.
6070 (lv_count): Likewise.
6071 (scan_depth): Likewise.
6072 (is_lv_readable): Likewise.
6073 (grub_lvm_getvalue): Advance pointer past the number.
6074 (find_lv): Removed.
6075 (do_lvm_scan): Refactored into ...
6076 (grub_lvm_detect): ... this. Support raid.
6077 (grub_lvm_iterate): Removed.
6078 (grub_lvm_memberlist): Likewise.
6079 (grub_lvm_open): Likewise.
6080 (grub_lvm_close): Likewise.
6081 (read_lv): Likewise.
6082 (read_node): Likewise.
6083 (is_node_readable): Likewise.
6084 (is_lv_readable): Likewise.
6085 (grub_lvm_read): Likewise.
6086 (grub_lvm_write): Likewise.
6087 (grub_lvm_dev): Use diskfilter
6088 (GRUB_MOD_INIT): Likewise.
6089 (GRUB_MOD_FINI): Likewise.
6090 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6091 new interface.
6092 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6093 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6094 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6095 grub_diskfilter_read_node.
6096 Fix a bug with xor.
6097 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6098 grub_diskfilter_read_node.
6099 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6100 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6101 (grub_disk_dev_iterate): Move from here...
6102 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6103 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6104 Make global.
6105 (grub_hostdisk_find_partition_start): Likewise.
6106 (grub_hostdisk_os_dev_to_grub_drive): New function.
6107 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6108 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6109 * util/getroot.c (make_device_name): ... here.
6110 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6111 Move to ...
6112 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6113 * grub-core/kern/emu/hostdisk.c
6114 (convert_system_partition_to_system_disk): Move to ...
6115 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6116 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6117 * util/getroot.c (device_is_wholedisk): ... here.
6118 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6119 * util/getroot.c (find_system_device): ... here.
6120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6121 Move to ...
6122 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6123 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6124 Move to ...
6125 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6126 Handle LDM.
6127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6128 Move to ...
6129 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6130 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6131 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6132 DISKFILTER.
6133 * include/grub/raid.h: Renamed to ...
6134 * include/grub/diskfilter.h: ... this.
6135 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6136 (GRUB_RAID_LAYOUT_*): Make into array.
6137 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6138 (grub_diskfilter_vg): New struct.
6139 (grub_diskfilter_pv_id): Likewise.
6140 (grub_raid_member): Removed.
6141 (grub_raid_array): Likewise.
6142 (grub_diskfilter_pv): New struct.
6143 (grub_diskfilter_lv): Likewise.
6144 (grub_diskfilter_segment): Likewise.
6145 (grub_diskfilter_node): Likewise.
6146 (grub_diskfilter_get_vg_by_uuid): New proto.
6147 (grub_raid_register): Inline.
6148 (grub_diskfilter_unregister): Likewise.
6149 (grub_diskfilter_make_raid): New proto.
6150 (grub_diskfilter_vg_register): Likewise.
6151 (grub_diskfilter_read_node): Likewise.
6152 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6153 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6154 (grub_util_is_ldm): Likewise.
6155 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6156 (grub_hostdisk_find_partition_start): Likewise.
6157 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6158 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6159 New definition.
6160 (grub_gpt_partition_map_iterate): New proto.
6161 * include/grub/lvm.h (grub_lvm_vg): Removed.
6162 (grub_lvm_pv): Likewise.
6163 (grub_lvm_lv): Likewise.
6164 (grub_lvm_segment): Likewise.
6165 (grub_lvm_node): Likewise.
6166 * util/getroot.c [...]
6167 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6168 (probe_abstraction): Likewise.
6169 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6170 (main): Remove dead logic.
6171
8a7f9b9c
VS
61722012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Simplify root device discover and don't fail when trying to open
6175 incorrect devices.
6176
6177 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6178 function.
6179 (get_diskname_from_path): Likewise.
6180 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6181 of iterating.
6182
30545b85
VS
61832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6186
28ea58cf
VS
61872012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6190 pastthe end.
6191
692dabca
VS
61922012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * util/grub-install.in: Add missing \.
6195 Reported by: gentoofan
6196
f6e4ea70
VS
61972012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6200 (direct_read): Use correct compressed size.
6201 (grub_squash_read_data): Likewise.
6202
62032012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6204
6205 * docs/grub.texi (Platform limitations): New section.
6206 (Platform-specific operations): Likewise.
6207 * docs/grub-dev.texi (Porting): Likewise.
6208
76261110
VS
62092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 IEEE1275 disk write support.
6212
6213 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6214 const void *.
6215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6216 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6217 and seek loginc to ...
6218 (grub_ofdisk_prepare): ... here.
6219 (grub_ofdisk_write): Implement.
6220
fc36d603
VS
62212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 ARC disk write support.
6224
6225 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6226 (reopen): New argument writable. All users updated.
6227 Handle required access mode.
6228 (grub_arcdisk_write): Implement.
6229 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6230 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6231
e06c2e7a
VS
62322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6235 (read_sblock): Don't attempt to read superblocks outside the disk size.
6236
ff447958
VS
62372012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6240 first superblock to find the second one when possible.
6241
9e88df39
VS
62422012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * util/grub-install.in: Fix an ARC bug.
6245 Print a warning if no platform-specific setup is available.
6246
bb26e4ff
VS
62472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 Use static allocation rather than scratch pointer in reed_solomon.
6250 It decreases its size significantly and avoids a variable in .text.
6251
6252 * grub-core/lib/reed_solomon.c (scratch): Removed.
6253 (chosenstat): New const or static array.
6254 (sigma): Likewise.
6255 (errpot): Likewise.
6256 (errpos): Likewise.
6257 (sy): Likewise.
6258 (mstat): Likewise.
6259 (errvals): Likewise.
6260 (eqstat): Likewise.
6261 (pol_evaluate): Replace x with log_x argument. All users updated.
6262 (syndroms): Removed.
6263 (gauss_solve): Use statically allocated arrays.
6264 (rs_recover): Likewise.
6265 Calculate syndroms directly.
6266 (decode_block): Use statically allocated arrays.
6267 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6268 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6269
2e13ede5
VS
62702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Eliminate fixed limit on reed solomon decoder length.
6273
6274 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6275 rather than hardcoding the address.
6276 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6277 no_reed_solomon_length.
6278 Move gate_a20 to no-reed-solomon part.
6279 Don't force a particular size of no reed-solomon part.
6280 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6281 Removed.
6282 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6283 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6284
f8a9ab12
VS
62852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/commands/wildcard.c (match_files): Handle filenames
6288 without explicit device.
6289 (wildcard_expand): Don't add explicit device if not already present.
6290 * tests/grub_script_echo1.in: Add a new expansion test.
6291
87edb894
VS
62922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 Replace single-linked with double-linked lists. It results in more
6295 compact and more efficient code.
6296
6297 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6298 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6299 (grub_list_remove): Moved from here ...
6300 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6301 (grub_prio_list_insert): Set prev.
6302 * include/grub/list.h (grub_list): Add prev. All users updated.
6303
48b391e9
VS
63042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 Handle newer autotools. Add some missing quotes while on it.
6307
6308 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6309 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6310 (pkgdata_DATA): ... here.
6311 * Makefile.util.def (update-grub_lib): Removed.
6312 * conf/Makefile.common (pkglib_DATA): Removed.
6313 (pkglib_SCRIPTS): Likewise.
6314 (pkgdata_DATA): New variable.
6315 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6316 needed.
6317 Add missing quotes.
6318 Remove unused variable while on it.
6319 * tests/util/grub-shell.in: Likewise.
6320 * util/grub-install.in: Likewise.
6321 * util/grub-mkconfig.in: Likewise.
6322 * util/grub-mknetdir.in: Likewise.
6323 * util/grub-mkrescue.in: Likewise.
6324 * util/grub-mkstandalone.in: Likewise.
6325 * util/grub.d/00_header.in: Likewise.
6326 * util/grub.d/10_hurd.in: Likewise.
6327 * util/grub.d/10_illumos.in: Likewise.
6328 * util/grub.d/10_kfreebsd.in: Likewise.
6329 * util/grub.d/10_linux.in: Likewise.
6330 * util/grub.d/10_netbsd.in: Likewise.
6331 * util/grub.d/10_windows.in: Likewise.
6332 * util/grub.d/20_linux_xen.in: Likewise.
6333 * util/grub.d/30_os-prober.in: Likewise.
6334 * util/update-grub_lib.in: Removed.
6335
63362012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6337
6338 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6339 a workaround for intel problem.
6340
66832792
PRP
63412012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
63422012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
63432012-01-23 pfsmorigo
6344
6345 * util/grub-install.in: Support dd'in into PreP partition.
6346 * util/grub-probe.c (probe): Support discovering partition type.
6347 (main): Support -t msdos_parttype.
6348
7816a17e
VS
63492012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6352 infinite recursion using counter.
6353 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6354 init to skip it if the magic check fails.
6355 (dec_stream_header): Init s->crc32.
6356
8f9d3a8c
ZB
63572012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
63582012-01-22 Zachary Bedell <pendorbound@gmail.com>
63592012-01-22 Richard Laager <rlaager@wiktel.com>
6360
6361 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6362 All users updated.
6363 (find_bestub): Determine correct size.
6364 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6365 (scan_disk): Align the size down.
6366 Call check pool before find_bestub to have ashift.
6367
b055dd32
VS
63682012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6371 dprintf in no-malloc zone.
6372
d779e9bd
ML
63732012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6374
6375 * configure.ac: Add back in test for limits.h.
6376
b508af69
VS
63772012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Support 4K-sector NTFS.
6380
6381 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6382 (grub_ntfs_data): Remove blocksize.
6383 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6384 Remove data argument. All users updated.
6385
dad9c8b5
VS
63862012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6389 being in .text to avoid dprel references.
6390 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6391 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6392 (grub_arch_highmemsize): Likewise.
6393 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6394 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6395 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6396
d43a777e
VS
63972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6400
6401 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6402 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6403
34e4208f
VS
64042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6407 GRUB_UTIL.
6408 (grub_set_datetime_cmos): Likewise.
6409
3ec0fc1c
VS
64102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 Make XZ compression parameters dependent on target and not host CPU.
6413
6414 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6415 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6416
22489834
VS
64172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6420 set but not used variable.
6421
8502fbca
VS
64222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6425 created when no uuid support is compiled into mkfs.reiser.
6426
76df2068
VS
64272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6430 (utf8_to_macroman): Do the opposite.
6431 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6432
64e3f8f6
VS
64332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * configure.ac: Refise build qemu_mips w/o unifont.
6436
9c271078
VS
64372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 Eliminate grub_min/grub_max prone to overflow usage.
6440
6441 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6442 (poll_nonroot_hub): Likewise.
6443 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6444 (grub_affs_label): Likewise.
6445 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6446 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6447 (grub_hfs_label): Likewise.
6448 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6449 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6450 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6451 (zap_leaf_array_get): Likewise.
6452 (dnode_get_path): Likewise.
6453 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6454 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6455 * grub-core/script/execute.c (grub_script_break): Likewise.
6456 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6457 grub_max.
6458 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6459 * include/grub/misc.h (grub_min): Removed.
6460 (grub_max): Likewise.
6461
80662dbc
VS
64622012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6463
6464 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6465 direct.inode = 0.
6466
e6da1467
VS
64672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6470
b1ac4cb1
VS
64712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6474
b4bf7c3b
VS
64752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6478 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6479
8ee1101a
VS
64802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6483 rather than a hack for grub_strncasemap.
6484
64852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Support multiple initrds
6488 Note: part of this was accidently committed in r3739.
6489
6490 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6491 initrd.
6492 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6493 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6494 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6495 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6496 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6497
4d1e2bc9
VS
64982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6501 disks with unknown size.
6502 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6503
75b49ebe
VS
65042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Remove defines pertaining to arbitrary limits not affecting GRUB
6507 anymore.
6508
6509 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6510 (EXT2_MAX_SYMLINKCNT): Likewise.
6511 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6512 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6513 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6514 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6515 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6516 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6517 (DN_MAX_OBJECT_SHIFT): Likewise.
6518 (DN_MAX_OFFSET_SHIFT): Likewise.
6519 (DN_MAX_OBJECT): Likewise.
6520 (DNODES_PER_LEVEL_SHIFT): Likewise.
6521 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6522 (SPA_MAXBLOCKSIZE): Likewise.
6523 (SPA_BLOCKSIZES): Likewise.
6524 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6525 (MZAP_MAX_BLKSZ): Likewise.
6526
74a1dce7
VS
65272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6530 handle NULL appropriately.
6531 Remove MIN.
6532
30c7d3ce
VS
65332012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Fix efiemu.
6536
6537 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6538 cpu/types.h.
6539 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6540 * configure.ac: Fix efiemu check.
6541
3c76ea0c
VS
65422012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6545 grub_probe.
6546 Reported by: adamwill
6547
7e532280
SG
65482012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6549
6550 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6551
30492374
VS
65522012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 Fix handling of wide characters in gfxterm.
6555
6556 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6557 (clear_char): Likewise.
6558 (paint_char): Skip code == NULL chars.
6559 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6560
e70cb72f
VS
65612012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/normal/charset.c: Move comment to right place.
6564
5c827cf9
VS
65652012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6568 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6569 (grub_affs_mount): Revert the correct version checking.
6570
53603892
VS
65712012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * docs/grub.texi (Unicode): Mention several other unsupported features.
6574
ff094b9b
VS
65752011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6578 case statements as compile-time one.
6579 (direct_read): Prevent spurious warnings.
6580 (grub_squash_read_data): Likewise.
6581
c029da8a
VS
65822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Various squash4 fixes and LZO and XZ support.
6585
6586 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6587 Add xzembed source files.
6588 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6589 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6590 (grub_squash_inode): New subtype long_dir.
6591 (SQUASH_TYPE_LONG_DIR): New inode type.
6592 (COMPRESSION): New enum.
6593 (XZBUFSIZ): New const.
6594 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6595 (read_chunk): Use data->decompress.
6596 (zlib_decompress): New function.
6597 (lzo_decompress): Likewise.
6598 (xz_decompress): Likewise.
6599 (squash_mount): Set new data fields.
6600 (grub_squash_iterate_dir): Handle long dir.
6601 (squash_unmount): Free xzdec and xzbuf.
6602 (grub_squash_open): Check ino type.
6603 (direct_read): Stylistic fixes. Use data->decompress.
6604 (grub_squash_read_data): Likewise.
6605 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6606 (get_byte): Likewise.
6607 (grub_zlib_disk_read): Removed.
6608 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6609 (GRUB_POSIX_BOOL_DEFINED): New define.
6610 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6611 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6612 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6613 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6614
7a45a539
VS
66152011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 Don't override more informative errors.
6618
6619 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6620 * grub-core/font/font.c (open_section): Likewise.
6621 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6622 filename. Don't override errors.
6623 (grub_cmd_openbsd_ramdisk): Don't override errors.
6624 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6625 (grub_cmd_initrd): Likewise.
6626 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6627 (grub_cmd_initrd): Likewise.
6628 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6629 (grub_cmd_linux): Likewise.
6630 (grub_cmd_initrd): Likewise.
6631 (grub_cmd_payload): Likewise.
6632 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6633 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6634 (grub_cmd_module): Likewise.
6635 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6636 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6637 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6638 (grub_cmd_xnu_mkext): Likewise.
6639 (grub_cmd_xnu_ramdisk): Likewise.
6640 (grub_xnu_check_os_bundle_required): Likewise.
6641 (grub_xnu_load_kext_from_dir): Likewise.
6642 (grub_cmd_xnu_kextdir): Likewise.
6643 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6644
b2d004db
VS
66452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6648 as 1024 in block size field. Found on one of my test images.
6649 Small optimisation while on it.
6650
ec000eac
VS
66512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6654 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6655 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6656 performance fixes while on it.
6657 (grub_sfs_close): Fix memory leak while on it.
6658 (grub_sfs_label): Convert Latin1 to UTF-8.
6659
f50e1165
VS
66602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6663 space to avoid overflows.
6664 (grub_hfs_label): Convert from macroman to UTF-8.
6665
2ae254de
VS
66662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6669
0108f491
VS
66702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6673
f45f5f89
VS
66742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * unicode: Import Unicode 6.0 data.
6677
4d8c4765
VS
66782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6679
63fa8ef9
VS
6680 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6681 outside of range.
6682
66832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6686
6687 * include/grub/charset.h (grub_getend): New function.
6688 * grub-core/script/function.c (grub_script_function_find): Use
6689 grub_getend.
6690 * grub-core/normal/completion.c (add_completion): Likewise.
6691
f3cb4a4e
VS
66922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6695 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6696 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6697 (GRUB_UNICODE_TAG_END): Likewise.
6698 (GRUB_UNICODE_LAST_VALID): Likewise.
6699
5da8dbc5
VS
67002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6703 len and make it smaller. All users updated.
6704 * util/import_unicode.py: Put length and not end character.
6705 Check length.
6706
8569f13d
VS
67072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 Make better Unicode-compliant and unify some UTF-8 code pathes.
6710
6711 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6712 valid character.
6713 (grub_is_valid_utf8): Use grub_utf8_process.
6714 Check resulting code range.
6715 (grub_utf8_to_ucs4): Use grub_utf8_process.
6716 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6717 valid character.
6718
cc4fddf5
VS
67192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6722
bbc47747
VS
67232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * docs/grub.texi (Filesystems): Mention AFS.
6726
f63d6bf4
VS
67272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * docs/grub.texi (Filesystems): Clarify restrictions.
6730 (Regexp): Mention non-Unicode regexp behaviour.
6731 (Other): Mention non-Unicode matching behaviour.
6732
74bbf0db
VS
67332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6734
f63d6bf4 6735 Make HFS implementation use MacRoman.
74bbf0db
VS
6736
6737 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6738 (macroman): New const array.
6739 (macroman_to_utf8): New function.
6740 (utf8_to_macroman): Likewise.
6741 (grub_hfs_find_dir): Use utf8_to_macroman.
6742 (grub_hfs_dir): Use macroman_to_utf8.
6743 Set case_insensitive.
6744
4ea0316e
VS
67452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6748
d3c13cbd
VS
67492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Integrate hints into autogeneration scripts.
6752
6753 * docs/grub.texi (Filesystems): Add a hostdisk example.
6754 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6755 (grub-probe): Add ofpath.
6756 * gentpl.py: Remove group nosparc64.
6757 * grub-core/commands/search.c (cache_entry): New struct.
6758 (cache): New var.
6759 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6760 * grub-core/commands/search_wrap.c (options): Add platform-specific
6761 hint options.
6762 (grub_cmd_search): Handle platform-specific hints.
6763 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6764 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6765 (grub_util_biosdisk_data): Likewise.
6766 (grub_util_biosdisk_open): Set device_map.
6767 (read_device_map): Handle "" as indication of no map.
6768 Set device_map.
6769 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6770 (grub_util_biosdisk_get_compatibility_hint): New function.
6771 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6772 * include/grub/emu/hostdisk.h
6773 (grub_util_biosdisk_get_compatibility_hint): New proto.
6774 * util/grub-install.in: Don't call grub-mkdevicemap.
6775 Add platform-specific hint to load.cfg.
6776 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6777 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6778 hints. Set root preliminary to compatibility hint, not to OS name.
6779 * util/grub-probe.c (PRINT_*): Add hints.
6780 (print): Make static.
6781 (escape_of_path): New function.
6782 (guess_bios_drive): Likewise.
6783 (guess_efi_drive): Likewise.
6784 (guess_baremetal_drive): Likewise.
6785 (print_full_name): Likewise.
6786 (probe): Handle hints.
6787 (main): Likewise.
6788 * util/ieee1275/devicemap.c: Removed.
6789 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6790 updated.
6791 (grub_util_devname_to_ofpath): Return NULL on failure.
6792
6793 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6794 resource leak.
6795 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6796
6797 * po/POTFILES.in: Regenerated.
6798
6799 Allow purely long options
6800
6801 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6802 (SHORT_ARG_USAGE): Likewise.
6803 (grub_arg_show_help): Compare opt with help_options.
6804 (parse_option): Receive opt as argument. If makes big simplificatons.
6805 All users updated
6806
00ce2df3
VS
68072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6810 Restructure to avoid warning.
6811
e77e325f
VS
68122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * util/grub-install.in: Account for possible escaped comma in device
6815 name.
6816
165099ea
VS
68172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6820 channel.
6821
ce4a999d
VS
68222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6825 allocation and zero-setting.
6826 (grub_ieee1275_get_devname): Check that alias is complete.
6827
379586ad
VS
68282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6831 unaligned segments.
6832
9197b0ad
VS
68332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6836 prefix.
6837 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6838 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6839 Add ieee1275 prefix.
6840
edddb7f9
VS
68412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * docs/grub.texi (Filesystems): Update.
6844
a1a8b1b9
VS
68452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Support odc, newc and bigendian cpio formats.
6848
6849 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6850 * grub-core/Makefile.core.def (newc): New module.
6851 (odc): Likewise.
6852 (cpio_be): Likewise.
6853 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6854 (MAGIC): Likewise.
6855 (MAGIC2): Likewise.
6856 (head) [MODE_ODC]: Adapt for the format.
6857 (head) [MODE_NEWC]: Likewise.
6858 (head) [!MODE_*]: Write fields of interest as arrays.
6859 (MAGIC_USTAR): Removed.
6860 (read_number) [MODE_NEWC]: Change to hex.
6861 (read_number) [!MODE_*]: Parse binary arrays.
6862 (grub_cpio_find_file): Factor out the code for better structure and
6863 always use read_number.
6864 (grub_cpio_mount): Use MAGIC and MAGIC2.
6865 (grub_cpio_dir): Exit on first hook non-0 return.
6866 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6867 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6868 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6869 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6870 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6871 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6872 * grub-core/fs/newc.c: New file.
6873 * grub-core/fs/odc.c: Likewise.
6874 * grub-core/fs/cpio_be.c: Likewise.
6875
58eba9ee
VS
68762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 Fix handling of tar numbers occupying the whole field.
6879
6880 * grub-core/fs/cpio.c (read_number): New function.
6881 (grub_cpio_find_file): Use read_number instead of strtoull.
6882
a54a0e12
VS
68832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6886 occupying the whole field size.
6887
a6120aca
LA
68882011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6889
6890 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6891
a93964ce
VS
68922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6895
3ea1ca46
SG
68962011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6897
6898 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6899 TARGET_IMG_LDFLAGS.
6900
b87f7ef2
VS
69012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6904 (mountinfo_entry): Increase the field size to take escaping into
6905 account.
6906 (find_root_device_from_libzfs): Add one byte to size of strings for
6907 security.
6908
62092395
VS
69092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6912 an assert.
6913 * util/grub-setup.c (setup): Likewise.
6914
1f0b1a77
VS
69152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6918 _LzmaDecodeA.
6919
8eba9997
VS
69202011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * docs/grub.texi (Internationalisation): New section.
6923
dd0c91e9
VS
69242011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * docs/grub.texi (Loopback booting): New section.
6927
69282011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6929
6930 * util/grub-mkstandalone.in: Fix minor typo errors.
6931
198e150a
VS
69322011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6935
6936 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6937 net/icmp.c and net/icmp6.c.
6938 (http): New module.
6939 (priority_queue): Likewise.
6940 * grub-core/io/bufio.c: Rewritten.
6941 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6942 TYPE_WITH_CONFIGFILE_OPTION.
6943 (legacy_commands): Add bootp and dhcp.
6944 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6945 (grub_legacy_parse): Likewise.
6946 * grub-core/lib/priority_queue.c: New file.
6947 * grub-core/net/arp.c: Add missing license header.
6948 (arp_find_entry): Removed.
6949 (arp_find_entry): Likewise.
6950 (grub_net_arp_resolve): Rename to ...
6951 (grub_net_arp_send_request): ...this.
6952 (grub_net_arp_receive): New card argument.
6953 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6954 Set router and DNS server.
6955 (grub_net_configure_by_dhcp_ack): Handle routing information.
6956 (grub_cmd_bootp): Set checksum.
6957 (grub_bootp_init): Remove net_dhcp.
6958 * grub-core/net/dns.c: New file.
6959 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6960 completion.
6961 (get_card_packet): Handle allocation.
6962 (grub_efinet_findcards): Set mtu.
6963 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6964 (get_card_packet): Handle allocation.
6965 (emucard): Set mtu.
6966 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6967 (GRUB_MOD_INIT): Set mtu.
6968 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6969 mtu.
6970 (get_card_packet): Handle allocation.
6971 (grub_ofnet_findcards): Set mtu.
6972 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6973 assert.
6974 (grub_net_recv_ethernet_packet): Handle IPv6.
6975 * grub-core/net/http.c: New file.
6976 * grub-core/net/icmp.c: Likewise.
6977 * grub-core/net/icmp6.c: Likewise.
6978 * grub-core/net/ip.c (ip6addr): New type.
6979 (ip6hdr): Likewise.
6980 (reassemble): Likewise.
6981 (cmp): New function.
6982 (reassembles): New variable.
6983 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6984 (id): New variable.
6985 (send_fragmented): New function.
6986 (grub_net_send_ip_packet): Rename to ...
6987 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6988 Handle non-UDP.
6989 (grub_net_recv_ip_packets): Rename to ...
6990 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6991 (free_rsm): New function.
6992 (free_old_fragments): Likewise.
6993 (grub_net_recv_ip4_packets): New function.
6994 (grub_net_send_ip6_packet): Likewise.
6995 (grub_net_send_ip_packet): Likewise.
6996 (grub_net_recv_ip6_packets): Likewise.
6997 (grub_net_recv_ip_packets): Likewise.
6998 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6999 (LINK_LAYER_CACHE_SIZE): New const.
7000 (link_layer_find_entry): New function.
7001 (grub_net_link_layer_add_address): Likewise.
7002 (grub_net_link_layer_resolve_check): Likewise.
7003 (grub_net_link_layer_resolve): Likewise.
7004 (grub_net_ipv6_get_slaac): Likewise.
7005 (grub_net_ipv6_get_link_local): Likewise.
7006 (grub_cmd_ipv6_autoconf): Likewise.
7007 (parse_ip): Handle one number representation.
7008 (parse_ip6): New functoion.
7009 (match_net): Handle IPv6.
7010 (grub_net_resolve_address): Handle IPv6 and DNS.
7011 (grub_net_resolve_net_address): Handle IPv6.
7012 (route_cmp): New function.
7013 (grub_net_route_address): Find best route.
7014 (grub_net_addr_to_str): Handle IPv6.
7015 (grub_net_addr_cmp): New function.
7016 (grub_net_add_addr): Register local route.
7017 (print_net_address): Handle net address.
7018 (grub_net_poll_cards): Retransmit TCP.
7019 (grub_net_poll_cards_idle_real): Likewise.
7020 (have_ahead): New function.
7021 (grub_net_seek_real): Use underlying seek.
7022 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7023 * grub-core/net/tcp.c: New file.
7024 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7025 (cmp): New function.
7026 (ack): Likewise.
7027 (tftp_receive): Handle unordered input.
7028 (destroy_pq): New function.
7029 (tftp_close): Close pq.
7030 * grub-core/net/udp.c: Put missing license header.
7031 (grub_net_udp_socket): New function.
7032 (udp_socket_register): Likewise.
7033 (grub_net_udp_close): Likewise.
7034 (grub_net_recv_udp_packet): Check checksum.
7035 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7036 * include/grub/misc.h (grub_memchr): New function.
7037 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7038 (grub_net_card_driver): Return buf in recv.
7039 (grub_net_slaac_mac_list): New struct.
7040 (grub_network_level_protocol_id): Add ipv6.
7041 (grub_net_network_level_addr): Likewise.
7042 (grub_net_network_level_net_addr): Likewise.
7043 (grub_net_app_protocol): Add seek.
7044 (grub_net_socket): Removed.
7045 (grub_net_sockets): Likewise.
7046 (grub_net_socket_register): Likewise.
7047 (grub_net_socket_unregister): Likewise.
7048 (FOR_NET_SOCKETS): Likewise.
7049 (grub_net_add_addr): Add const.
7050 (GRUB_NET_BOOTP_*): New enum.
7051 (grub_net_addr_cmp): New proto.
7052 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7053 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7054 (grub_net_hwaddr_to_str): NEw proto.
7055 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7056 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7057 (grub_dns_init): New proto.
7058 (grub_dns_fini): Likewise.
7059 (grub_net_tcp_retransmit): Likewise.
7060 (grub_net_link_layer_add_address): Likewise.
7061 (grub_net_link_layer_resolve_check): Likewise.
7062 (grub_net_link_layer_resolve): Likewise.
7063 (grub_net_dns_lookup): Likewise.
7064 (grub_net_add_dns_server): Likewise.
7065 (grub_net_remove_dns_server): Likewise.
7066 (GRUB_NET_TRIES): New const.
7067 (GRUB_NET_INTERVAL): Likewise.
7068 * include/grub/net/arp.h: Mostly rewritten.
7069 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7070 * include/grub/net/ip.h: Mostly rewritten.
7071 * include/grub/net/netbuff.h: Indent.
7072 * include/grub/net/tcp.h: New file.
7073 * include/grub/net/udp.h: Mostly rewritten.
7074 * include/grub/priority_queue.h: New file.
7075 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7076 (grub_swap_bytes64_compile_time): Likewise.
7077 (grub_cpu_to_be16_compile_time): Likewise.
7078 (grub_cpu_to_be32_compile_time): Likewise.
7079 (grub_cpu_to_be64_compile_time): Likewise.
7080 (grub_be_to_cpu64_compile_time): Likewise.
7081
215c1800
VS
70822011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7085 UINT_TO_PTR with cast.
7086
c17e546c
VS
70872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7090 don't use them.
7091
ff6b18b6
VS
70922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7095 already there.
7096
70ffcc93
VS
70972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7100 confusing ipxe.
7101
e5f4d260
VS
71022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7105 Add missing const attribute.
7106 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7107 Likewise.
7108 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7109 Likewise.
7110
8e54b4b7
VS
71112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7114 misaligned access.
7115 (serpent_setkey): Likewise.
7116 (serpent_encrypt_internal): Likewise.
7117 (serpent_decrypt_internal): Likewise.
7118 (serpent_encrypt): Don't put an alignment-increasing cast.
7119 (serpent_decrypt): Likewise.
7120 (serpent_test): Likewise.
7121
813c0a2b
VS
71222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7125
f2b60fbd
VS
71262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7129
7130 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7131 grub_addr_t casts.
7132 (PTR_TO_UINT64): Likewise.
7133 (PTR_TO_UINT32): Likewise.
7134
5ef5c511
VS
71352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7138 because of stack.
7139 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7140 limit.
7141
c476e6df
VS
71422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7145 text_width > available width a bit more gracefully.
7146
384ad7cc
VS
71472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7150 current address calculation.
7151
96f8caf8
VS
71522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7155 stack.
7156 (encode_block): Likewise.
7157
276b7a8b
VS
71582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7161 certainety.
7162
e3fd394a
VS
71632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7166 non-RS part to avoid RS messing with GDT.
7167 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7168 Increase to suit in realmode routines.
7169
71702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * grub-core/kern/i386/realmode.S: Increase alignment.
7173 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7174
ee9c2e7a
VS
71752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7178 be deterministic.
7179 (syndroms): Compute 0 syndrom.
7180 (rs_recover): Use 0 syndrom.
7181
7a7f7cc9
VS
71822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7185
a14b16d1
VS
71862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7189 brackets.
7190
9f59e9fc
VS
71912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7192
ca1b552c
VS
7193 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7194 account.
7195 (get_top_pad): Likewise.
7196 (get_right_pad): Likewise.
7197 (get_bottom_pad): Likewise.
7198
71992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7202
e739d698
VS
72032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7206 attribute as the structure isn't guaranteed to be properly aligned.
7207 (grub_efi_pci_device_path): Likewise.
7208 (grub_efi_pccard_device_path): Likewise.
7209 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7210 specify the size of `memory_type'.
7211 (grub_efi_vendor_device_path): Likewise.
7212 (grub_efi_controller_device_path): Likewise.
7213 (grub_efi_acpi_device_path): Likewise.
7214 (grub_efi_expanded_acpi_device_path): Likewise.
7215 (grub_efi_atapi_device_path): Likewise.
7216 (grub_efi_scsi_device_path): Likewise.
7217 (grub_efi_fibre_channel_device_path): Likewise.
7218 (grub_efi_1394_device_path): Likewise.
7219 (grub_efi_usb_device_path): Likewise.
7220 (grub_efi_usb_class_device_path): Likewise.
7221 (grub_efi_i2o_device_path): Likewise.
7222 (grub_efi_mac_address_device_path): Likewise.
7223 (grub_efi_ipv4_device_path): Likewise.
7224 (grub_efi_ipv6_device_path): Likewise.
7225 (grub_efi_infiniband_device_path): Likewise.
7226 (grub_efi_uart_device_path): Likewise.
7227 (grub_efi_vendor_messaging_device_path): Likewise.
7228 (grub_efi_hard_drive_device_path): Likewise.
7229 (grub_efi_cdrom_device_path): Likewise.
7230 (grub_efi_vendor_media_device_path): Likewise.
7231 (grub_efi_file_path_device_path): Likewise.
7232 (grub_efi_protocol_device_path): Likewise.
7233 (grub_efi_piwg_device_path): Likewise.
7234 (grub_efi_bios_device_path): Likewise.
7235
cb8f88ea
VS
72362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7239 (grub_ucs4_to_utf8_alloc): Likewise.
7240 (grub_ucs4_to_utf8): Likewise.
7241 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7242 (grub_ucs4_to_utf8_alloc): Likewise.
7243
309e5352
VS
72442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 AFFS never uses unicode.
7247
7248 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7249 (grub_latin1_to_utf8): New inline function.
7250 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7251
e7987e1b
VS
72522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7255 overflow.
7256
efc2616e
VS
72572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7260 (grub_squash_dirent_header): Likewise.
7261 (read_chunk): Don't double swap.
7262 (grub_squash_iterate_dir): Fix swap sizes.
7263
3c349f5a
VS
72642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7267
b453412d
VS
72682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7271 (grub_hfs_iterate_dir): Likewise.
7272
12e9d4d1
VS
72732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 Fix video on platforms where unaligned access is forbidden.
7276 Make several optimisations while on it.
7277
7278 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7279 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7280 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7281 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7282 Disable.
7283 (grub_video_fbblit_replace_16bit_1bit):
7284 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7285 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7286 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7287 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7288 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7289 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7290 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7291 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7292 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7293 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7294 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7295 (grub_video_fbblit_replace_index_RGB888): Likewise.
7296 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7297 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7298 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7299 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7300 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7301 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7302 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7303 Disable.
7304 (grub_video_fbblit_blend_XXX565_1bit):
7305 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7306 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7307 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7308 void *.
7309 * grub-core/video/fb/video_fb.c (common_blitter)
7310 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7311 (grub_video_fb_create_render_target_from_pointer)
7312 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7313 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7314 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7315 definition.
7316 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7317
ace96609
VS
73182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7321 HH22 and HM10 relocations.
7322
fd261d73
VS
73232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7326
e59b7857
VS
73272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7330 allocation succeeded.
7331
9b4baaa4
VS
73322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7335 argument a u8 pointer. All users updated.
7336 Handle unaligned buffers.
7337
dc713193
VS
73382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7341 add_part to workaround compiler bug.
7342
30dd48c2
VS
73432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7346
0c6087a8
VS
73472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7350 Reserve alignment invariants.
7351 (grub_multiboot_load): Likewise.
7352 (retrieve_video_parameters): Likewise.
7353 (grub_multiboot_make_mbi): Likewise.
7354
c2e77777
VS
73552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7358 incorrect pointer.
7359
b70b6d11
VS
73602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7363 (grub_pata_pio_write): Likewise.
7364
02a2bf83
VS
73652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 Add noreturn attributes and remove unreachable code.
7368
7369 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7370 code.
7371 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7372 code. Mark as noreturn.
7373 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7374 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7375 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7376 unreachable code.
7377 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7378 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7379 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7380 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7381 * include/grub/kernel.h (grub_main): Mark as noreturn.
7382 * include/grub/reader.h (grub_rescue_run): Likewise.
7383
2019d09e
VS
73842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7387 redundant declaration.
7388
d1c501ee
VS
73892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7392 redundant declaration.
7393 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7394
61664420
VS
73952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7398 to ensure alignment.
7399 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7400 alignment. Ensure tmp alignment.
7401 (grub_cmd_hdparm): Ensure buf alignment.
7402 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7403 to ensure alignment.
7404 (grub_ata_dumpinfo): Ensure text alignment.
7405 (grub_atapi_identify): Preserve alignment invariant.
7406 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7407
0d51ee20
VS
74082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7411 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7412 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7413 * include/grub/misc.h (grub_reboot)
7414 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7415 (grub_halt) [__mips__]: Likewise.
7416
753ef8c1
VS
74172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7420 Remove redundant declaration.
7421 (grub_mmap_get_post64): Likewise.
7422 (grub_mmap_get_upper): Likewise.
7423 (grub_mmap_get_lower): Likewise.
7424
85c85365
VS
74252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7428 uint32_t * to ensure alignment.
7429 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7430
a23f2cc4
VS
74312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7432
93018f64
VS
7433 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7434 uint16_t * to ensure alignment.
7435 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7436 alignment.
7437
74382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7441 to ensure alignment.
7442 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7443
58acccd6
VS
74442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7447 Handle unaligned pointers.
7448 (u32at): Likewise.
7449 (u64at): Likewise.
7450 (fixup): Use byte access instead of v16at.
7451 (find_attr): Fix imporper usage of v32at.
7452 (read_data): Likewise.
7453 (list_file): Handle byte-swapping and unaligned strings.
7454 (grub_ntfs_label): Likewise.
7455
9b05cad7
VS
74562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7459 as it's not necessarily aligned.
7460
b3950b84
VS
74612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7464 redundant declaration.
7465 (grub_serial_init): Likewise.
7466 (grub_terminfo_init): Likewise.
7467
fcd232b7
VS
74682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7471 function.
7472 (ZAP_HASH_IDX): Likewise.
7473 (ZAP_LEAF_HASH_SHIFT): Likewise.
7474 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7475 (LEAF_HASH): Likewise.
7476 (ZAP_LEAF_NUMCHUNKS): Likewise.
7477 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7478 alignment invariants. Return pointer. All users updated.
7479 (ZAP_LEAF_ENTRY): Make into inline function.
7480 (NBBY): Removed.
7481 (xor): LIkewise.
7482 (xor_out): Use grub_crypto_xor.
7483 (dnode_get_path): Use grub_get_unaligned.
7484 (nvlist_find_value): Likewise.
7485 (grub_zfs_nvlist_lookup_uint64): Likewise.
7486 (grub_zfs_nvlist_lookup_string): Likewise.
7487 (get_nvlist_size): Likewise.
7488 (grub_zfs_open): Likewise.
7489 (fill_fs_info): Likewise.
7490 (grub_zfs_dir): Likewise.
7491 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7492 alignment invariants.
7493 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7494 necessarily aligned.
7495
f138623a
VS
74962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7499
564840dc
VS
75002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7503 arithmetic to conserve alignment invariants.
7504
9b40df20
VS
75052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7508 redundant declaration.
7509 (grub_efiemu_mm_obtain_request): Likewise.
7510 (grub_efiemu_prepare): Likewise.
7511
d1c930f9
VS
75122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7515 to match types.
7516
4c5f3056
VS
75172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7520 case of aunaligned recptr.
7521 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7522 alignment.
7523 (grub_hfsplus_btree_search): Handle unaligned index.
7524
728cba91
VS
75252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7528 to get freetag and skip.
7529
eb561f31
VS
75302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7533 array.
7534 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7535 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7536
20993fbb
VS
75372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7540 name for checksum and fix allocation algorithm.
7541
1f313b94
VS
75422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * include/grub/types.h (grub_properly_aligned_t): New type.
7545 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7546 (grub_get_unaligned16): Add explicit casts.
7547 (grub_get_unaligned32): Likewise.
7548 (grub_get_unaligned64): Likewise.
7549 (grub_set_unaligned16): New function.
7550 (grub_set_unaligned32): Likewise.
7551
47ae27ec
VS
75522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7555
78c2cd1c
VS
75562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7559 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7560 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7561
53072f9b
VS
75622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7565 conditionals.
7566
055dc239
VS
75672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7570 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7571
496bd074
VS
75722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 Unify and improve RAID and crypto xor.
7575
7576 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7577 changed to grub_crypto_xor
7578 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7579 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7580 Use bigger types when possible.
7581
ef6e4335
VS
75822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/disk/raid.c (scan_devices): Fix condition.
7585
5d048bf2
VS
75862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7589 Make name a const ptr.
7590
ee533335
VS
75912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7594 first argument a const pointer.
7595 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7597 proto.
7598 (grub_children_iterate): Likewise.
7599 (grub_machine_mmap_iterate): Remove redundant declaration.
7600
cc8f3668
VS
76012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7604 (grub_cmd_acpi) [!x86]: Disable EBDA.
7605
c5fc563a
VS
76062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Enable UTF8 in gnulib regexp.
7609
7610 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7611 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7612 (isupper): Use grub_isupper.
7613 (isascii): New inline function.
7614 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7615 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7616 * grub-core/normal/charset.c (grub_utf8_process): New function.
7617 (grub_utf8_to_utf16): Use grub_utf8_process.
7618 (grub_encode_utf8_character): New function.
7619 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7620 * include/grub/charset.h (grub_utf8_process): New declaration.
7621 (grub_encode_utf8_character): Likewise.
7622 * include/grub/misc.h (grub_islower): New inline function.
7623 (grub_isupper): Likewise.
7624 (grub_strchrsub): Moved down to fix the definitions.
7625
0af2346f
VS
76262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7629 specification.
7630
74dbd244
VS
76312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * include/grub/loader.h (grub_loader_register_preboot_hook):
7634 Use struct preboot * and not void * for handle. All users updated.
7635 (grub_loader_unregister_preboot_hook): Likewise.
7636
1bc8f60d
VS
76372011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7640 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7641 UTF-16-BE. All users updated.
7642 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7643 (grub_hfsplus_iterate_dir): Likewise.
7644 (grub_hfsplus_label): Likewise.
7645
48d6e456
VS
76462011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7649
bf3a3857
VS
76502011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 Add missing const qualifiers.
7653
7654 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7655 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7656 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7657 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7658 (grub_lvm_check_flag): Likewise.
7659 * grub-core/efiemu/i386/coredetect.c
7660 (grub_efiemu_get_default_core_name): Likewise
7661 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7662 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7663 * grub-core/fs/ntfs.c (fixup): Likewise.
7664 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7665 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7666 (fzap_lookup): Likewise.
7667 (zap_lookup): Likewise.
7668 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7669 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7670 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7671 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7672 (grub_freebsd_add_meta_module): Likewise.
7673 (grub_cmd_freebsd_module): Likewise.
7674 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7675 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7676 (grub_xnu_writetree_get_size): Likewise.
7677 (grub_xnu_writetree_toheap_real): Likewise.
7678 (grub_xnu_find_key): Likewise.
7679 (grub_xnu_create_key): Likewise.
7680 (grub_xnu_create_value): Likewise.
7681 (grub_xnu_register_memory): Likewise.
7682 (grub_xnu_check_os_bundle_required): Likewise.
7683 (grub_xnu_scan_dir_for_kexts): Likewise.
7684 (grub_xnu_load_kext_from_dir): Likewise.
7685 * grub-core/normal/color.c (color_list): Likewise.
7686 * grub-core/normal/completion.c (current_word): Likewise.
7687 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7688 * grub-core/term/serial.c (grub_serial_find): Likewise.
7689 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7690 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7691 Likewise.
7692 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7693 (grub_freebsd_add_meta_module): Likewise.
7694 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7695 * include/grub/net.h (grub_net_card_driver): Likewise.
7696 (grub_net_card): Likewise.
7697 (grub_net_app_protocol): Likewise.
7698 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7699 * include/grub/serial.h (grub_serial_find): Likewise.
7700 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7701 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7702 (grub_xnu_create_value): Likewise.
7703 (grub_xnu_find_key): Likewise.
7704 (grub_xnu_scan_dir_for_kexts): Likewise.
7705 (grub_xnu_load_kext_from_dir): Likewise.
7706
7707 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7708 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7709 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7710 Moved from here ...
7711 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7712
112b4837
CW
77132011-11-28 Colin Watson <cjwatson@ubuntu.com>
7714
7715 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7716
49e891ac
VS
77172011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7720 (read_device): Fix size calculation.
7721
fd258e5c
RM
77222011-11-25 Robert Millan <rmh@gnu.org>
7723
7724 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7725 (find_root_device_from_libzfs): Add zpool output parser to be used
7726 as fallback when libzfs isn't available.
7727
78845dc2
SG
77282011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7729
7730 * po/Makefile.in.in: Add missing escape-continuation.
7731
adac5211
VS
77322011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7735
10b64f1c
VS
77362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7739
bb416954
VS
77402011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7743
bdfe9eeb
VS
77442011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7747
581ffa8a
VS
77482011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/lib/adler32.c: Add missing license specification.
7751 * grub-core/lib/crc64.c: Likewise.
7752 * grub-core/loader/i386/pc/plan9.c: Likewise.
7753 * grub-core/partmap/plan.c: Likewise.
7754
2536cf64
LK
77552011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7756
7757 Add facility to debug GRUB with gdb under qemu.
7758
7759 * grub-core/gdb_grub.in: New file.
7760 * grub-core/gmodule.pl.in: Likewise.
7761 * grub-core/Makefile.core.def (gmodule.pl): New script.
7762 (gdb_grub): Likewise.
7763
bc108a4a
VS
77642011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * util/grub-mount.c (argp_parser): Accept relative pathes.
7767 * util/grub-fstest.c (argp_parser): Likewise.
7768
111c1778
VS
77692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 Plan9 support.
7772
7773 * Makefile.util.def (libgrubmods): Add
7774 grub-core/partmap/plan.c.
7775 * docs/grub.texi: Notice Plan9 support.
7776 * grub-core/Makefile.core.def (plan9): New module.
7777 (part_plan): Likewise.
7778 * grub-core/loader/i386/pc/plan9.c: New file.
7779 * grub-core/partmap/plan.c: Likewise.
7780 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7781 define.
7782 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7783 * include/grub/mm.h (grub_extend_alloc): New inline function.
7784
c30be3b6
VS
77852011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 Make Reed-Solomon faster by using power of generator representation of
7788 GF(256)*.
7789
7790 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7791 (gf_double_t): Likewise.
7792 (gf_invert): Removed.
7793 (gf_powx): New array.
7794 (gf_powx_inv): Likewise.
7795 (scratch): Move higher.
7796 (gf_reduce): Removed.
7797 (gf_mul): Use powx.
7798 (gf_invert): Likewise.
7799 (init_inverts): Replaced with ...
7800 (init_powx): ...this. All users updated.
7801 (pol_evaluate): Replace multiplications with additions.
7802 (rs_encode): Likewise.
7803 (gauss_eliminate): Call gf_invert.
7804 (grub_reed_solomon_add_redundancy): Call init_powx.
7805 (grub_reed_solomon_recover): Call init_powx unconditionally.
7806
fa5aeffc
VS
78072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7810
a346b81c
VS
78112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7814 disk->partiton for safety.
7815
d89ee414
VS
78162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7819 Fix a memory leak.
7820 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7821
91ee7b6d
VS
78222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7825
91e5a33d
VS
78262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7829
9edd7be2
VS
78302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Fix spaces handling in proc/self/mountinfo.
7833
7834 * util/getroot.c (unescape): New function.
7835 (grub_find_root_device_from_mountinfo): Use unescape.
7836
ba102053
VS
78372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 Support ZFS embedding.
7840
7841 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7842 (grub_zfs_fs): Register grub_zfs_embed.
7843
aa94b870
VS
78442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Fix MIPS compilation.
7847
7848 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7849 * include/grub/offsets.h: Rename decompressor fields from
7850 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7851 * util/grub-mkimage.c (image_targets): Use new names.
7852
5fbdac14
VS
78532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 Defer multiboot device parsing until we're in compressed part.
7856
7857 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7858 bsd_part. setdevice has fallen into disuse.
7859 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7860 (bsd_part): Likewise.
7861 (boot_dev): New variable.
7862 (multiboot_trampoline): Don't parse multiboot device.
7863 Pass multiboot device in %edx.
7864 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7865 grub_boot_device.
7866 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7867 Likewise.
7868 * grub-core/kern/i386/pc/startup.S: Save edx.
7869 (grub_boot_drive): Removed.
7870 (grub_install_dos_part): Likewise.
7871 (grub_install_bsd_part): Likewise.
7872 (grub_boot_device): New variable.
7873 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7874 (grub_install_bsd_part): Likewise.
7875 (grub_boot_drive): Likewise.
7876 (grub_boot_device): New variable.
7877 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7878 Removed.
7879 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7880 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7881 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7882 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7883 * util/grub-install.in: Remove redundant condition.
7884
691cbb58
VS
78852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Fix bug introduced by previous commit.
7888
7889 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7890
60240b8b
VS
78912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 Use decompressors framework on i386-pc. It increases core size
7894 by 46 bytes but improves compatibility and maintainability.
7895
7896 * grub-core/Makefile.core.def (lzma_decompress): New image.
7897 (kernel): Add i386_pc_ldflags.
7898 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7899 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7900 to real_to_prot, prot_to_real and device info.
7901 * include/grub/offsets.h: Renamed decompressor offsets.
7902 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7903 (image_target_desc): Remove raw_size and rename decompressor fields.
7904 (compress_kernel): Handle lzma.
7905 (generate_image): Handle decompressors on i386-pc.
7906
e9d3421c
VS
79072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * configure.ac: Add -fno-asynchronous-unwind-tables.
7910
2b23074a
VS
79112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Move assembly code to C by using intwrap. It increases core size
7914 by 88 bytes but improves compatibility and maintainability.
7915
7916 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7917 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7918 ... here. Translated to C.
7919 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7920 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7921 ... here. Translated to C.
7922 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7923 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7924 ... here. Translated to C.
7925 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7926 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7927 ... here. Translated to C.
7928 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7929 * grub-core/term/i386/pc/console.c (grub_console_cls):
7930 ... here. Translated to C.
7931 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7932 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7933 ... here. Translated to C.
7934 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7935 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7936 Translated to C.
7937 * grub-core/term/i386/pc/console.c (int10_9): New function.
7938 (grub_console_putchar): Likewise.
7939 * include/grub/i386/pc/console.h: Removed the not anymore shared
7940 functions.
7941
678f4b67
VS
79422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 Move grub_chainloader_real_boot out of the kernel.
7945
7946 * grub-core/Makefile.am: Remove machine/loader.h.
7947 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7948 Removed.
7949 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7950 variable.
7951 (grub_relocator16_keep_a20_enabled): Likewise.
7952 (grub_relocator16_boot): Fill new variables.
7953 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7954 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7955 relocator.
7956 (grub_chainloader_unload): Likewise.
7957 (grub_chainloader_cmd): Likewise.
7958 * include/grub/i386/pc/loader.h: Removed.
7959 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7960 and esi. All initialisers updated.
7961
4626edf6
VS
79622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
79632011-11-12 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * Makefile.util.def (grub-mount): New util.
7966 * .bzrignore: Add grub-mount.
7967 * configure.ac: Check for fuse and enable grub-mount if available.
7968 * docs/man/grub-mount.h2m: New file.
7969 * util/grub-mount.c: Likewise.
7970
10f0117b
VS
79712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/commands/efi/fixvideo.c: Gettextize.
7974 * grub-core/commands/hashsum.c: Likewise.
7975 * grub-core/commands/i386/cmostest.c: Likewise.
7976 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7977 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7978 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7979 * grub-core/commands/lsmmap.c: Likewise.
7980 * grub-core/commands/menuentry.c: Likewise.
7981 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7982 * grub-core/commands/setpci.c: Likewise.
7983 * grub-core/loader/i386/bsd.c: Likewise.
7984 * grub-core/loader/i386/linux.c: Likewise.
7985 * util/getroot.c: Likewise.
7986 * util/grub-editenv.c: Likewise.
7987 * util/grub-fstest.c: Likewise.
7988 * util/grub-mkfont.c: Likewise.
7989 * util/grub-mkimage.c: Likewise.
7990 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7991 * util/grub-pe2elf.c: Likewise.
7992 * util/grub-probe.c: Likewise.
7993 * util/grub-setup.c: Likewise.
7994 * util/ieee1275/ofpath.c: Likewise.
7995 * util/misc.c: Likewise.
7996 * util/raid.c: Likewise.
7997
566f779b
RM
79982011-11-11 Robert Millan <rmh@gnu.org>
7999
8000 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8001 __attribute__((unused)) from `os_dev', which *is* being used.
8002
b50787de
VS
80032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8006 forgotten define.
8007 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8008 GRUB_IA64_DL_GOT_ALIGN.
8009 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8010 GRUB_IA64_DL_TRAMP_ALIGN.
8011
119d11c8
VS
80122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 Replace grub_fatal with normal errors in i386 linux loader.
8015
8016 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8017 (allocate_pages): Check find_efi_mmap_size return value.
8018 (grub_e820_add_region): Return error.
8019 (grub_linux_boot): Check mmap return value.
8020
6e0632e2
VS
80212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/commands/acpihalt.c: Gettextized.
8024 * grub-core/commands/cacheinfo.c: Likewise.
8025 * grub-core/commands/cmp.c: Likewise.
8026 * grub-core/commands/efi/loadbios.c: Likewise.
8027 * grub-core/commands/gptsync.c: Likewise.
8028 * grub-core/commands/ieee1275/suspend.c: Likewise.
8029 * grub-core/commands/legacycfg.c: Likewise.
8030 * grub-core/commands/memrw.c: Likewise.
8031 * grub-core/commands/minicmd.c: Likewise.
8032 * grub-core/commands/parttool.c: Likewise.
8033 * grub-core/commands/time.c: Likewise.
8034 * grub-core/commands/videoinfo.c: Likewise.
8035 * grub-core/disk/geli.c: Likewise.
8036 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8037 * grub-core/disk/luks.c: Likewise.
8038 * grub-core/disk/lvm.c: Likewise.
8039 * grub-core/font/font_cmd.c: Likewise.
8040 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8041 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8042 * grub-core/gfxmenu/view.c: Likewise.
8043 * grub-core/kern/emu/hostdisk.c: Likewise.
8044 * grub-core/kern/emu/main.c: Likewise.
8045 * grub-core/kern/emu/misc.c: Likewise.
8046 * grub-core/kern/emu/mm.c: Likewise.
8047 * grub-core/kern/mips/arc/init.c: Likewise.
8048 * grub-core/kern/mips/loongson/init.c: Likewise.
8049 * grub-core/kern/partition.c: Likewise.
8050 * grub-core/lib/i386/halt.c: Likewise.
8051 * grub-core/lib/mips/arc/reboot.c: Likewise.
8052 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8053 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8054 * grub-core/loader/i386/xnu.c: Likewise.
8055 * grub-core/loader/multiboot.c: Likewise.
8056 * grub-core/net/bootp.c: Likewise.
8057 * grub-core/net/net.c: Likewise.
8058 * grub-core/normal/term.c: Likewise.
8059 * grub-core/partmap/bsdlabel.c: Likewise.
8060 * grub-core/parttool/msdospart.c: Likewise.
8061 * grub-core/term/gfxterm.c: Likewise.
8062 * grub-core/term/terminfo.c: Likewise.
8063 * grub-core/video/i386/pc/vbe.c: Likewise.
8064 * util/grub-menulst2cfg.c: Likewise.
8065 * util/grub-mkdevicemap.c: Likewise.
8066 * util/grub-mklayout.c: Likewise.
8067 * util/grub-mkrelpath.c: Likewise.
8068 * util/grub-script-check.c: Likewise.
8069 * util/ieee1275/grub-ofpathname.c: Likewise.
8070 * util/resolve.c: Likewise.
8071
073aa7a9
VS
80722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 Support %1$d syntax.
8075
8076 * tests/printf_unit_test.c: New file.
8077 * Makefile.util.def (printf_test): New test.
8078 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8079
c76b5417
VS
80802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8083 fix.
8084
df067ad1
VS
80852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8088 dprintf.
8089 * grub-core/font/font.c (grub_font_load): Likewise.
8090
5b289bc5
VS
80912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * util/grub-macho2img.c: Add comment concerning gettext.
8094 * grub-core/lib/legacy_parse.c: Likewise.
8095
c1860f87
VS
80962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8099 (grub_xvasprintf): Likewise.
8100
d35d0d37
VS
81012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 Add const keyword to grub_env_get and gettextize week days.
8104
8105 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8106 (grub_read_hook_datetime): Return const char *.
8107 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8108 updated.
8109 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8110 Mark for gettext.
8111 (grub_get_weekday_name): Return const char *. Call gettext.
8112 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8113 char * and len as the argument. All users updated.
8114 (grub_script_argv_split_append): Receive const char *.
8115 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8116 * include/grub/env.h (grub_env_get): Likewise.
8117 (grub_env_read_hook_t): Return const char *.
8118 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8119 (grub_script_argv_split_append): Likewise.
8120
9aed8a71
VS
81212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8124
067fdf00
VS
81252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8128 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8129
a8bd9d39
VS
81302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8133 Fix prototype.
8134
f7ce5baf
VS
81352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 Fix mips compilation.
8138
8139 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8140 normal decoder.
8141 (hashes): Use in embed decoder as well (for sizes).
8142 (dec_stream_header): Fix embed decompressor logic.
8143 (dec_stream_footer): Likewise.
8144
9bb182f3
VS
81452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8148 an error and not a fatal on unrecognised relocation types.
8149
63a9e6f6
VS
81502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8153 Issue error rather than printf on unknown arguments.
8154
4c458569
VS
81552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8158 Make buf a const.
8159
e2d22baf
VS
81602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8163 Fix module name.
8164
53dc8590
VS
81652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8168 leftover debug printf.
8169
6c189294
VS
81702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8173
f7688369
VS
81742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8177 A stylistic fix.
8178
11a775a3
VS
81792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8182
33f784e8
SL
81832011-11-10 Shea Levy <slevy@tieronedesign.com>
8184
8185 Allow all modules to perform serial IO
8186
8187 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8188 * include/grub/serial.h (grub_serial_port_configure): New inline
8189 function.
8190 (grub_serial_port_fetch): Likewise.
8191 (grub_serial_port_put): Likewise.
8192 (grub_serial_port_fini): Likewise.
8193 (grub_serial_find): New proto.
8194
f6276525
VS
81952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 Put symlink at the end of the node and fix a potential
8198 memory corruption.
8199
8200 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8201 Make symlink into an array.
8202 (set_rockridge): Set have_symlink and alloc_dirents.
8203 (grub_iso9660_read_symlink): Use new layout.
8204 (grub_iso9660_iterate_dir): Fix memory corruption.
8205 Use new layout.
8206 (grub_iso9660_dir): Set have_symlink.
8207 (grub_iso9660_open): Likewise.
8208
c3591189
VS
82092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 Remove local keyword.
8212
8213 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8214 (version_test_gt): Likewise.
8215 (version_find_latest): Likewise.
8216 (gettext_printf): Likewise.
8217 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8218
cb544caa
VS
82192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8222
45bd824d
VS
82232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Fix ZFS memory and resource leaks.
8226
8227 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8228 All users updated.
8229 Free type on exit.
8230 (fill_vdev_info): New parameter inserted. All users updated.
8231 (check_pool_label): Likewise.
8232 (scan_disk): Likewise.
8233 (scan_devices): Close non-inserted disks.
8234 (fzap_iterate): Free l.
8235 (unmount_device): Free children descripto memory.
8236
ad9a2f44
VS
82372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8240 argument (access out of bounds).
8241
6b68db81
VS
82422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8245 >= 6 drives.
8246
28840fda
VS
82472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8250 Fix declaration.
8251
8a5a3a5b
VS
82522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 Fix several memory leaks.
8255
8256 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8257 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8258 (grub_cpio_dir): Likewise.
8259 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8260 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8261 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8262 (grub_romfs_label): Likewise.
8263 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8264 (squash_unmount): New function.
8265 (grub_squash_dir): Fix memory leak.
8266 (grub_squash_open): Likewise.
8267 (grub_squash_read): Likewise.
8268 (grub_squash_mtime): Likewise.
8269 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8270 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8271 * util/grub-fstest.c (fstest): Likewise.
8272
57b01250
VS
82732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8276 avoid accessing beyond the array.
8277
19e81ba7
VS
82782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8281
52b656c0
VS
82822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 Several AFFS fixes.
8285
8286 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8287 (GRUB_AFFS_FLAG_FFS): Removed.
8288 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8289 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8290 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8291 (grub_fshelp_node): Make block 32-bit.
8292 Add block_cache and last_block_cache.
8293 (grub_affs_read_block): Fill and use block cache.
8294 (grub_affs_read_file): Removed.
8295 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8296 boot block.
8297 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8298 safety.
8299 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8300 space.
8301 (grub_affs_close): Free block cache.
8302 (grub_affs_read): Use grub_fshelp_read_file directly.
8303
438a746a
VS
83042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8307 with no error set.
8308
49a45021
VS
83092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8312 used variable.
8313 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8314 Likewise.
8315
3ae17eb8
VS
83162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8319
8320 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8321 byteswap when needed.
8322
27610c38
VS
83232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Fix FreeBSD compilation.
8326
8327 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8328 to avoid circular dependency.
8329 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8330 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8331 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8332
4a19b601
VS
83332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Fix ZFS crypto error types.
8336
8337 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8338 (grub_gcm_decrypt): Likewise.
8339 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8340 from PBKDF2.
8341
958ee221
VS
83422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 Illumos support.
8345
8346 * Makefile.util.def (10_illumos): New script.
8347 * configure.ac: Set COND_HOST_ILLUMOS.
8348 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8349 Support Illumos calls.
8350 (find_partition_start) [__sun__]: Likewise.
8351 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8352 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8353 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8354 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8355 device.
8356 * util/grub-probe.c (probe) [__sun__]: Do character check.
8357 * util/grub.d/10_illumos.in: New file.
8358
cac14fb6
VS
83592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 Support escaped commas in hostdisk.
8362
8363 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8364 (find_grub_drive): Use unescape_cmp.
8365 (make_device_name): Escape commas.
8366
78e08dc3
VS
83672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8370
9f421dd1
VS
83712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8374 variable.
8375
ed64e9e2
VS
83762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 Support trampoline jumps on powerpc.
8379
8380 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8381 __ia64__ path.
8382 (grub_dl_load_segments): Set mod->sz.
8383 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8384 segments.
8385 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8386 (jump): Likewise.
8387 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8388 function.
8389 (trampoline): New struct.
8390 (trampoline_template): New const.
8391 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8392 * include/grub/dl.h (grub_dl): Add sz element.
8393 [__powerpc__]: Follow __ia64__.
8394 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8395 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8396 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8397 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8398
3084ede4
VS
83992011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 ZFS crypto support.
8402
8403 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8404 * grub-core/Makefile.core.def (zfscrypt): New module.
8405 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8406 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8407 it. All users updated.
8408 (grub_zfs_decrypt): New var.
8409 (grub_zfs_load_key): Likewise.
8410 (zio_checksum_functions): Add SHA256+MAC.
8411 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8412 (zio_read): Handle encrypted blocks.
8413 (zap_verify): Remove incorrect check.
8414 (fzap_iterate): Handle non-standard fzap.
8415 (zap_iterate): Likewise.
8416 (zap_iterate_u64): New function.
8417 (dnode_get_fullpath): Load keys.
8418 * grub-core/fs/zfs/zfscrypt.c: New file.
8419 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8420 (grub_crypto_ecb_encrypt): Make input const.
8421 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8422 (grub_crypto_ecb_encrypt): Make input const.
8423 (GRUB_CIPHER_AES): New macro.
8424 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8425 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8426 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8427 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8428 prefix. All users updated.
8429 (grub_zfs_add_key): New proto.
8430 (grub_zfs_decrypt): Likewise.
8431 (grub_zfs_load_key): Likewise.
8432 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8433 * util/grub-fstest.c (options): Add -K option.
8434 (argp_parser): Likewise.
8435
b632b404
VS
84362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Support zle compression on ZFS.
8439
8440 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8441 (decomp_table): Add zle.
8442 * include/grub/zfs/zio.h (zio_compress): Add zle.
8443
c7ba4f69
VS
84442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Support BtrFS embedding.
8447
8448 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8449 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8450 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8451 * util/grub-setup.c (setup): Use fs embedding if available.
8452 Add additional sanity check.
8453
455377d9
VS
84542011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * util/grub-install.in: Fix condition for config_opt.
8457
c2fd16ca
VS
84582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 Support third redundancy strip on raidz3.
8461
8462 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8463 Return error on singularity. All users updated.
8464 (read_device): Don't stop on 3rd failure on raidz3.
8465
8622923b
VS
84662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Support case-insensitive ZFS subvolumes.
8469
8470 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8471 All users updated.
8472 (zap_hash): Likewise.
8473 (name_cmp): New function.
8474 (zap_leaf_array_equal): New parameter case_insensitive.
8475 All users updated.
8476 (zap_leaf_lookup): Likewise.
8477 (fzap_lookup): Likewise.
8478 (zap_lookup): Likewise.
8479 (dnode_get_path): New parameter case_insensitive. Retrieve case
8480 sensitiviness of a volume. All users updated.
8481 (dnode_get_fullpath): New parameter case_insensitive.
8482 All users updated.
8483 (grub_zfs_dir): Set info.case_insensitiveness.
8484
95f2e860
VS
84852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 Support second redundancy strip on raidz(2,3).
8488
8489 * grub-core/fs/zfs/zfs.c (powx): New array.
8490 (powx_inv): Likewise.
8491 (poly): New const.
8492 (xor_out): New function.
8493 (gf_mul): Likewise.
8494 (recovery): Likewise.
8495 (read_device): Use second redundancy strip.
8496
11ee4389
VS
84972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Use a power of generator representation of GF(256) multiplication group
8500 to save space time and complexity.
8501
8502 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8503 (raid6_table2): Likewise.
8504 (powx): New array.
8505 (powx_inv): Likewise.
8506 (poly): New const.
8507 (grub_raid_block_mul): Replace with ...
8508 (grub_raid_block_mulx): ...this.
8509 (grub_raid6_init_table): Rewritten.
8510 (grub_raid6_recover): Use power of generator representation.
8511
09e2763f
VS
85122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8515 for the right device.
8516
8bec9a28
VS
85172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8520 expected by grub-mkimage and it's more clear since there is no implicit
8521 padding.
8522
dbd3a32e
VS
85232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8526 disk.
8527 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8528
182c872a
PMH
85292011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8530
8531 * util/grub-mkrescue.in: Fix handling xorriso option.
8532
1e51cabd
VS
85332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8536 NULL.
8537
9cc3581d 85382011-11-03 crocket <crockabiscuit@gmail.com>
8539
8540 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8541
158dc1ea
VS
85422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 XZ CRC64 and SHA256 support.
8545
8546 * Makefile.util.def (libgrubmods): Add crc64.c.
8547 * grub-core/Makefile.core.def (crc64): New module.
8548 * grub-core/lib/crc64.c: New file.
8549 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8550 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8551 Fix the type.
8552 (MAX_HASH_SIZE): New define.
8553 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8554 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8555 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8556 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8557 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8558 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8559 Handle non-crc32 hashes.
8560 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8561 (dec_stream_header): Handle non-crc32 hashes.
8562 (dec_stream_footer): Likewise.
8563 (dec_block_header): Likewise.
8564 (dec_main): Likewise.
8565 (xz_dec_init): Likewise.
8566 (xz_dec_reset): Likewise.
8567 (xz_dec_end): Likewise.
8568 * util/import_gcry.py: Add CRC64 line.
8569
9d9b3d2f
VS
85702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8573 as well.
8574
7d0ac931
VS
85752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 Make reiserfs label retrieval similar to other *_label functions.
8578
8579 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8580 (REISERFS_MAX_LABEL_LENGTH): Removed.
8581 (REISERFS_LABEL_OFFSET): Likewise.
8582 (grub_reiserfs_label): Rewritten.
8583
85842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8587 field.
8588
cf5ba824
VS
85892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8592
17744004
VS
85932011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8596 drive failure on both raidz and raidz2.
8597
aca5aefc
VS
85982011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 Fix RAIDZ(2) for >= 5 devices.
8601
8602 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8603 asize argument. All users updated.
8604
ce8ca56e
VS
86052011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Fix RAIDZ(2).
8608
8609 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8610 (fill_vdev_info_real): Set ashift.
8611 (read_device): Rewrite RAIDZ part based on reverse engineering.
8612
7c01e783
VS
86132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8616 don't report potentially unavialiable fields in debug output.
8617 (find_path): Fix double-free and memory leak.
8618
ce109e84
VS
86192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 Read label on UFS1.
8622
8623 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8624 (grub_ufs_fs): Always set .label.
8625
87661123
VS
86262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 Use shifts in UFS.
8629
8630 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8631 (grub_ufs_data): New field log2_blksz.
8632 (grub_ufs_read_file): Use shifts.
8633 (grub_ufs_mount): Check block size and logarithm it.
8634
46bc1dc2
VS
86352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8638 long symlinks.
8639
19ee2987
VS
86402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Handle symlinks and long names on tar and cpio.
8643
8644 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8645 (ATTR_FILE): Likewise.
8646 (ATTR_DIR): Likewise.
8647 (ATTR_LNK): Likewise.
8648 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8649 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8650 L and K entries.
8651 (grub_cpio_mount): Zero-fill data.
8652 (handle_symlink): New function.
46bc1dc2
VS
8653 (grub_cpio_dir): Handle symlinks.
8654 (grub_cpio_open): Likewise.
8655 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8656
c83a08d8
VS
86572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 Fix iso9660 filename limitations and fix memory leaks.
8660
8661 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8662 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8663
45cdd3ea
VS
86642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 Fix JFS file name length limitations.
8667
8668 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8669 (grub_jfs_diropen): Fix maximum filename length.
8670 (grub_jfs_getent): Fix filename length.
8671 (grub_jfs_lookup_symlink): Fix size checks.
8672
94ef05c2
VS
86732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8676 string.
8677
785ab8c7
VS
86782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8679
eb0b6b45
VS
8680 Leverage BFS implementation to read AFS.
8681
8682 * Makefile.util.def (libgrubmods): Add afs.c.
8683 * grub-core/Makefile.core.def (afs): New module
8684 * grub-core/fs/afs.c: New file.
8685 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8686
86872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8690
c4a1628f
VS
86912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/fs/bfs.c: Run indent.
8694
5825b379
VS
86952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 BFS implementation based on the specification.
8698
8699 * grub-core/fs/bfs.c: New file.
8700 * Makefile.util.def (libgrubmods): Add bfs.c.
8701 * grub-core/Makefile.core.def (bfs): New module.
8702
42b2a706
VS
87032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * util/grub-fstest.c (cmd_cp): Clarify error message.
8706 (cmd_cmp): Likewise.
8707
61b99bfc
YB
87082011-10-30 Yves Blusseau <blusseau@zetam.org>
8709
8710 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8711 and befs_be.
8712
faba3d16
VS
87132011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 Remove afs and befs because of copyright problem.
8716
8717 * grub-core/fs/afs.c: Removed.
8718 * grub-core/fs/afs_be.c: Removed.
8719 * grub-core/fs/befs.c: Removed.
8720 * grub-core/fs/befs_be.c: Removed.
8721 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8722 * grub-core/Makefile.core.def (afs): Removed.
8723 (afs_be): Likewise.
8724 (befs): Likewise.
8725 (befs_be): Likewise.
8726
c39224b0
VS
87272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 Prefer rockridge over Joliet.
8730
8731 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8732 to ...
8733 (set_rockridge): ... here.
8734 (grub_iso9660_mount): Check rockridge on the primary label when
8735 discovering. Ignore Joliet if Rockridge is present.
8736
e551115a
VS
87372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 Use shifts in nilfs2.
8740
8741 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8742 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8743 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8744 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8745 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8746 (grub_nilfs2_entries_per_block): Replaced with ...
8747 (grub_nilfs2_log_entries_per_block_log): ... this.
8748 (grub_nilfs2_blocks_per_group): Replaced with ...
8749 (grub_nilfs2_blocks_per_group_log): ... this.
8750 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8751 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8752 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8753 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8754 (grub_nilfs2_palloc_entry_offset): Replaced ...
8755 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8756 (grub_nilfs2_dat_translate): Use shifts.
8757 (grub_nilfs2_read_inode): Likewise.
8758 (GRUB_MOD_INIT): Ensure that logs are correct.
8759
564dd58c
VS
87602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 Use shifts in minix filesystem.
8763
8764 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8765 (GRUB_MINIX_ZONE2SECT): Likewise.
8766 (grub_minix_data): Replace block_size with log_block_size.
8767 (grub_minix_read_file): Use shifts.
8768 (grub_minix_mount): Check block size and take a logarithm.
8769
ed9ba06d
VS
87702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 Use shifts in squash4.
8773
8774 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8775 (squash_mount): Check block size and take logarithm.
8776 (direct_read): Use shifts.
8777
ad03fe76
VS
87782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Correct befs block counting logic.
8781
8782 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8783 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8784 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8785 (grub_afs_read_inode): Use block_shift.
8786 (RANGE_SHIFT): New definition.
8787 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8788 unexpected conditions, use shifts and appropriate types.
8789 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8790
6563f63d
VS
87912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/disk/raid.c (scan_devices): Check partition.
8794 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8795
5b1ae25f
VS
87962011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Support BFS (befs) UUID.
8799
8800 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8801 (grub_afs_small_data_element_header): New struct.
8802 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8803 (grub_afs_read_attribute) [MODE_BFS]: New function.
8804 (grub_afs_iterate_dir): Allocate for complete inode.
8805 (grub_afs_mount): Likewise.
8806 (grub_afs_uuid) [MODE_BFS]: New function.
8807 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8808
f8d82408
VS
88092011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8812 (zfs_unmount): Fix memory leak.
8813
5773fb64
VS
88142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 Support NTFS reparse points.
8817
8818 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8819 (symlink_descriptor): New struct.
8820 (grub_ntfs_read_symlink): New function.
8821 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8822 (grub_ntfs_open): Likewise.
8823
91c3fdde
VS
88242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8827
3be82e10
VS
88282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 fstest xnu_uuid subcommand.
8831
8832 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8833 grub-core/commands/xnu_uuid.c.
8834 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8835 (fstest): Handle xnu_uuid.
8836 (options): Document xnu_uuid.
8837 (argp_parser): Parse xnu_uuid.
8838
8e32442e
VS
88392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8842 -l argument. Add newline at the end if printing.
8843 (GRUB_MOD_INIT): Document -l.
8844
52a05075
VS
88452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8848
1869edb5
VS
88492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 ZFS multi-device and version 33 support.
8852
8853 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8854 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8855 (grub_zfs_data): Add multidev-ice-related fields.
8856 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8857 (dva_get_offset): Make dva const.
8858 (zfs_fetch_nvlist): New function.
8859 (fill_vdev_info_real): Likewise.
8860 (fill_vdev_info): Likewise.
8861 (check_pool_label): Likewise.
8862 (scan_disk): Likewise.
8863 (scan_devices): Likewise.
8864 (read_device): Likewise.
8865 (read_dva): Likewise.
8866 (zio_read_gang): Use read_dva.
8867 (zio_read_data): Likewise.
8868 (zap_leaf_lookup): Add missing endian conversion.
8869 (zap_verify): Add missing endian conversion. All users updated.
8870 (fzap_lookup): Likewise.
8871 (fzap_iterate): Likewise.
8872 (dnode_get_path): Handle SA bonus.
8873 (nvlist_find_value): Make input const. All users updated.
8874 (unmount_device): New function.
8875 (zfs_unmount): Use unmount_device.
8876 (zfs_mount): Use scan_disk.
8877 (zfs_mtime): New function.
8878 (grub_zfs_open): Handle system attributes.
8879 (fill_fs_info): Likewise.
8880 (grub_zfs_dir): Likewise.
8881 (grub_zfs_fs): Add mtime.
8882 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8883 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8884 (SA_MTIME_OFFSET): Likewise.
8885 (SA_SYMLINK_OFFSET): Likewise.
8886 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8887 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8888 (fstest): Support zfsinfo.
8889 (argp_parser): Likewise.
8890
186b4028
VS
88912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8894 error.
8895
88962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8897
8898 ZFS fixes.
8899
8900 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8901 sharing the same block. Iterate over correct number of indices.
8902 (dnode_get_path): Handle symlinks correctly.
8903
c0584900
VS
89042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8907
67e2bd71
VS
89082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Read label on HFS+.
8911
8912 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8913 (grub_hfsplus_btree_search): Fix types.
8914 (grub_hfsplus_label): Implement.
8915
e9cc6b7b
VS
89162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8919
19832ddb
VS
89202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8923
66b40850
VS
89242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 Fix symlink handling on iso9660.
8927
8928 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8929 All users updated.
8930 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8931 (grub_iso9660_read_symlink): Moved most of code ...
8932 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8933
db821363
VS
89342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8937 Use union to avoid breaking strict-aliasing rules.
8938
e1211949
VS
89392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 Support multi-extent iso files.
8942
8943 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8944 Add node.
8945 (grub_fshelp_node): Revamp. All users updated.
8946 (FLAG_*): New enum.
8947 (read_node): New function.
8948 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8949 All users updated.
8950 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8951 (get_node_size): New function.
8952 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8953 entries.
8954 Fix memory leak on . and ..
8955 (grub_iso9660_read): Use read_node.
8956 (grub_iso9660_close): Free node.
8957
d4888031
VS
89582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 Fix tar 4G limit and handle paths containing dot.
8961
8962 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8963 (canonicalize): New function.
8964 (grub_cpio_find_file): Use canonicalize. Store offs in
8965 grub_disk_addr_t.
8966 (grub_cpio_dir): Use grub_disk_addr_t.
8967 (grub_cpio_open): Likewise.
8968
9f12e664
VS
89692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8972
8973 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8974 unused flags.
8975 (grub_squash_inode): Add long_file and block_size.
8976 (grub_squash_cache_inode): New struct.
8977 (grub_squash_dirent): Make types into enum.
8978 (SQUASH_TYPE_LONG_REGULAR): New type.
8979 (grub_squash_frag_desc): Add field size.
8980 (SQUASH_BLOCK_FLAGS): New enum.
8981 (grub_squash_data): Use grub_squash_cache_inode.
8982 (grub_fshelp_node): Make ino_chunk 64-bit.
8983 (read_chunk): Minor argument change. All users updated.
8984 (squash_mount): Use correct le_to_cpu.
8985 (grub_squash_open): Handle LONG_REGULAR.
8986 (direct_read): New function.
8987 (grub_squash_read_data): Handle blocks correctly.
8988
9f326fba
VS
89892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8992
f4d9b64b
VS
89932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8996
5bbd28b8
VS
89972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 Fix 2G limit on ZFS.
9000
9001 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9002 types.
9003 (uberblock_verify): Likewise.
9004 (dmu_read): Likewise.
9005 (grub_zfs_read): Likewise. Remove invalid cast.
9006
68c72069
VS
90072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9010 (grub_jfs_blkno): Fix incorrect shift.
9011 (grub_jfs_read_file): Use more appropriate types.
9012
6e536dc8
VS
90132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Support triple indirect on minix2 and minix3.
9016
9017 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9018 Declare triple_indir_zone.
9019 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9020 indirect.
9021
e0864e7a
VS
90222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Minix FS fixes.
9025
9026 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9027 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9028 Rename ctime to mtime. All users updated.
9029 (grub_minix_get_file_block): Fix types and double indirect computations.
9030
89481cab
VS
90312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9034 if no label is found.
9035 (grub_fat_iterate_dir): Fix file size type.
9036 (grub_fat_iterate_dir): Likewise.
9037
f646e143
VS
90382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9041 save some space.
9042 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9043 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9044
534d769e
VS
90452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9048
e084ba18
VS
90492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * util/import_gcry.py: Accept space between # and include.
9052
3471ecdf
VS
90532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9056
124df5f6
VS
90572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9060
9061 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9062 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9063 yylex_strncpy.
9064 * grub-core/script/yylex.l: Add fine-grained #pragma.
9065
4defb8d5
VS
90662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9069 New inline function.
9070 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9071 Likewise.
9072 (memset) [GRUB_UTIL]: Likewise.
9073 (memcmp) [GRUB_UTIL]: Likewise.
9074
4e94ae65
VS
90752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9078 inline function rather than a define.
9079
18c575e5
VS
90802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * util/grub-setup.c: Add missing include.
9083
f8bc22a8
VS
90842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * util/ieee1275/grub-ofpathname.c: Add missing include.
9087
3ce69fc9
VS
90882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9091 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9092 Likewise.
9093
d1e293bb
VS
90942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9097 grub_memcmp usage.
9098
7a5c54a4
VS
90992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-install.in: Add datarootdir as per automake manual
9102 suggestion.
9103 * util/grub-mknetdir.in: Likewise.
9104
91052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9106
9107 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9108 suggestion.
9109 * util/grub.d/10_kfreebsd.in: Likewise.
9110 * util/grub.d/10_linux.in: Likewise.
9111 * util/grub.d/10_netbsd.in: Likewise.
9112 * util/grub.d/10_windows.in: Likewise.
9113 * util/grub.d/20_linux_xen.in: Likewise.
9114
766f7d08
VS
91152011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 Remove redundant grub_kernel_image_size.
9118
9119 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9120 _edata and _start.
9121 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9122 the small code. It moves it only by few bytes but simplifies the code.
9123 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9124 _start.
9125 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9126 (grub_kernel_image_size): Removed.
9127 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9128 (grub_kernel_image_size): Removed.
9129 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9130 compiled with Apple toolchain.
9131 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9132 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9133 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9134 (grub_total_module_size): Likewise.
9135 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9136 Removed.
9137 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9138 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9139 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9140 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9141 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9142 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9143 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9144 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9145 Removed.
9146 (grub_total_module_size): Removed.
9147 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9148 (image_targets): Likewise.
9149 Set .compressed_size to no field on sparc.
9150 (generate_image): Remove kernel_image_size handling.
9151
fcf1d672
SJ
91522011-10-19 Szymon Janc <szymon@janc.net.pl>
9153
9154 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9155 NULL pointer dereference.
9156
de9c615e
VS
91572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9160 done with a dedicated section.
9161
9162 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9163 Ensure the correct position of boot_path.
9164 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9165 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9166 other fields.
9167 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9168 * include/grub/boot.h: Removed. All references removed.
9169 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9170 Removed.
9171 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9172
e55599dc
VS
91732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9176 name.
9177
36dd20ad
VS
91782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9181
f8f72eb8
VS
91822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9185 Don't add the bogus brackets.
9186
a374751b
VS
91872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 ExFAT support.
9190
9191 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9192 * grub-core/Makefile.core.def (exfat): New module.
9193 * grub-core/fs/exfat.c: New file.
9194 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9195 (GRUB_FAT_ATTR_*): Make into an enum.
9196 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9197 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9198 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9199 (GRUB_FAT_MAXFILE): Removed.
9200 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9201 (grub_current_fat_bpb_t): New type.
9202 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9203 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9204 (grub_fat_dir_node_t): New type.
9205 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9206 (fat_log2) [MODE_EXFAT]: Removed.
9207 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9208 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9209 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9210 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9211 (grub_fat_label) [MODE_EXFAT]: New function.
9212 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9213 reserved_first_sector to 0.
9214
544c2487
VS
92152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 Move grub_reboot out of the kernel.
9218
9219 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9220 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9221 * grub-core/lib/efi/reboot.c: ... here.
9222 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9223 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9224 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9225 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9226 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9227 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9228 * grub-core/lib/ieee1275/reboot.c: ... here.
9229 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9230 * grub-core/lib/mips/arc/reboot.c: ... here.
9231 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9232 * grub-core/lib/mips/loongson/reboot.c: ...here.
9233 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9234 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9235 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9236 * include/grub/i386/reboot.h: New file.
9237 * include/grub/mips/loongson/ec.h: Fix includes.
9238 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9239 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9240 * grub-core/lib/i386/reboot.c: New file.
9241
a97501d2
VS
92422011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Make grub_prefix into module to fix the arbitrary limit and save
9245 some space.
9246
9247 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9248 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9249 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9250 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9251 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9252 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9253 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9254 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9255 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9256 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9257 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9258 * include/grub/ia64/efi/kernel.h: Removed.
9259 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9260 (grub_prefix): Removed.
9261 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9262 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9263 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9264 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9265 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9266 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9267 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9268 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9269 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9270 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9271 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9272 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9273 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9274 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9275 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9276 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9277 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9278 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9279 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9280 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9281 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9282 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9283 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9284 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9285 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9286 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9287 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9288 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9289 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9290 from module.
9291 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9292 prefix_end.
9293 (image_targets): Likewise.
9294 (generate_image): Put prefix as a module.
9295
39705fad
VS
92962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 Replace grub_module_iterate with FOR_MODULES.
9299
9300 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9301 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9302 (grub_efi_modules_addr): ...this.
9303 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9304 (grub_efi_init): Set grub_modbase.
9305 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9306 (grub_modbase): New variable.
9307 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9308 (grub_modbase): New variable.
9309 (grub_machine_init): Set grub_modbase.
9310 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9311 (grub_modbase): New variable.
9312 (grub_machine_init): Set grub_modbase.
9313 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9314 (grub_modbase): New variable.
9315 (grub_machine_init): Set grub_modbase.
9316 * grub-core/kern/main.c (grub_module_iterate): Remove.
9317 (grub_modules_get_end): Use grub_modbase.
9318 (grub_load_modules): Use FOR_MODULES.
9319 (grub_load_config): Likewise.
9320 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9321 (grub_modbase): New variable.
9322 (grub_machine_init): Set grub_modbase.
9323 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9324 (grub_modbase): New variable.
9325 (grub_machine_init): Set grub_modbase.
9326 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9327 Removed.
9328 (grub_modbase): New variable.
9329 (grub_machine_init): Set grub_modbase.
9330 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9331 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9332 (grub_module_iterate): Likewise.
9333 (grub_modbase): New variable declaration.
9334 (FOR_MODULES): New macro.
9335
2afb7f6c
VS
93362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9339 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9340
366e34fa
VS
93412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 Fix few obvious type discrepancies.
9344
9345 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9346 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9347 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9348 variable.
9349 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9350 and connected types.
9351 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9352 offset.
9353 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9354 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9355 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9356 and connected types.
9357
177b960e
VS
93582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 Fix python 3.x incompatibilities.
9361
9362 * gentpl.py: Put brackets around print strings.
9363 * util/import_gcry.py: Open explicitly as utf-8.
9364 Use in instead of has_key.
9365
3b619ae1
VS
93662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9369 (GRUB_XFS_INO_AGBITS): Make into inline function.
9370 (GRUB_XFS_INO_INOINAG): Likewise.
9371 (GRUB_XFS_INO_AG): Likewise.
9372 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9373 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9374 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9375 (GRUB_XFS_EXTENT_SIZE): Likewise.
9376 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9377 (GRUB_XFS_NEXT_DIRENT): Likewise.
9378 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9379 (grub_xfs_read_file): Fix offset type.
9380
8bcebcb8
RM
93812011-10-15 Robert Millan <rmh@gnu.org>
9382
9383 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9384
0017e5ef
RM
93852011-10-15 Robert Millan <rmh@gnu.org>
9386
9387 Fix build problem on FreeBSD and GNU/kFreeBSD.
9388
9389 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9390
d8919552
VS
93912011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9394
9395 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9396 types.
9397 (grub_hfsplus_btree_recoffset): Likewise.
9398 (grub_hfsplus_btree_recptr): Likewise.
9399 (grub_hfsplus_find_block): Likewise.
9400 (grub_hfsplus_btree_search): Likewise.
9401 (grub_hfsplus_read_block): Likewise.
9402 (grub_hfsplus_read_file): Likewise.
9403 (grub_hfsplus_mount): Likewise.
9404 (grub_hfsplus_btree_iterate_node): Likewise.
9405 (grub_hfsplus_btree_search): Likewise.
9406 (grub_hfsplus_iterate_dir): Likewise.
9407 (grub_hfsplus_read): A small code simplification.
9408
c81296b6
VS
94092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/kern/emu/hostdisk.c
9412 (convert_system_partition_to_system_disk): Don't assume that children
9413 of mapper nodes are mapper nodes.
9414
0eb8ffb1
VS
94152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9418 * include/grub/misc.h (grub_isxdigit): New function.
9419 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9420 switched to grub_isxdigit.
9421 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9422 number starting with a letter.
9423
a98f4a08
RM
94242011-10-09 Robert Millan <rmh@gnu.org>
9425
9426 LVM support for FreeBSD and GNU/kFreeBSD.
9427
9428 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9429 GNU/kFreeBSD.
9430 (LVM_DEV_MAPPER_STRING): Move from here ...
9431 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9432 * util/getroot.c: Include `<grub/util/lvm.h>'.
9433 (grub_util_get_dev_abstraction): Enable
9434 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9435 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9436 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9437 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9438 support it.
9439 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9440 GNU/kFreeBSD.
9441 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9442 when LVM abstraction is required for ${GRUB_DEVICE}.
9443
050e8e90
SJ
94442011-10-06 Szymon Janc <szymon@janc.net.pl>
9445
9446 Add support for LZO compression in GRUB:
9447 - import of minilzo library,
9448 - LZO decompression for btrfs,
9449 - lzop files decompression.
9450
9451 * grub-core/io/lzopio.c: New file.
9452 * grub-core/lib/adler32.c: Likewise.
9453 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9454 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9455 * grub-core/lib/minilzo/minilzo.c: Likewise.
9456 * grub-core/lib/minilzo/minilzo.h: Likewise.
9457 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9458 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9459 grub-core/lib/minilzo/minilzo.c to common.
9460 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9461 cflags in cppflags.
9462 * grub-core/Makefile.core.def (btrfs): Likewise.
9463 * grub-core/Makefile.core.def (lzopio): New module.
9464 (adler32): Likewise.
9465 * grub-core/fs/btrfs.c: Include minilzo.h.
9466 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9467 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9468 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9469 (grub_btrfs_lzo_decompress): New function.
9470 (grub_btrfs_extent_read): Add support for LZO compression type.
9471 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9472 (GRUB_USHRT_MAX): Likewise.
9473 (GRUB_UINT_MAX): Likewise.
9474 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9475 (UINT_MAX): Likewise.
9476 (CHAR_BIT): Likewise.
9477 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9478 grub-core/lib/posix_wrap/limits.h
9479 (UCHAR_MAX): Likewise.
9480 * include/grub/file.h (grub_file_filter_id): New compression filter
9481 GRUB_FILE_FILTER_LZOPIO.
9482 * include/grub/file.h (grub_file_filter_id): Set
9483 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9484 * include/grub/types.h (grub_get_unaligned16): New function.
9485 (grub_get_unaligned32): Likewise.
9486 (grub_get_unaligned64): Likewise.
9487 * util/import_gcry.py (cryptolist): Add adler32.
9488
0eb8ffb1
VS
94892011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9492 in perspective decreases the complexity of build system and fixes
9493 compilation right now.
9494
ce79cc99 94952011-10-01 Ales Nesrsta <starous@volny.cz>
9496
9497 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9498 (fixed problem related to using UHCI with coreboot).
9499
8667a314
BC
95002011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9501
9502 * gentpl.py: Use Autogen macros so that the output template file
9503 (Makefile.tpl) size is reduced.
9504
fc5efcc0
MK
95052011-09-29 Mads Kiilerich <mads@kiilerich.com>
9506
9507 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9508 extra_dist.
9509
d1ab689d
ML
95102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9511
9512 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9513 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9514
c05de032
ML
95152011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9516
9517 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9518 _fullpath.
9519
cca7ccd8
ML
95202011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9521
9522 Remove extra declaration of sleep for mingw32.
9523
9524 * util/misc.c (sleep) [__MINGW32__]: Removed.
9525 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9526
e0b0dc83
GS
95272011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9528
9529 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9530 type and packname.
9531 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9532 Resurrected.
9533 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9534 (grub_netbsd_btinfo_bootwedge): New struct.
9535 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9536 New function.
9537 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9538
91a1a164
TH
95392011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9540
9541 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9542 loader.
9543
2ded951e
AB
95442011-09-28 Andreas Born <futur.andy@googlemail.com>
9545
9546 Fix incorrect identifiers in bash-completion.
9547
9548 * util/bash-completion.d/grub-completion.bash.in
9549 (_grub_mkpasswd-pbkdf2): Rename to ...
9550 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9551 (_grub_script-check): Rename to ...
9552 (_grub_script_check): ... this. All users updated.
9553
69915030
VS
95542011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9557 Return 0 if disk isn't biosdisk.
9558
20fd15f9
GS
95592011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9560
9561 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9562 on NetBSD.
9563 * Makefile.util.def (grub-fstest): Likewise.
9564
1a7d7db9
GS
95652011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9566
9567 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9568 Get sector size from disk label.
9569
2221ab6c
CW
95702011-09-05 Colin Watson <cjwatson@ubuntu.com>
9571
9572 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9573 */README* as well as README*.
9574 Reported by: Axel Beckert.
9575
ca51c4a0
VS
95762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9579 case of less than 256 MiB of RAM.
9580
ab80f326
VS
95812011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/commands/wildcard.c (make_regex): Handle @.
9584
4155e697
VS
95852011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9588
ab178c08
SJ
95892011-08-21 Szymon Janc <szymon@janc.net.pl>
9590
9591 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9592 AC_LANG_CONFTEST macros.
9593
7dc3c686
SJ
95942011-08-20 Szymon Janc <szymon@janc.net.pl>
9595
9596 Add grub-fstest option to uncompress data for commands.
9597
9598 * util/grub-fstest.c (uncompress): New var.
9599 (options): New option -u.
9600
fe8d4a7b
SJ
96012011-08-20 Szymon Janc <szymon@janc.net.pl>
9602
9603 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9604 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9605
a5219af1
SJ
96062011-08-20 Szymon Janc <szymon@janc.net.pl>
9607
9608 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9609 file type was not recognized correctly (not gzip or corrupted).
9610
f87abff5
VS
96112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9614 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9615
d94497ea
VS
96162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9619 loongson.
9620 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9621 video_radeon_fuloong2e.
9622 * grub-core/video/radeon_fuloong2e.c: New file.
9623 * include/grub/video.h (grub_video_id_t): Add new ID
9624 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9625
0d1fd011
VS
96262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9629 define.
9630 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9631 that PRID matches the detected subplatform and reset the subplatform
9632 if it doesn't.
9633
84beb0ee
VS
96342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9637
1227c133
VS
96382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 Fix PCI iterating on functions >= 4.
9641
9642 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9643 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9644 Removed.
9645 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9646 (grub_pci_read): Fix bitmask.
9647 (grub_pci_read_word): Likewise.
9648 (grub_pci_read_byte): Likewise.
9649 (grub_pci_write): Likewise.
9650 (grub_pci_write_word): Likewise.
9651 (grub_pci_write_byte): Likewise.
9652
9594c689
VS
96532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9656 can still be specified in TARGET_CFLAGS)
9657
14a2562c
VS
96582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9661
9662 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9663 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9664 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9665 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9666 (FULOONG): Rename to ...
9667 (FULOONG2F): ... this. All users updated.
9668 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9669 (machtype_fuloong2f_str): ... this.
9670 (machtype_fuloong2e_str): New string.
9671 Check for machtype_fuloong2e_str.
9672 * grub-core/loader/mips/linux.c (loongson_machtypes)
9673 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9674 * grub-core/term/serial.c (loongson_defserial)
9675 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9676 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9677 loongson_defserial.
9678 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9679 Rename to ...
9680 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9681 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9682 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9683 to IMAGE_FULOONG2F_FLASH. All users updated.
9684 (image_targets): Rename images.
9685 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9686
b526cbb6
SJ
96872011-08-19 Szymon Janc <szymon@janc.net.pl>
9688
9689 Make enable of disk cache statistics code configurable.
9690
9691 * configure.ac: --enable-cache-stats added.
9692 * config.h.in (DISK_CACHE_STATS): New define.
9693 * grub-core/Makefile.core.def (cacheinfo): New command.
9694 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9695 * grub-core/commands/cacheinfo.c: New file.
9696 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9697 moved to cacheinfo.c.
9698 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9699 debug code.
9700 * include/grub/disk.h: Likewise.
9701
fb739ccd
SJ
97022011-08-19 Szymon Janc <szymon@janc.net.pl>
9703
9704 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9705 * grub-core/Makefile.am: Likewise.
9706
2bba8cfd
VS
97072011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9710 non-zero pull.
9711
43526629
VS
97122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9715 All users updated.
9716 (grub_jfs_lookup_symlink): Use correct starting inode.
9717
5c144cc8
VS
97182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/grub-setup.c (main): Add missing gcry initialisation.
9721
b1257f65
VS
97222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Don't accept text modes on EFI when booting Linux.
9725
9726 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9727 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9728
828bc390
ML
97292011-08-15 Mario Limonciello <mario_limonciello@dell.com>
97302011-08-15 Colin Watson <cjwatson@ubuntu.com>
9731
9732 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9733 use of "/path/.." as in grub-install for EFI as well as handling
9734 symlinks correctly.
9735 Fixes Debian bug #637768.
9736
5f60ccac
CW
97372011-08-15 Colin Watson <cjwatson@ubuntu.com>
9738
9739 * util/grub-probe.c: Remove duplicate #include.
9740
6dc212f9
RM
97412011-08-10 Robert Millan <rmh@gnu.org>
9742
9743 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9744
9745 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9746 function.
9747 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9748 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9749
66816d85
RM
97502011-08-03 Robert Millan <rmh@gnu.org>
9751
9752 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9753 la_array as packed.
9754 Reported by: Zachary Bedell
9755
20168fca
CW
97562011-07-26 Colin Watson <cjwatson@ubuntu.com>
9757
9758 * configure.ac: The Loongson port requires grub-mkfont due to its
9759 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9760 be built.
9761
303b6246
CW
97622011-07-26 Colin Watson <cjwatson@ubuntu.com>
9763
9764 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9765 processing arguments (otherwise help2man fails when GRUB has not yet
9766 been installed).
9767
6795300e
VS
97682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9769
41aa28ea
VS
9770 New script grub-mkstandalone.
9771
9772 * Makefile.util.def (grub-mkstandalone): New script.
9773 * docs/man/grub-mkstandalone.h2m: New file.
9774 * util/grub-mkstandalone.in: Likewise.
9775
97762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 Support ATA disks with 4K sectors.
6795300e
VS
9779
9780 * include/grub/ata.h (grub_ata): New member log_sector_size.
9781 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9782 (grub_ata_identify): Read sector size.
9783 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9784
92227597
VS
97852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * util/grub-install.in: Don't use uhci outside of x86.
9788
c77069f5
VS
97892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * util/grub-mkrescue.in: Add missing quotes.
9792
97932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9794
9795 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9796 dereference.
9797
583168a2
VS
97982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9801
6be1c01f
VS
98022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * include/grub/video.h: add missing EXPORT_FUND on
9805 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9806
a1167439
VS
98072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * include/grub/mips/kernel.h: Fix define conflict.
9810
bf66054f
VS
98112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9814 all four ways.
9815
8fc4fa45
CW
98162011-07-21 Colin Watson <cjwatson@ubuntu.com>
9817
9818 Preferred resolution detection for VBE.
9819
9820 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9821 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9822 the Flat Panel extension, in line with the X.org VESA driver.
9823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9824 New function.
9825 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9826 (grub_vbe_bios_read_edid): Likewise.
9827 (grub_vbe_get_preferred_mode): Likewise.
9828 (grub_video_vbe_setup): When the mode is "auto", try to get the
9829 preferred mode from VBE, and use the largest mode that is no larger
9830 than the preferred mode (some BIOSes expose a preferred mode that is
9831 not in their mode list!). If this fails, fall back to 640x480 as a
9832 safe conservative choice.
9833 (grub_video_vbe_get_edid): New function.
9834 (grub_video_vbe_adapter): Add get_edid.
9835 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9836 (struct grub_video_adapter): Add get_edid.
9837 (grub_video_edid_checksum): Add prototype.
9838 (grub_video_edid_preferred_mode): Likewise.
9839 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9840 structure.
9841
9842 * grub-core/commands/videoinfo.c (print_edid): New function.
9843 (grub_cmd_videoinfo): Print EDID if available.
9844
9845 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9846 is more appropriate on a wider range of platforms than 640x480.
9847 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9848 documentation.
9849
ca5572a9
VS
98502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9853
e4bcf625
VS
98542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * po/POTFILES.in: Regenerate.
9857
c4edd548
VS
98582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9861 incorrect memory usage.
9862
16a2bab0
VS
98632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * util/grub-install.in: Source grub-mkconfig_lib.
9866
2e418de6
VS
98672011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Remove getroot.c from core on emu platform.
9870
9871 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9872 kern/emu/raid.c.
9873 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9874 useless.
9875 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9876 * util/getroot.c (get_win32_path): ... here.
9877 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9878 * util/getroot.c (fini_libzfs): ... here.
9879 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9880 * util/getroot.c (grub_get_libzfs_handle): ... here.
9881 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9882 Moved from here...
9883 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9884 * grub-core/kern/emu/misc.c
9885 (grub_make_system_path_relative_to_its_root): Moved from here...
9886 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9887 * grub-core/kern/emu/getroot.c: Moved from here ...
9888 * util/getroot.c: ... here. All users updated.
9889 * grub-core/kern/emu/raid.c: Moved from here ...
9890 * util/raid.c: ... here. All users updated.
9891
def9832a
VS
98922011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * po/POTFILES.in: Regenerate.
9895
cd8fe79a
VS
98962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Fix compilation on GNU/Linux.
9899
9900 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9901 Disable geli.
9902 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9903 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9904 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9905
a251b719
VS
99062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
99072011-07-07 Michael Gorven <michael@gorven.za.net>
99082011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9909
9910 LUKS and GELI support.
9911
9912 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9913 grub-core/disk/luks.c, grub-core/disk/geli.c,
9914 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9915 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9916 grub-core/lib/arg.c.
9917 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9918 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9919 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9920 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9921 (grub-bin2h): Add libgcry.a.
9922 (grub-mkimage): Likewise.
9923 (grub-mkrelpath): Likewise.
9924 (grub-script-check): Likewise.
9925 (grub-editenv): Likewise.
9926 (grub-mkpasswd-pbkdf2): Likewise.
9927 (grub-pe2elf): Likewise.
9928 (grub-fstest): Likewise.
9929 (grub-mkfont): Likewise.
9930 (grub-mkdevicemap): Likewise.
9931 (grub-probe): Likewise.
9932 (grub-ofpath): Likewise.
9933 (grub-mklayout): Likewise.
9934 (example_unit_test): Likewise.
9935 (grub-menulst2cfg): Likewise.
9936 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9937 * grub-core/Makefile.core.def (cryptodisk): New module.
9938 (luks): Likewise.
9939 (geli): Likewise.
9940 * grub-core/disk/AFSplitter.c: New file.
9941 * grub-core/disk/cryptodisk.c: Likewise.
9942 * grub-core/disk/geli.c: Likewise.
9943 * grub-core/disk/luks.c: Likewise.
9944 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9945 grub_util_is_lvm.
9946 (grub_util_get_dm_abstraction): New function.
9947 (grub_util_follow_gpart_up): Likewise.
9948 (grub_util_get_geom_abstraction): Likewise.
9949 (grub_util_get_dev_abstraction): Use new functions.
9950 (grub_util_pull_device): Pull GELI and LUKS.
9951 (grub_util_get_grub_dev): Handle LUKS and GELI.
9952 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9953 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9954 (follow_geom_up): Removed.
9955 (grub_util_fd_seek): New function.
9956 (open_device): Use grub_util_fd_seek.
9957 (nread): Rename to ..
9958 (grub_util_fd_read): ... this. All users updated.
9959 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9960 (grub_crypto_cbc_decrypt): Likewise.
9961 (grub_crypto_hmac_write): Likewise.
9962 (grub_crypto_hmac_buffer): Likewise.
9963 (grub_password_get): Extend to util.
9964 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9965 New member modname.
9966 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9967 * include/grub/cryptodisk.h: New file.
9968 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9969 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9970 LUKS and GELI.
9971 (grub_util_follow_gpart_up): New proto.
9972 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9973 (grub_util_fd_read): Likewise.
9974 (grub_cryptodisk_cheat_mount): Likewise.
9975 (grub_util_cryptodisk_print_uuid): Likewise.
9976 (grub_util_get_fd_sectors): Likewise.
9977 * util/grub-fstest.c (mount_crypt): New var.
9978 (fstest): Mount crypto if requested.
9979 (options): New option -C.
9980 (argp_parser): Parse -C.
9981 (main): Init and fini gcry.
9982 * util/grub-install.in: Support cryptodisk install.
9983 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9984 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9985 cryptodisk.
9986 (prepare_grub_to_access_device): Likewise.
9987 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9988 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9989 (probe_cryptodisk_uuid): New function.
9990 (probe_abstraction): Likewise.
9991 (probe): Use new functions.
9992 * util/import_gcry.py: Create Makefile.utilgcry.def.
9993 Add modname member.
9994
9bfdcbbc
VS
99952011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 Lazy device scanning.
9998
9999 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10000 (grub-setup): Remove util/raid.c.
10001 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10002 * grub-core/disk/lvm.c (scan_depth): New variable.
10003 (grub_lvm_iterate): Rescan if necessary.
10004 (find_lv): New function based on grub_lvm_open.
10005 (grub_lvm_open): Use find_lv. Rescan on error.
10006 (is_node_readable): New function.
10007 (is_lv_readable): Likewise.
10008 (grub_lvm_scan_device): Skip already found disks.
10009 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10010 Stop if searched device is found and readable.
10011 * grub-core/disk/raid.c (inscnt): New variable.
10012 (scan_depth): Likewise.
10013 (scan_devices): New function based on grub_raid_register. Abort if
10014 looked for device is found.
10015 (grub_raid_iterate): Rescan if needed.
10016 (find_array): NEw function based on -grub_raid_open.
10017 (grub_raid_open): Use find_array and rescan.
10018 (insert_array): Set became_readable_at.
10019 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10020 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10021 New function.
10022 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10023 (grub_util_pull_device): New function.
10024 (grub_util_get_grub_dev): Call grub_util_pull_device.
10025 * util/raid.c: Moved to ..
10026 * grub-core/kern/emu/raid.c: ... here.
10027 (grub_util_raid_getmembers): New parameter "bootable".
10028 All users updated. Support 1.x.
10029 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10030 All users updated.
10031 * include/grub/disk.h (grub_disk_pull_t): New enum.
10032 (grub_disk_dev): Change iterate prototype.
10033 All users updated.
10034 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10035 New proto.
10036 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10037 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10038 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10039 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10040 All users updated.
10041 * include/grub/util/raid.h: Removed.
10042
1c358e59
VS
100432011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * po/POTFILES.in: Regenerate.
10046
abee94ed
VS
100472011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Unify sparc init with other ieee1275.
10050
10051 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10052 instead of kern/sparc64/ieee1275/init.c.
10053 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10054 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10055 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10056 grub/machine/kernel.h.
10057 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10058 (grub_claim_heap) [__sparc__]: Use sparc version.
10059 (grub_machine_init): Moved args parsing to
10060 (grub_parse_cmdline): ...this.
10061 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10062 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10063 New definition.
10064 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10065
10066 Move BOOTP to separate file.
10067
10068 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10069 * grub-core/net/net.c: Move all BOOTP functions to
10070 * grub-core/net/bootp.c: ... here.
10071
10072 Use frame interface on PXE.
10073
10074 * grub-core/Makefile.core.def (pxecmd): Removed.
10075 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10076 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10077 * grub-core/i386/pc/pxe.c: Moved from here ...
10078 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10079 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10080 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10081
10082 EFI network support.
10083
10084 * grub-core/Makefile.core.def (efinet): New module.
10085 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10086 here...
10087 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10088 All users updated.
10089 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10090 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10091 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10092 * grub-core/net/drivers/efi/efinet.c: New file.
10093 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10094 (grub_efi_net_config): New extern var.
10095
10096 Various cleanups and bugfixes.
10097
10098 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10099 error.
10100 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10101 disk declared as partition.
10102 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10103 leak on failure.
10104 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10105 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10106 (grub_debug_zalloc): Likewise.
10107 (grub_debug_realloc): Likewise.
10108 (grub_debug_memalign): Likewise.
10109 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10110 Check that target is IPv4.
10111 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10112 local-mac-address as fallback.
10113 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10114 memory leak.
10115 * grub-core/net/ip.c (ipchksum): Rename to ...
10116 (grub_net_ip_chksum): ... this. All users updated.
10117 (grub_net_recv_ip_packets): Special handling for DHCP.
10118 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10119
10120 Unify prefix handling
10121
10122 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10123 (grub_machine_get_bootlocation): ... this.
10124 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10125 (grub_machine_get_bootlocation): ... this.
10126 (grub_prefix): New variable.
10127 (prefix): Removed.
10128 (root_dev): New variable.
10129 (dir): Likewise.
10130 (main): Use new variables.
10131 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10132 Revamped into ...
10133 (grub_machine_get_bootlocation): ... this.
10134 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10135 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10136 (grub_machine_get_bootlocation): ... this.
10137 (grub_machine_set_prefix): Removed.
10138 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10139 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10140 Revamped into ...
10141 (grub_machine_get_bootlocation): ... this.
10142 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10143 (grub_set_prefix_and_root): ... this. All users updated.
10144 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10145 Revamped into ...
10146 (grub_machine_get_bootlocation): ... this.
10147 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10148 (grub_machine_get_bootlocation): New proto.
10149 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10150
10151 Less intrusive and more reliable seek on network implementation.
10152
10153 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10154 (grub_file_seek): Don't call grub_file_net_seek.
10155 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10156 (grub_net_fs_read_real): .. this.
10157 (grub_net_seek_real): Use net->offset.
10158 (grub_net_fs_read): Seek if necessary.
10159
10160 Unify IEEE1275 netwotk config with the other platforms.
10161
10162 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10163 New variable.
10164 (grub_machine_get_bootlocation): Support network.
10165 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10166 Support type and device parsing.
10167 (grub_ieee1275_get_device_type): New function.
10168 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10169 into ...
10170 (grub_ieee1275_net_config_real): ... this.
10171 (grub_ofnet_probecards): Removed.
10172 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10173 * include/grub/ieee1275/ofnet.h: Removed.
10174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10175 extern var.
10176 (grub_ieee1275_get_device_type): New function.
10177
10178 Unify network device closing across platforms and make more robust.
10179
10180 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10181 grub_grubnet_fini.
10182 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10183 already.
10184 * grub-core/net/net.c (grub_net_network_level_interface_register):
10185 Update num_ifaces.
10186 (grub_net_card_unregister): Close all interfaces.
10187 (receive_packets): Don't poll if no iterfaces are registered.
10188 Open if necessary.
10189 (grub_net_fini_hw): New function.
10190 (grub_net_restore_hw): Likewise.
10191 (fini_hnd): New variable.
10192 (GRUB_MOD_INIT): Register preboot hook.
10193 (GRUB_MOD_FINI): Run and unregister preboot hook.
10194
10195 Poll network cards when idle.
10196
10197 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10198 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10199 * grub-core/net/net.c (receive_packets): Save last poll time.
10200 (grub_net_poll_cards_idle_real): New function.
10201 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10202 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10203 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10204
10205 Rename ofnet interfaces.
10206
10207 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10208 (grub_ofnet_findcards): Use ofnet_%s names.
10209
10210 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10211
10212 Cleanup socket opening.
10213
10214 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10215 (grub_net_fs_close): Likewise.
10216 (grub_net_fs_read_real): Use eof member.
10217 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10218 (+grub_net_udp_close): New inline function.
10219
10220 * include/grub/net/tftp.h: Moved to the top of ...
10221 * grub-core/net/tftp.c: ... here.
10222 * include/grub/net/ip.h: Moved mostly to the top of ...
10223 * grub-core/net/ip.c: ... here.
10224 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10225 * grub-core/net/ethernet.c: ... here.
10226
10227 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10228
10229 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10230 FS name.
10231
10232 * include/grub/net/ip.h (ipv4_ini): Removed.
10233 (ipv4_fini): Likewise.
10234
10235 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10236 (grub_net_send_ip_packets): Likewise.
10237
cf1337aa
VS
102382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10241 grub_read_cmos prototype.
10242
93c06ff9
VS
102432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 VGA text support in qemu-mips
10246
10247 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10248 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10249 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10250 text.
10251 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10252 * grub-core/kern/vga_init.c: ... this.
10253 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10254 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10255 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10256 Adjust.
10257 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10258 GRUB_MACHINE_PCI_IO_BASE.
10259
748ccabe
VS
102602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 MIPS qemu flash support.
10263
10264 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10265 magic.
10266 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10267 (grub_machine_init): Probe memory if its size isn't known.
10268 * util/grub-mkimage.c (image_targets): Add flash targets.
10269 (generate_image): Handle flash targets.
10270
d7345994
VS
102712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 MIPS qemu at_keyboard support.
10274
10275 * gentpl.py (videoinkernel): Add qemu-mips.
10276 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10277 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10278 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10279 modules.
10280 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10281 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10282 * grub-core/term/serial.c (grub_serial_register)
10283 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10284
a07a81b3
VS
102852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 CMOS support on sparc.
10288
10289 * gentpl.py (cmos): Add powerpc and sparc.
10290 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10291 powerpc and sparc.
10292 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10293 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10294 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10295 grub_set_datetime_cmos.
10296 * grub-core/lib/ieee1275/cmos.c: New file.
10297 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10298 (find_rtc): Set no_ieee1275_rtc on error.
10299 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10300 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10301 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10302 fail. Move value to argument. All users updated
10303 (grub_cmos_write): Likewise.
10304 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10305 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10306 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10307 grub_get_datetime_cmos and grub_set_datetime_cmos.
10308
77546584
GS
103092011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10310
10311 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10312 sourcing grub-mkconfig_lib.
10313 * util/update-grub_lib.in: Likewise.
10314 * util/grub.d/00_header.in: Likewise.
10315 * util/grub.d/10_hurd.in: Likewise.
10316 * util/grub.d/10_kfreebsd.in: Likewise.
10317 * util/grub.d/10_linux.in: Likewise.
10318 * util/grub.d/10_netbsd.in: Likewise.
10319 * util/grub.d/10_windows.in: Likewise.
10320 * util/grub.d/20_linux_xen.in: Likewise.
10321 * util/grub.d/30_os-prober.in: Likewise.
10322
54894791
CW
103232011-06-28 Colin Watson <cjwatson@ubuntu.com>
10324
10325 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10326 default_bg_color rather than black.
10327 (grub_gfxterm_fullscreen): Likewise.
10328 (grub_gfxterm_background_color_cmd): Save new background color in
10329 default_bg_color.
10330
8d5d8444
VS
103312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10334
5afeb5bd
VS
103352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10338 mismerge.
10339
ba7df45e
VS
103402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 Chainloading on coreboot support.
10343
10344 * grub-core/Makefile.core.def (chain): Add coreboot.
10345 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10346
d0b526b2
VS
103472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10350 if it happens.
10351
5ff1d945
VS
103522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 Implement time command.
10355
10356 * grub-core/Makefile.core.def (time): New module.
10357 * grub-core/commands/time.c: New file.
10358 * grub-core/script/parser.y: Remove "time" keyword.
10359 * grub-core/script/yylex.l: Likewise.
10360
5ebaad7e
VS
103612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10364
bdea3798
VS
103652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10368 when handling leftovers.
10369
b28c5655
VS
103702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10373 so that help2man doesn't fail.
10374
b6f945dc
VS
103752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10378 type in pointers on sparc64.
10379 (get_card_packet): Likewise.
10380
f9b75e8a
CW
103812011-06-27 Colin Watson <cjwatson@ubuntu.com>
10382
10383 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10384 with `*'.
10385 (grub_cmd_videoinfo): Fetch current video mode.
10386
1e3d9b86
VS
103872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10390 because of underlying system restrictions.
10391
efff4b1c
VS
103922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10395 necessary.
10396
9fc9ce37
VS
103972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Coreboot video support.
10400
10401 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10402 (vbe): Likewise.
10403 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10404 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10405 here ...
10406 * grub-core/kern/i386/int.S: ... here.
10407 * grub-core/video/i386/pc/vbe.c: Updated includes.
10408 * grub-core/video/i386/pc/vga.c: Likewise.
10409 * include/grub/i386/coreboot/memory.h
10410 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10411 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10412 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10413 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10414 Disable interrupts.
10415 * include/grub/i386/pc/vga.h: Removed. All users updated.
10416
41bec7fe
VS
104172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10420 definitions for dprintf.
10421 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10422
ca80309d
VS
104232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10426 prototype.
10427 (get_card_packet): Likewise.
10428
9e322ce8
YB
104292011-06-26 Yves Blusseau <blusseau@zetam.org>
10430
10431 Display the path of the file when file is not found
10432
10433 * grub-core/fs/fat.c: Display the filename when file is not found.
10434 * grub-core/fs/fshelp.c: Likewise.
10435 * grub-core/fs/hfs.c: Likewise.
10436 * grub-core/fs/jfs.c: Likewise.
10437 * grub-core/fs/minix.c: Likewise.
10438 * grub-core/fs/ufs.c: Likewise.
10439 * grub-core/fs/btrfs.c: Likewise.
10440 * grub-core/commands/i386/pc/play.c: Likewise.
10441
cbf597af
SJ
104422011-06-26 Szymon Janc <szymon@janc.net.pl>
10443
10444 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10445 pointer checks before calling grub_free().
10446 * grub-core/commands/wildcard.c (match_devices): Likewise.
10447 * grub-core/commands/wildcard.c (match_files): Likewise.
10448 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10449 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10450 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10451 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10452 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10453 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10454 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10455 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10456 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10457
6295b32f
P
104582011-06-25 Patrick <p55@mailinator.com>
10459
10460 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10461
77c0840b
VS
104622011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10465 (grub_pxe_send): Likewise.
10466 (GRUB_MOD_INIT): Fix types.
10467
40ea05de
SJ
104682011-06-24 Szymon Janc <szymon@janc.net.pl>
10469
10470 * grub-core/io/xzio.c: Fix code style issues
10471
90162423
MRA
104722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
104732011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10474
10475 Network infrastructure.
10476 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10477
10478 * include/grub/net/arp.h: New file.
90162423
MRA
10479 * include/grub/net/device.h: Likewise.
10480 * include/grub/net/ethernet.h: Likewise.
10481 * include/grub/net/ip.h: Likewise.
10482 * include/grub/net/netbuff.h: Likewise.
10483 * include/grub/net/tftp.h: Likewise.
10484 * include/grub/net/udp.h: Likewise.
10485 * include/grub/ieee1275/ofnet.h: Likewise.
10486 * include/grub/emu/export.h: Likewise.
10487 * include/grub/net.h: Likewise.
10488 * grub-core/net/arp.c: Likewise.
10489 * grub-core/net/ethernet.c: Likewise.
10490 * grub-core/net/ip.c: Likewise.
10491 * grub-core/net/udp.c: Likewise.
10492 * grub-core/net/tftp.c: Likewise.
10493 * grub-core/net/netbuff.c: Likewise.
10494 * grub-core/net/net.c: Likewise.
10495 * grub-core/net/drivers/emu/emunet.c: Likewise.
10496 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10497 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10498 export.h.
10499 * grub-core/Makefile.core.def (net): New module.
10500 (tftp): Likewise.
10501 (ofnet): Likewise.
10502 (emunet): Likewise.
10503 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10504 network protocols.
10505 * grub-core/kern/device.c (grub_net_open) : New variable.
10506 (grub_device_open): Handle network device.
10507 (grub_device_close): Likewise.
10508 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10509 (grub_grubnet_fini): Likewise.
10510 (grub_file_seek): Seek in network device.
10511 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10512 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10513 network root.
10514 (grub_machine_fini): Call grub_grubnet_fini.
10515 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10516 network.
10517 (grub_ieee1275_get_aliasdevname): New function.
10518 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10519 Add unofficial Solaris network info.
10520 (grub_multiboot_make_mbi): Likewise.
10521 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10522 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10523 * include/grub/device.h (grub_fs): Removed.
10524 * include/grub/err.h (grub_err_t): Add network-related values.
10525 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10526 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10527 (grub_ieee1275_get_aliasdevname): New proto.
10528 * include/grub/net.h: Rewritten.
423a1849 10529
031f22a0
VS
105302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10533 names.
10534
4388ca72
VS
105352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10538 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10539 it truncates the output.
10540 Reported by: Ximin Luo.
10541
98e2f506
VS
105422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10545
2a5e94d8
VS
105462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10549 partmap before abstraction.
10550
535c1910
AK
105512011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10552
10553 * util/grub-mkconfig_lib.in: Add missing quotes.
10554
bc09e1a2
VS
105552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10558 old method if mountinfo would return /dev/root and /dev/root doesn't
10559 exist.
10560
290766fb
VS
105612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 ZFS zlib support
10564
10565 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10566 (decomp_table): Add zlib entries.
10567 (zio_read): USe 8 bits for compression function rather than 3.
10568 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10569
105702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/disk/ahci.c: Add missing license statements.
10573 * grub-core/fs/romfs.c: Likewise.
10574 * grub-core/lib/ia64/setjmp.S: Likewise.
10575 * grub-core/loader/i386/pc/freedos.c: Likewise.
10576 * grub-core/loader/ia64/efi/linux.c: Likewise.
10577 * grub-core/video/colors.c: Likewise.
10578 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10579
5ab3f48a
VS
105802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 AHCI support.
10583
10584 * grub-core/Makefile.core.def (ata_pthru): Removed.
10585 (ahci): New module.
10586 (pata): Likewise.
10587 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10588 on unload.
10589 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10590 readwrite.
10591 (grub_hdparm_do_check_powermode_cmd): Likewise.
10592 (grub_hdparm_do_smart_cmd): Likewise.
10593 (grub_hdparm_set_val_cmd): Likewise.
10594 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10595 * grub-core/disk/ahci.c: New file.
10596 * grub-core/disk/ata.c: Factor out the low-level part into ...
10597 * grub-core/disk/pata.c: ... here.
10598 * grub-core/disk/ata_pthru.c: Contents moved to ...
10599 * grub-core/disk/pata.c: ... here.
10600 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10601 (grub_scsi_iterate): Use grub_scsi_names.
10602 (grub_scsi_open): Likewise.
10603 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10604 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10605 (grub_ata_regs_t): New struct.
10606 (grub_disk_ata_pass_through_parms): Likewise.
10607 (grub_ata_device): Renamed to ...
10608 (grub_ata): ... this.
10609 (grub_ata_dev): New struct.
10610 Removed all low-level inline functions.
10611 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10612 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10613 iterate hooks and open. All users updated.
10614 * util/grub-install.in: Handle AHCI disk module.
10615
c31dc5f5
SJ
106162011-06-23 Szymon Janc <szymon@janc.net.pl>
10617
10618 Add support for DRI and RSTn markers in JPEG files.
10619
10620 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10621 (JPEG_MARKER_RST0): Likewise.
10622 (JPEG_MARKER_RST1): Likewise.
10623 (JPEG_MARKER_RST2): Likewise.
10624 (JPEG_MARKER_RST3): Likewise.
10625 (JPEG_MARKER_RST4): Likewise.
10626 (JPEG_MARKER_RST5): Likewise.
10627 (JPEG_MARKER_RST6): Likewise.
10628 (JPEG_MARKER_RST7): Likewise.
10629 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10630 (grub_jpeg_decode_dri): New function.
10631 (grub_jpeg_decode_sos): Move image data related part into
10632 grub_jpeg_decode_data function.
10633 (grub_jpeg_decode_data): New function.
10634 (grub_jpeg_reset): New function.
10635 (grub_jpeg_decode_jpeg): Handle new markers.
10636
fe12fd5b
VS
106372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * util/ieee1275/ofpath.c (check_sas): Close fd.
10640 (main): Free of_path.
10641 Reported by: David Volgyes <dvolgyes>.
10642
03147f46
VS
106432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10646 Reported by: David Volgyes <dvolgyes>.
10647
cad3237f
VS
106482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10651 file after stat.
10652 Reported by: David Volgyes <dvolgyes>.
10653
13548d26
VS
106542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10657
10658 Reported by: David Volgyes <dvolgyes>.
10659
e061a1b5
VS
106602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10663 Prevent memory leak.
10664
1abe47dc
VS
106652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10668 (main): Close file.
e061a1b5 10669 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10670
fbc62666
VS
106712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10674 to continue if allocation is failed.
10675
10676 Reported by: David Volgyes <dvolgyes>.
10677
e98c83e9
DV
106782011-06-23 David Volgyes <dvolgyes>
10679
10680 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10681 dereference.
10682
a199a8cd
VS
106832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Fix spurious warning.
10686
10687 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10688 (acorn_partition_map_find): Use .bin member.
10689
e2d1dba0
VS
106902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10693 /dev/root as a valid device.
10694
8a5d6919
JM
106952011-06-23 Jim Meyering <meyering@redhat.com>
10696
e2d1dba0
VS
10697 Avoid NULL deref in grub_device_open.
10698
8a5d6919
JM
10699 * grub-core/kern/device.c (grub_device_open): Don't dereference
10700 a NULL pointer upon failed grub_env_get.
10701
f7db6f4a
VS
107022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 Support non-512B sectors and agglomerate reads.
10705
10706 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10707 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10708 (disk_io_guid): Removed.
10709 (make_devices): Locate solely by BlockIO.
10710 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10711 (grub_efidisk_read): Use read_blocks.
10712 (grub_efidisk_write): Use write_blocks.
10713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10714 log_sector_size.
10715 (get_safe_sectors): Handle non-512B sectors.
10716 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10717 sectors.
10718 (grub_biosdisk_write): Handle non-512B sectors.
10719 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10720 (grub_scsi_read): Remove special non-512B block handling (now handled
10721 one level up).
10722 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10723 and do sanity checks.
10724 (grub_disk_adjust_range): Handle non-512B sectors.
10725 (transform_sector): New function.
10726 (grub_disk_read_small): Likewise.
10727 (grub_disk_read): Rewritten.
10728 (grub_disk_write): Handle non-512B sectors.
10729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10730 log_sector_size.
10731 (open_device): Use log_sector_size.
10732 (grub_util_biosdisk_read): Likewise.
10733 (grub_util_biosdisk_write): Likewise.
10734 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10735 non-512B sectors.
10736 (pc_partition_map_embed): Likewise.
10737 * include/grub/disk.h (grub_disk): New field log_sector_size.
10738 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10739 (GRUB_DISK_CACHE_BITS): Increased to 6.
10740 * util/grub-fstest.c (fstest): New command testload.
10741 (argp_parser): Likewise.
10742
881ac815
RM
107432011-06-16 Robert Millan <rmh@gnu.org>
10744
10745 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10746 `ata' driver on kernel of FreeBSD 9.
10747
10748 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10749 (get_ataraid_disk_name): New functions.
10750 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10751 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10752 get_ataraid_disk_name() and get_ada_disk_name().
10753
1e9aef7d
CW
107542011-06-13 Colin Watson <cjwatson@ubuntu.com>
10755
10756 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10757 input format.
10758
351c7c8a
CW
107592011-05-29 Colin Watson <cjwatson@ubuntu.com>
10760
10761 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10762 `ftp.gnu.org' for `alpha.gnu.org'.
10763
6b4e6430
CW
107642011-05-27 Colin Watson <cjwatson@ubuntu.com>
10765
10766 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10767 partitions under /dev/disk/by-id/.
10768
c64db050
CW
107692011-05-27 Colin Watson <cjwatson@ubuntu.com>
10770
10771 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10772 after ten consecutive open failures. Scanning all the way up to
10773 10000 is excessive and can cause serious performance problems in
10774 some configurations.
10775 Fixes Ubuntu bug #787461.
10776
245f4aba
VS
107772011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10780 opening new one.
10781
f767c929
VS
107822011-05-21 Colin Watson <cjwatson@ubuntu.com>
107832011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Don't stat devices unless we have to.
10786
10787 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10788 dir == /dev/mapper.
10789 (grub_guess_root_device): Use already known os_dev if possible.
10790 * grub-core/kern/emu/hostdisk.c
10791 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10792 if device is known to be a dm one.
10793
f35fa3a6
CW
107942011-05-20 Colin Watson <cjwatson@ubuntu.com>
10795
10796 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10797 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10798 Reported by: Pawel Tecza.
10799
9a79fcf2
VS
108002011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10803 (lsefisystab): Likewise.
10804 (lssal): Likewise.
10805 (lsefimmap): Likewise.
10806 (hdparm): Enable on qemu-mips.
10807 (setjmp): Add ia64 nodist.
10808 (serial): Simplify tags.
10809
63e3eea9
CW
108102011-05-18 Colin Watson <cjwatson@ubuntu.com>
10811
10812 * Makefile.util.def (grub-ofpathname): Install manual page.
10813
09728256
CW
108142011-05-18 Colin Watson <cjwatson@ubuntu.com>
10815
10816 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10817
8b63a142
CW
108182011-05-18 Colin Watson <cjwatson@ubuntu.com>
10819
10820 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10821
e775d8ed
VS
108222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10825 into dprintf.
10826
bf947d36
VS
108272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 Use full 64-bit division.
10830
10831 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10832 (grub_divmod64): ... this.
10833 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10834 version.
10835
b84f26c5
CW
108362011-05-18 Colin Watson <cjwatson@ubuntu.com>
10837
10838 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10839 `source'.
10840
5626056f
CW
108412011-05-18 Colin Watson <cjwatson@ubuntu.com>
10842
10843 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10844 to avoid accidents when debugging with 'sh -x'.
10845 * grub-core/gensyminfo.sh.in: Likewise.
10846 * tests/example_scripted_test.in: Likewise.
10847 * tests/grub_cmd_regexp.in: Likewise.
10848 * tests/grub_script_blanklines.in: Likewise.
10849 * tests/grub_script_dollar.in: Likewise.
10850 * tests/grub_script_expansion.in: Likewise.
10851 * tests/grub_script_final_semicolon.in: Likewise.
10852 * tests/partmap_test.in: Likewise.
10853 * tests/util/grub-shell-tester.in: Likewise.
10854 * tests/util/grub-shell.in: Likewise.
10855
e2965f4a
CW
108562011-05-18 Colin Watson <cjwatson@ubuntu.com>
10857
10858 Move gfxmenu color handling to video, so that gfxterm can use it
10859 too.
10860
10861 * grub-core/gfxmenu/named_colors.c: Move to ...
10862 * grub-core/video/colors.c: ... here. Rename
10863 grub_gui_get_named_color to grub_video_get_named_color.
10864 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10865 * grub-core/video/colors.c (my_isxdigit): ... here.
10866 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10867 Move to ...
10868 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10869 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10870 to ...
10871 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10872
10873 * include/grub/gui.h (grub_gui_color_t): Move to ...
10874 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10875 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10876 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10877 * include/grub/gui.h (grub_gui_map_color): Move to ...
10878 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10879 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10880 to ...
10881 * include/grub/video.h (grub_video_get_named_color): ... here.
10882 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10883 * include/grub/video.h (grub_video_parse_color): ... here.
10884
10885 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10886 video/colors.c.
10887 (gfxmenu): Remove gfxmenu/named_colors.c.
10888 (video) [videomodules]: Add video/colors.c.
10889
10890 Add a background_color command.
10891
10892 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10893 function.
10894 (GRUB_MOD_INIT): Register background_color command.
10895 (GRUB_MOD_FINI): Unregister background_color command.
10896 (redraw_screen_rect): Allow blend/replace of text layer to be
10897 controlled independently from whether there is a background bitmap.
10898 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10899 changing bitmap.
10900
1e4b4390
VS
109012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10902
26618ff0
VS
10903 Patch BPB in ntldr and chainloader --bpb.
10904
1e4b4390
VS
10905 * grub-core/fs/fat.c: Include grub/fat.h.
10906 (grub_fat_bpb): Moved to ...
10907 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10908 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10909 grub/ntfs.h.
10910 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10911 Moved from here...
10912 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10913 here.
10914 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10915 New function.
10916 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10917 (GRUB_MOD_INIT): Show --bpb.
10918 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10919 * grub-core/normal/main.c (features): New variable.
10920 (GRUB_MOD_INIT): Set feature_* variables.
10921 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10922 proto.
10923 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10924
cf02731e
VS
109252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10928 for cleanness.
10929
e3a1073f
VS
109302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 FreeDOS direct loading support.
10933
10934 * docs/grub.texi (Supported OS): Add FreeDOS.
10935 * grub-core/Makefile.core.def (freedos): New module.
10936 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10937 variable.
10938 (grub_relocator16_boot): Handle %ebx.
10939 * grub-core/lib/i386/relocator16.S: Likewise.
10940 * grub-core/loader/i386/pc/freedos.c: New file.
10941
05caa461
VS
109422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 Long Linux command line support.
10945
10946 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10947 (maximal_cmdline_size): New variable.
10948 (allocate_pages): Use maximal_cmdline_size.
10949 (grub_cmd_linux): Set and use maximal_cmdline_size.
10950 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10951 (allocate_pages): Use maximal_cmdline_size.
10952 (grub_cmd_linux): Set and use maximal_cmdline_size.
10953 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10954 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10955 and cmdline_size.
10956
a2491e23
VS
109572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
109582011-05-18 Colin Watson <cjwatson@ubuntu.com>
10959
10960 Improve devmapper support
10961
10962 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10963 (grub_util_is_lvm): New function.
10964 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10965 than lvm if not dmraid.
10966 Handle mapped md nodes.
10967 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10968 (grub_util_device_is_mapped): ... this. Make always available. All users
10969 updated.
10970 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10971 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10972 dmraid nodes.
10973 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10974
6ad6223e
VS
109752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10978
10979 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10980 * grub-core/modinfo.sh.in: New file.
10981 * grub-core/Makefile.core.def (modinfo.sh): New script.
10982 * util/grub-mknetdir.in: Use modinfo.sh.
10983 * util/grub-mkrescue.in: Likewise.
10984
543a8f6e
VS
109852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10988 Fix potential usage of Elf32 instead of Elf64 when compiling on
10989 32-bit architecture. Add endianness macros while on it.
10990
4959e111
VS
109912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Use mipsel- rather than mips- in directories involving mipsel ports to
10994 allow both endiannesses coexist.
10995
10996 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10997 mips. All conditions adjusted.
10998 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10999 variable.
11000 * util/grub-install.in: Adjust conditions to take renaming into account.
11001 * util/grub-mkimage.c (image_targets): Likewise. New target
11002 mips-qemu_mips-elf for bigendian mips.
11003
35341bbc
VS
110042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 Avoid unnecessary copying on MIPS.
11007
11008 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11009 early if src == dest.
11010 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11011 compression is none.
11012
b772baed
VS
110132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 Reduce memory footprint on SGI by putting modules before the kernel
11016 as opposed to after.
11017
11018 * grub-core/Makefile.core.def (kernel): Increase linking address.
11019 (none_decompress): Likewise.
11020 (xz_decompress): Likewise.
11021 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11022 address.
11023 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11024 layout change.
11025 (grub_arch_modules_addr): New function.
11026 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11027 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11028 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11029 here.
11030 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11031 (grub_total_modules_size): ... this. Make global.
11032 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11033 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11034 New definition.
11035 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11036 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11037 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11038 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11039 * util/grub-mkimage.c (image_target_desc): New flag
11040 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11041 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11042 (generate_image): Handle images with modules before kernel.
11043
566a1917
VS
110442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Prevent potential loss of memory map by overwrite on qemu-mips.
11047
11048 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11049 Save ram size in $s4.
11050 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11051 All users changed to grub_arch_memsize.
11052 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11053 Loongson.
11054 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11055 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11056 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11057 external variable.
11058
5d420cd9
CW
110592011-05-17 Colin Watson <cjwatson@ubuntu.com>
11060
11061 * .bzrignore: Remove grub-dumpbios.
11062
d064b830
CW
110632011-05-17 Colin Watson <cjwatson@ubuntu.com>
11064
11065 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11066 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11067 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11068 existing options which append).
11069 * docs/grub.texi (Simple configuration): Document new options.
11070 Reported by: Ian Jackson. Fixes Debian bug #617538.
11071
3ca2b466
CW
110722011-05-17 Colin Watson <cjwatson@ubuntu.com>
11073
11074 * util/grub-fstest.c (cmd_cat): New function.
11075 (fstest): Handle CMD_CAT.
11076 (options): Add cat.
11077 (argp_parser): Handle cat.
11078
24c9143a
CW
110792011-05-17 Colin Watson <cjwatson@ubuntu.com>
11080
11081 * Makefile.util.def (grub-bin2h): Don't install.
11082 * docs/man/grub-bin2h.h2m: Remove.
11083
90f7ac19
VS
110842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11087 place.
11088
8d4a5178
VS
110892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 Reenable qemu-mips port.
11092
11093 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11094 Fix small arc bug while on it.
11095 * gentpl.py: Handle qemu_mips.
11096 * grub-core/Makefile.am: Likewise.
11097 * grub-core/Makefile.core.def: Likewise.
11098 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11099 inappropriate includes.
11100 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11101 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11102 * grub-core/kern/main.c (grub_modules_get_end)
11103 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11104 * grub-core/kern/mips/qemu-mips: Moved to ..
11105 * grub-core/kern/mips/qemu_mips: ... this.
11106 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11107 (grub_machine_init): Call terminfo_init and serial_init.
11108 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11109 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11110 New variable.
11111 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11112 parameter passing.
11113 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11114 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11115 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11116 * include/grub/mips/qemu_mips/cmos.h: New file.
11117 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11118 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11119 Removed.
11120 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11121 Use correct mips-style address.
11122 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11123 (GRUB_TICKS_PER_SECOND): Removed.
11124 (grub_get_rtc): Likewise.
11125 (grub_cpu_idle): Likewise.
11126 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11127 New definition.
11128 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11129 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11130 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11131 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11132 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11133 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11134 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11135 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11136
400b9371
VS
111372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 SGI ARCS port.
11140
11141 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11142 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11143 platforms.
11144 * configure.ac: New target mips-arc.
11145 * gentpl.py: Likewise.
11146 * grub-core/Makefile.am: Likewise.
11147 * grub-core/Makefile.core.def: Likewise.
11148 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11149 (none_decompress): Likewise.
11150 (lsdev): New module.
11151 (datetime): Use lib/arc/datetime.c on ARC.
11152 (part_dvh): New module.
11153 * grub-core/commands/arc/lsdev.c: New file.
11154 * grub-core/disk/arc/arcdisk.c: Likewise.
11155 * grub-core/kern/mips/arc/init.c: Likewise.
11156 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11157 aligned addresses.
11158 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11159 support.
11160 (grub_arch_dl_relocate_symbols): Likewise.
11161 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11162 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11163 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11164 platforms.
11165 * grub-core/lib/arc/datetime.c: New file.
11166 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11167 pci.h on non-loongson.
11168 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11169 (grub_linux_boot): Set unused registers to 0.
11170 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11171 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11172 * grub-core/mmap/mips/uppermem.c: ...here.
11173 * grub-core/partmap/dvh.c: New file.
11174 * grub-core/term/arc/console.c: Likewise.
11175 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11176 (grub_terminfo_set_current): Add terminal "arc".
11177 (grub_terminfo_readkey): Support ARC sequences.
11178 * include/grub/arc/arc.h: New file.
11179 * include/grub/arc/console.h: Likewise.
11180 * include/grub/disk.h (grub_disk_dev_id): Add
11181 GRUB_DISK_DEVICE_ARCDISK_ID.
11182 * include/grub/mips/arc/kernel.h: New file.
11183 * include/grub/mips/arc/memory.h: Likewise.
11184 * include/grub/mips/arc/time.h: Likewise.
11185 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11186 * include/grub/mips/kernel.h (grub_halt): ... here.
11187 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11188 here...
11189 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11190 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11191 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11192 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11193 proto.
11194 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11195 from here ...
11196 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11197 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11198 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11199 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11200 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11201 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11202 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11203 (grub_phys_addr_t): Moved from here ...
11204 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11205 (grub_vtop): Moved from here ...
11206 * include/grub/mips/memory.h (grub_vtop): ... here.
11207 (grub_map_memory): Moved from here ...
11208 * include/grub/mips/memory.h (grub_map_memory): ... here.
11209 (grub_unmap_memory): Moved from here ...
11210 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11211 (grub_machine_mmap_iterate): Moved from here ...
11212 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11213 (grub_mmap_get_lower): Moved from here ...
11214 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11215 (grub_mmap_get_upper): Moved from here ...
11216 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11217 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11218 here ...
11219 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11220 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11221 here ...
11222 * include/grub/mips/time.h (grub_get_rtc): ... here.
11223 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11224 here ...
11225 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11226 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11227 here ...
11228 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11229 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11230 definition.
11231 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11232 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11233 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11234 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11235 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11236 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11237 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11238 (GRUB_MACHINE_LINK_ADDR): Likewise.
11239 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11240 to 6.
11241 * util/grub-install.in: Run dvhtool on ARC.
11242 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11243 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11244
c8ecc840
VS
112452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11248 blocks.
11249
153a4b55
VS
112502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11253 after enabling port.
11254
ff44d107
VS
112552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 Skip incorrect USB devices.
11258
11259 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11260 configcnt == 0.
11261 * include/grub/usb.h (grub_usb_err_t): New enum value
11262 GRUB_USB_ERR_BADDEVICE.
11263
638dbe4f
VS
112642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Fuloong video init support.
11267
11268 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11269 well.
11270 (grub_vga_read_arx): New function.
11271 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11272 definition.
11273 (framebuffer): New members io, mmioptr and mmiobase.
11274 (read_sis_cmd): New function.
11275 (write_sis_cmd): Likewise.
11276 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11277 rather than 640x400.
11278 * grub-core/video/sis315_init.c: New file.
11279
c3fc520c
VS
112802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11283 non-loongson.
11284 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11285 to grub_dl_register_symbol.
11286
67b1e5c9
VS
112872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 Fix compilation errors.
11290
11291 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11292 potentially unused.
11293 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11294 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11295 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11296 to loongson machines.
11297
b756f75f
VS
112982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 Several FS mtime support.
11301
11302 * grub-core/fs/affs.c (grub_affs_time): New struct.
11303 (grub_affs_file): New field mtime.
11304 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11305 type. Removed 'size'. New field 'di'. All users updated.
11306 (grub_affs_mount): Simplify checsum checking.
11307 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11308 (grub_affs_dir): Handle mtime.
11309 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11310 (grub_cpio_dir): Likewise.
11311 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11312 (grub_hfs_filerec): New field mtime.
11313 (grub_hfs_dir): Handle mtime.
11314 (grub_hfs_mtime): New function.
11315 (grub_hfs_fs): Register grub_hfs_mtime.
11316 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11317 (grub_iso9660_dir): New field mtime.
11318 (grub_fshelp_node): New field dirent.
11319 (iso9660_to_unixtime): New function.
11320 (iso9660_to_unixtime2): Likewise.
11321 (grub_iso9660_read_symlink): Use node->dirent.
11322 (grub_iso9660_iterate_dir): Likewise.
11323 (grub_iso9660_dir): Set mtime.
11324 (grub_iso9660_mtime): New function.
11325 (grub_iso9660_fs): Register grub_iso9660_mtime.
11326 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11327 (grub_jfs_inode): New fields atime, ctime and mtime.
11328 (grub_jfs_dir): Set mtime.
11329 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11330 * grub-core/fs/ntfs.c (list_file): Set mtime.
11331 (grub_ntfs_dir): Likewise.
11332 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11333 (grub_reiserfs_iterate_dir): Set mtime.
11334 (grub_reiserfs_dir): Likewise.
11335 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11336 (grub_fshelp_node): Likewise.
11337 (grub_sfs_iterate_dir): Set mtime.
11338 (grub_sfs_dir): Likewise.
11339 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11340 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11341 (grub_xfs_inode): New fields atime, mtime, ctime.
11342 (grub_xfs_dir): Set mtime.
11343 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11344 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11345 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11346
11347 Support UDF symlinks.
11348
11349 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11350 (grub_ufs_read_symlink): New function. All users updated.
11351
11352 Check amiga partmap checksum.
11353
11354 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11355 (grub_amiga_partition): Likewise.
11356 (amiga_partition_map_checksum): New function.
11357 (amiga_partition_map_iterate): Check checksum.
11358
5470225d
VS
113592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 ROMFS support.
11362
11363 * Makefile.util.def (libgrubmods.a): Add romfs.
11364 * grub-core/Makefile.core.def (romfs): New module.
11365 * grub-core/fs/romfs.c: New file.
11366
d4680a35
VS
113672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 Squashfs v4 support.
11370
11371 * Makefile.util.def (libgrubmods.a): Add squash4.
11372 * grub-core/Makefile.core.def (squash4): New module.
11373 * grub-core/fs/squash4.c: New file.
11374 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11375 disk_input_start, disk_input.
11376 (get_byte): Handle disk_input.
11377 (grub_zlib_disk_read): New function.
11378 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11379
bcb18e74
FZ
113802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
113812011-05-15 Feiran Zheng <famcool@gmail.com>
11382
11383 * Makefile.util.def (libgrubmods.a): Add minix3.
11384 * grub-core/Makefile.core.def (minix3): New module.
11385 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11386 (GRUB_MINIX_BSIZE): Removed.
11387 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11388 (grub_minix_ino_t): New type.
11389 (grub_minix_le_to_cpu_ino): New macro.
11390 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11391 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11392 (grub_minix_data): New field block_size.
11393 (grub_minix_read_file): Handle 64-bit correctly.
11394 * grub-core/fs/minix3.c: New file.
11395
32297d5f
TG
113962011-05-15 Tristan Gingold <gingold@free.fr>
113972011-05-15 Robert Millan <rmh.grub@aybabtu.com>
113982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 IA64 support.
11401
11402 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11403 * configure.ac: Add ia64-efi target.
11404 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11405 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11406 * gentpl.py: Add ia64_efi platform.
11407 Rename x86_efi to efi and Add ia64-efi. All users updated.
11408 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11409 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11410 Remove kern/generic/rtc_get_time_ms.c on EFI.
11411 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11412 kern/ia64/dl_helper.c on ia64-efi.
11413 Add kern/emu/cache.c on emu.
11414 (linux): Use on loader/ia64/efi/linux.c on ia64.
11415 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11416 whether symbol is a function.
11417 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11418 (grub_symbol): New field 'isfunc'.
11419 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11420 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11421 (grub_dl_load_segments): Place all sections into the same region.
11422 [__ia64__]: Create trampolines and got.
11423 [GRUB_MACHINE_EMU]: Call mprotect.
11424 (grub_dl_resolve_symbols): Resolve symbol type as well.
11425 [__ia64__]: Create function descriptors.
11426 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11427 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11428 (grub_get_rtc): New function.
11429 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11430 * grub-core/kern/emu/cache.S: Renamed to ...
11431 * grub-core/kern/emu/cache_s.S: ... this.
11432 [__ia64__]: Add a nop.
11433 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11434 [__ia64__]: New function.
11435 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11436 * grub-core/kern/ia64/dl.c: New file.
11437 * grub-core/kern/ia64/dl_helper.c: Likewise.
11438 * grub-core/kern/ia64/efi/init.c: New file.
11439 * grub-core/kern/ia64/efi/startup.S: Likewise.
11440 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11441 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11442 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11443 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11444 * grub-core/loader/ia64/efi/linux.c: New file.
11445 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11446 (GRUB_MOD_DEP): Likewise.
11447 (grub_dl) [__ia64__]: New fields got and tramp.
11448 (grub_dl): New field 'base'.
11449 (grub_dl_register_symbol): New argument isfunc. All users updated.
11450 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11451 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11452 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11453 (grub_ia64_dl_get_tramp_got_size): New proto.
11454 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11455 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11456 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11457 * include/grub/efi/api.h: Skip call wrappers on ia64.
11458 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11459 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11460 * include/grub/elf.h (ELF_ST_INFO): New definition.
11461 * include/grub/ia64/efi/kernel.h: New file.
11462 * include/grub/ia64/efi/memory.h: Likewise.
11463 * include/grub/ia64/efi/time.h: Likewise.
11464 * include/grub/ia64/kernel.h: Likewise.
11465 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11466 * include/grub/ia64/time.h: New file.
11467 * include/grub/ia64/types.h: Likewise.
11468 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11469 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11470 New protos.
11471 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11472 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11473 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11474 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11475 All users updated.
11476 (EFI64_HEADER_SIZE): New definition. All users updated.
11477 (image_targets): Add ia64-efi.
11478 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11479 jumpers_addr. All users updated.
11480 Create function descriptors.
11481 (count_funcs): New function.
11482 (unaligned_uint32): New struct.
11483 (MASK20): New definition.
11484 (MASK19): Likewise.
11485 (MASKF21): Likewise.
11486 (add_value_to_slot_20b): New function.
11487 (add_value_to_slot_21_real): Likewise.
11488 (add_value_to_slot_21): Likewise.
11489 (ia64_kernel_trampoline): New struct.
11490 (nopm): New variable.
11491 (jump): Likewise.
11492 (make_trampoline): New function.
11493 (relocate_addresses): Handle ia64.
11494 (make_reloc_section): Likewise.
11495 (load_image): Likewise.
11496
983b414d
VS
114972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11500 warning. Move variables before code while on it.
11501
5d063cdc
VS
115022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 Fuloong support.
11505
11506 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11507 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11508 * grub-core/boot/mips/loongson/fuloong.S: New file.
11509 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11510 Explicitly init CS5536.
11511 [FULOONG]: Don't use serial until CS5536 is available.
11512 Set GPIO based on dumps.
11513 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11514 [FULOONG]: Handle GPIO and memory controller differences.
11515 Parse machine type in $a2.
11516 * grub-core/boot/mips/startup_raw.S: Determine and save the
11517 architecture.
11518 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11519 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11520 init on architecture type.
11521 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11522 SIS315E. Don't init at_keyboard on fuloong.
11523 (grub_halt): Support Fuloong.
11524 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11525 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11526 (loongson_machtypes): New array.
11527 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11528 type.
11529 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11530 config. All users updated. Handle CS5536 serial.
11531 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11532 default port on machine type. Register serial as inactive.
11533 * grub-core/video/sis315pro.c: New file.
11534 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11535 definition.
11536 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11537 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11538 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11539 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11540 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11541 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11542 to ...
11543 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11544 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11545 definition.
11546 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11547 (grub_arch_machine): New extern var.
11548 * include/grub/mips/loongson/serial.h
11549 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11550 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11551 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11552 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11553 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11554 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11555 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11556 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11557 * include/grub/term.h (grub_term_register_input_inactive): New inline
11558 function.
11559 (grub_term_register_output_inactive): Likewise.
11560 * include/grub/video.h (grub_video_driver_id): New value
11561 GRUB_VIDEO_DRIVER_SIS315PRO.
11562 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11563 New field "names". All users updated.
11564 New field value IMAGE_FULOONG_FLASH.
11565 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11566
6ada82d1
JU
115672011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11568
11569 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11570 and add some clarification.
11571
90c571a4
VS
115722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11575 platforms if kernel is compressed.
11576
de04eecf
VS
115772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11580 unused modules since currently referrence counter isn't reliable and
11581 there isn't much memory to recover there anyway.
11582
57688121
VS
115832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11586 rather than resetting it to allow modules to reference themselves
11587 in init.
11588
3d2c7e35
VS
115892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11592 counter on dependencies since grub_dl_unref already handles this.
11593
b25db218
VS
115942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11597 on error if not already done.
11598
25a45338
VS
115992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 Fix few potential memory misusage.
11602
11603 * grub-core/font/font.c (load_font_index): Don't free char_index to
11604 avoid double free.
b25db218
VS
11605 (grub_font_load): Zero-fill font at alloc for safety.
11606 Close file on error.
11607 (free_font): Free bmp_idx.
25a45338 11608
0cac83df
VS
116092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * docs/grub.texi (Installation): Fix several outdated claims.
11612
2217a143
VS
116132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 Handle module_license on windows.
11616
11617 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11618 sections shifted.
11619 (insert_string): Make argument const char * instead of char *.
11620 (write_section_data): Handle long section names.
11621 Handle module_license.
11622
d4de6b01
VS
116232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11626 handle class-free menuentries.
11627 (grub_normal_add_menu_entry): Add a check to be sure.
11628
4c2a3b43
VS
116292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11632 PgUp and PgDown.
11633
85c6210f
VS
116342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * configure.ac: Bump version to 1.99.
11637
36084912
VS
116382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Give ATA device a bit more time on first try in order to allow disks
11641 to spin up.
11642
11643 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11644 if dev->present is 1. Reset dev->present on failure.
11645 (grub_ata_device_initialize): Set dev->present to 1.
11646 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11647 (grub_ata_device): New member 'present'.
11648
bda0e219
VS
116492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * util/grub-mkimage.c (generate_image): Update hash.
11652
19e1c41b
VS
116532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 Flush caches on DMA memory.
11656
11657 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11658 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11659 (grub_dma_free): Likewise.
11660 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11661
91bbcc0c
VS
116622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11665 to avoid asm treating ld and sd as macros.
11666
60ddfad3
VS
116672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11670 decompressor.
11671
a298aa04
VS
116722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11675 grub_decompress_core since later would fail if grub_decompress_core
11676 is too far.
11677
9b44feca
VS
116782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11681 R_MIPS_JALR since it's used by newer compiler.
11682
56dbe7b4
VS
116832011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11686
52856af2
VS
116872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11690 file_path to 0 for surety.
11691 (grub_chainloader_boot): Set exit_data to NULL.
11692 Unset the loader once done.
11693 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11694
9c9bfc6d
VS
116952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11698 unknown key into a dprintf.
11699
dd94a3df
VS
117002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11703 on first non-existant partition.
11704
fa68d99c
VS
117052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11708 openning fails.
11709 Reported by: Mark Korenberg.
11710
157effb7
VS
117112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11714 overflow.
11715
ea75312f
VS
117162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11719 before closing to ensure that it will be readable by grub-setup.
11720
072b5d31
VS
117212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11724 (devpath_1): Use MAKE_PIWG_PATH.
11725 (devpath_2): Likewise.
11726 (devpath_3): Likewise.
11727 (devpath_4): Likewise.
11728 (devpath_5): Likewise.
11729 (devpath_6): Likewise.
11730
11731 The appleldr.mod was checked that to be binary identical to previous
11732 version.
11733
7fae0051
Z
117342011-05-05 Zach <mikezackles>
11735
11736 Support 2010 Macbooks.
11737
11738 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11739 (devs): Add devpath_6.
11740
7c515bee
VS
117412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11744 /dev/random. /dev/urandom is good enough for our purposes (salting).
11745
ed660bd8
VS
117462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11749
ee5614b7
VS
117502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11753 hexadecimal.
11754
664889a6
VS
117552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11758 and not 0 on failure.
11759
bd405bbc
CW
117602011-05-03 Colin Watson <cjwatson@ubuntu.com>
11761
11762 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11763 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11764 disk; otherwise grub_fs_probe will not fall back to the next
11765 filesystem.
11766 (grub_pxefs_open): Likewise, for consistency.
11767 Reported and tested by: Ezekiel Grave.
11768
4ebff753
CW
117692011-05-03 Colin Watson <cjwatson@ubuntu.com>
11770
11771 * tests/partmap_test.in: Don't hardcode path to parted.
11772 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11773
8f942553
CW
117742011-05-01 Colin Watson <cjwatson@ubuntu.com>
11775
11776 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11777 of `ls' to find out which devices are available.
11778
3c62402d
VS
117792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11782 than source address for efi mmap buffer.
11783
723f63f2
VS
117842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11787 wrong action on non-detecting the magic.
11788
68797f92
VS
117892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11792 already supplied by another part of the module (fixes compilation on
11793 FreeBSD).
11794
6be8715d
VS
117952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11798 match the one used by mdadm.
11799
e91dba5b
CW
118002011-04-21 Colin Watson <cjwatson@ubuntu.com>
11801
11802 * po/README: Add instructions for creating po/LINGUAS.
11803
c85140b3
CW
118042011-04-21 Colin Watson <cjwatson@ubuntu.com>
11805
11806 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11807 #551428.
11808
11809 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11810 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11811 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11812 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11813 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11814 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11815 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11816 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11817 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11818 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11819 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11820 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11821 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11822 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11823 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11824 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11825 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11826 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11827 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11828 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11829 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11830 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11831
92051871
CW
118322011-04-21 Colin Watson <cjwatson@ubuntu.com>
11833
11834 * grub-core/kern/emu/getroot.c
11835 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11836 test that was incorrectly reintroduced in r3214.
11837 Reported by: Ian Dall. Fixes Savannah bug #33133.
11838
b13f79a4
CW
118392011-04-21 Colin Watson <cjwatson@ubuntu.com>
11840
11841 Fix stack pointer handling in 16-bit relocator.
11842
11843 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11844 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11845 Fixes Ubuntu bug #683904.
11846
9b710a88
VS
118472011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * configure.ac: Bump version to 1.99~rc2.
11850
d97e7b59
VS
118512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11854 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11855 * grub-core/lib/x86_64/setjmp.S: Likewise.
11856 * grub-core/lib/mips/setjmp.S: Likewise.
11857 * grub-core/lib/powerpc/setjmp.S: Likewise.
11858 * grub-core/lib/sparc64/setjmp.S: Likewise.
11859
0624551c
VS
118602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11863 * grub-core/lib/efi/datetime.c: Likewise.
11864
e8f28d4c
VS
118652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11868 New function.
11869 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11870 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11871 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11872
bba79a15
VS
118732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11876 bitmap.
11877 (grub_gfxterm_term_init): Likewise.
11878
abc474ef
VS
118792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Take into account the decorations the computing menu entry width.
11882
11883 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11884 (grub_gfxmenu_create_box): Register get_border_width.
11885 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11886 if available.
11887 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11888 get_border_width.
11889
e74b3947
EP
118902011-04-18 Endres Puschner <code@e7p.de>
11891
11892 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11893 Don't skip first class.
11894
34faa595
VS
118952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11898 chunks.
11899 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11900
93a777e3
VS
119012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 Complete 64-bit division support.
11904
11905 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11906 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11907 * include/grub/misc.h (grub_divmod64): Rename to ...
11908 (grub_divmod64_full): ... this.
11909 (grub_divmod64): New inline function.
11910
a5102d94
VS
119112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11914
f3fb7b36
VS
119152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11918 performing the necessary test.
11919
9ac718b0
VS
119202011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11923 (kfreebsd.elf): Likewise.
11924 (pc-chainloader.elf): Likewise.
11925 (ntldr.elf): Likewise.
11926
50d2cc5a
VS
119272011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 Identify RAID by its UUID rather than (guessed) name.
11930
11931 * grub-core/disk/raid.c (ascii2hex): New function.
11932 (grub_raid_open): Accept mduuid/%s specification.
11933 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11934 (get_mdadm_uuid): ... this.
11935 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11936
e03f7bea
VS
119372011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11940 to negative size.
11941
e74c3112
CW
119422011-04-13 Colin Watson <cjwatson@ubuntu.com>
11943
11944 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11945 btrfs subvolume.
11946 * util/grub.d/20_linux_xen.in: Likewise.
11947
78fa584f
CW
119482011-04-13 Colin Watson <cjwatson@ubuntu.com>
11949
11950 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11951 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11952
11953 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11954 Build a list of relevant visible mounts using the mnt_id and
11955 parent_mnt_id fields, and then scan that list at the end.
11956
9d5f8162
CW
119572011-04-12 Colin Watson <cjwatson@ubuntu.com>
11958
11959 * docs/grub.texi (normal): New section.
11960 (normal_exit): New section.
11961 (Embedded configuration): Add reference to normal.
11962 (GRUB only offers a rescue shell): Likewise.
11963 * docs/grub-dev.texi (Error Handling): Fix typo.
11964
09a9d66f
CW
119652011-04-12 Colin Watson <cjwatson@ubuntu.com>
11966
11967 * NEWS: Drop obsolete entry about probe-only btrfs support.
11968
0c676933
CW
119692011-04-12 Colin Watson <cjwatson@ubuntu.com>
11970
11971 * util/import_gcry.py: Fix typo.
11972
ec9f5e0d
VS
119732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * NEWS: Add btrfs support.
11976
fe6b2cba
VS
119772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
119782011-04-11 Colin Watson <cjwatson@ubuntu.com>
11979
11980 BtrFS support. Written by me (Vladimir) with important bugfixes and
11981 even more important testing by Colin.
11982
11983 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11984 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11985 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11986 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11987 mem_input_off and mem_input. All users updated to accept in-RAM input.
11988 (gzio_seek): New function.
11989 (test_zlib_header): Likewise.
11990 (grub_gzio_read): Likewise.
11991 (grub_zlib_decompress): Likewise.
11992 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11993 Accept partial and non-virtual mounts.
11994 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11995 avoid receiving /dev/dm-X as device.
11996 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11997 Handle bind and partial mounts.
11998 * grub-core/lib/crc.c: New file.
11999 * include/grub/deflate.h: Likewise.
12000 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12001 proto.
12002 * include/grub/lib/crc.h: New file.
12003
e745cf0c
VS
120042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 Implement automatic module license checking according to new GNU
12007 guidelines.
12008
12009 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12010 (grub_dl_load_core): Use grub_dl_check_license.
12011 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12012 (GRUB_MOD_LICENSE): Likewise.
12013 (GRUB_MOD_DUAL_LICENSE): Likewise.
12014 All modules updated.
12015
2a9bc016
CW
120162011-04-11 Colin Watson <cjwatson@ubuntu.com>
12017
12018 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12019 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12020 loaders.
12021 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12022
8a3bc88e
VS
120232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12026
af869a4a
VS
120272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12030 failed.
12031
9ee8d94f
VS
120322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12035 parenthesis in the middle of the filename.
12036
b01abe3e
VS
120372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12040 rather than trying to put initrd way too high.
12041 Reported by: Ryan Lortie <desrt@desrt.ca>
12042
335bda1e
VS
120432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12046 improperly removed string.
12047
5ca1a64d
VS
120482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12051 is_disk.
12052 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12053 (open_device) Likewise.
12054 (grub_util_biosdisk_close): Likewise.
d8ce9995 12055 Reported by: Mark Korenberg.
5ca1a64d 12056
cbac5b1e
AK
120572011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12058
12059 * util/grub-mkconfig_lib.in: Add missing quotes.
12060
088cdb65
CW
120612011-04-10 Colin Watson <cjwatson@ubuntu.com>
12062
12063 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12064 is NULL.
12065
8b8a81fa
VS
120662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 Dynamically count the number of lines for the lower banner.
12069
12070 * grub-core/normal/menu_entry.c (per_term_screen): New member
12071 num_entries.
12072 (print_down): Use num_entries.
12073 (update_screen): Likewise.
12074 (grub_menu_entry_run): Set num_entries.
12075 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12076 num_entries.
12077 (grub_print_message_indented): Move real part to ...
12078 (grub_print_message_indented_real): ... here. Additional argument
12079 dry_run.
12080 (draw_border): Additional argument num_entries.
12081 (print_message): Additional argument dry_run.
12082 (print_entries): Receive menu viewer data.
12083 (grub_menu_init_page): New argment num_entries.
12084 (menu_text_set_chosen_entry): Use num_entries.
12085 (grub_menu_try_text): Likewise.
12086 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12087 All users updated.
12088 (grub_ucs4_count_lines): New function.
12089 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12090 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12091 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12092 (grub_term_border_height): Likewise.
12093 (grub_term_num_entries): Likewise.
12094
277f955b
VS
120952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12098 Remove now unused string.
12099
536ce85a
CW
121002011-04-09 Colin Watson <cjwatson@ubuntu.com>
12101
12102 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12103 build system.
12104 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12105
12106 (Comment): Fix typo.
12107 (Getting started): General copy-editing.
12108 (Typical Development Experience): Likewise.
12109 (Error Handling): Likewise.
12110 (Video API): Likewise.
12111
2cf09e32
CW
121122011-04-09 Colin Watson <cjwatson@ubuntu.com>
12113
12114 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12115 throughout.
12116
1ec652f4
VS
121172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12120 directory.
12121
2c583728
CW
121222011-04-08 Colin Watson <cjwatson@ubuntu.com>
12123
12124 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12125 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12126 "development".
12127
d7a565e9
VS
121282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12131 grub_strcpy since the lines aren't necessarily 0-terminated.
12132
7c2e4909
VS
121332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12136 root on legacy.
12137
34c09785
VS
121382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12141 (GRUB_MOD_INIT): DEVICE isn't optional.
12142
6a6f8058
VS
121432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12146 word on new line if it's too long anyway. Fixes a hang.
12147
2e335e90
VS
121482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12151 const.
12152 * util/grub-setup.c (main): Reuse md device name if available.
12153 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12154 not GRUB name as argument.
12155 Based on patch by: Florian Wagner <fwagner>.
12156
10a7a867
VS
121572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12160 Place mbi on low memory for better compatibility.
12161
7a3d6cd9
VS
121622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12165
18dd6b47
VS
121662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
121672011-04-08 Colin Watson <cjwatson@ubuntu.com>
12168
12169 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12170 * conf/Makefile.common: Likewise.
18dd6b47 12171
3c0e3f14
VS
121722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12173
f7148863
VS
12174 * grub-core/normal/menu.c: Add missing include.
12175
121762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12179
6d1fa41f
MZ
121802011-04-08 Martin Zuther <mzuther@mzuther.de>
12181
12182 * util/grub-mkconfig.in: Ignore emacsen backup.
12183
478182a8
VS
121842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12187 on open.
12188 (grub_util_biosdisk_close): Likewise.
12189
72a89a54
VS
121902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12193 const attribute and use grub_isdigit.
12194
b5ebecfa
A
121952011-04-06 Andrey <dev_null@ukr.net>
12196
12197 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12198 gcc warning.
12199
7755f66e
VS
122002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12203 useful grub_dprintf's.
12204
461121ff
VS
122052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12208
2a961775
VS
122092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12212
adf594cc
VS
122132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Output errors if theme loading failed.
12216
12217 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12218 grub_gfxterm_fullscreen on error paths to ...
12219 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12220 theme loading error.
12221
665900a3
VS
122222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12225 space for older compilers.
12226 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12227
a562b479
VS
122282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12231 and report them as not RAID members since they are useless for GRUB.
12232 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12233
850e9373
VS
122342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 Increase LVM implementation robustness in order not to crash on
12237 configurations like pvmove. Previously code assumed that in some places
12238 only lvs or only pvs are used whereas it seems that they are used
12239 interchangeably.
12240
12241 * grub-core/disk/lvm.c (read_node): New function.
12242 (read_lv): Use read_node.
12243 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12244 Match volumes only at the end when all lvs are found. Take both
12245 pvs (first) and lvs (second) into account.
12246 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12247 mirror_* into node_*. All users updated.
12248 (grub_lvm_stripe): Merge this ...
12249 (grub_lvm_mirror): ... and this ...
12250 (grub_lvm_node): ... into this. All users updated.
12251
6f332153
VS
122522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12255 of function to allow further scanning for LVMs.
12256
829ea451
VS
122572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12260 on failed seek as it breaks open fd reusage.
12261
09ceb9a5
VS
122622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * util/grub-install.in: Add a recommendation to use --recheck before
12265 reporting bugs.
12266
67e11623
VS
122672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12270 are obtained.
12271
caee5efd
VS
122722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 GRUB developper manual based on existing Internals section and
12275 contributions by the various authors with active copyright assignment.
12276
12277 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12278 * docs/font_char_metrics.png: New file.
12279 * docs/font_char_metrics.txt: Likewise.
12280 * docs/grub-dev.texi: Likewise.
12281 * docs/grub.texi (Internals): Move from here ...
12282 * docs/grub-dev.texi: ... here.
12283
2cccc747
CW
122842011-04-01 Colin Watson <cjwatson@ubuntu.com>
12285
12286 Store the loopback device as data on loopback grub_disk structures,
12287 rather than the file it points to. This fixes use of freed memory
12288 if an existing loopback device is replaced.
12289
12290 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12291 disk->data, not dev->file.
12292 (grub_loopback_read): Adjust file assignment to match.
12293 Fixes Ubuntu bug #742967.
12294
186ae367
CW
122952011-04-01 Colin Watson <cjwatson@ubuntu.com>
12296
12297 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12298 when replacing an existing device.
12299
cfed2ad0
VS
123002011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12303 memory corruptions.
12304
12305 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12306 unsigned.
12307 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12308 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12309 (grub_jfs_read_inode): Likewise.
12310 (grub_jfs_opendir): Likewise. Remove now useless casts.
12311 (grub_jfs_getent): Likewise.
12312 Make ino a grub_uint32_t rather than int.
12313 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12314 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12315 division and module with bit operations.
12316 (grub_jfs_find_file): Make ino a grub_uint32_t.
12317 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12318
05d2ed32
CW
123192011-04-01 Colin Watson <cjwatson@ubuntu.com>
12320
12321 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12322 warning. (This was in fact always initialised before use, but GCC
12323 wasn't smart enough to prove that.)
12324 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12325
91dc6073
VS
123262011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12329 stack alignment.
12330 (efi_wrap_1): Likewise.
12331 (efi_wrap_2): Likewise.
12332 (efi_wrap_3): Likewise.
12333 (efi_wrap_4): Likewise.
12334 (efi_wrap_5): Likewise.
12335 (efi_wrap_6): Likewise.
12336 (efi_wrap_10): Likewise.
12337 Based on information by: Red Hat/Peter Jones.
12338
a8afc1d1
CW
123392011-03-31 Colin Watson <cjwatson@ubuntu.com>
12340
12341 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12342 set-but-not-used variable.
12343
a826cc7d
CW
123442011-03-31 Colin Watson <cjwatson@ubuntu.com>
12345
12346 * docs/grub.texi (Simple configuration): Be more explicit about
12347 GRUB_DEFAULT, and add an example.
12348 Reported by: Leslie Rhorer.
12349
875b67ba
CW
123502011-03-30 Colin Watson <cjwatson@ubuntu.com>
12351
12352 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12353 shell".
12354
fd7cd914
AS
123552011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12356
12357 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12358 * util/grub.d/20_linux_xen.in: Likewise.
12359
090b1b6a
VS
123602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * util/grub.d/10_linux.in: Try alternative config filenames where
12363 we parse config file.
12364 * util/grub.d/20_linux_xen.in: Likewise.
12365
baad885c
AS
123662011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12367
12368 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12369 * util/grub.d/20_linux_xen.in: Likewise.
12370
241e41f5
VS
123712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/disk/raid.c (insert_array): Add few potentially
12374 useful grub_util_info.
12375 (grub_raid_register): Likewise.
12376
56445fb2
VS
123772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12380 Preserve partition number in mdadm code path.
12381
c871b1c6
VS
123822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12385 few potentially useful grub_util_info.
12386
5e631b4f
CW
123872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12390
2d5d0333
CW
123912011-03-30 Colin Watson <cjwatson@ubuntu.com>
12392
12393 * docs/grub.texi (default): Use @example rather than nested
12394 itemized lists to avoid breaking gendocs.
12395
3d7ed04e
CW
123962011-03-30 Colin Watson <cjwatson@ubuntu.com>
12397
12398 * docs/grub.texi (Future): Update.
12399
abf04200 124002011-03-30 Colin Watson <cjwatson@ubuntu.com>
12401
12402 * docs/grub.texi (Environment): New chapter.
12403 (Changes from GRUB Legacy): Link to "Environment block" section for
12404 details of limitations.
12405 (Simple configuration): Likewise. Link to documentation of gfxmode
12406 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12407 respectively.
12408 (Shell-like scripting): Note that normal variables are stored in the
12409 environment.
12410 (gettext): Link to documentation of lang and locale_dir.
12411 (list_env): New section.
12412 (load_env): New section.
12413 (save_env): New section.
12414
12415 (Reporting bugs): Fix typo.
12416
e1ad0edd
VS
124172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12420 the example.
12421
5d803174
VS
124222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * grub-core/term/at_keyboard.c (set_scancodes)
12425 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12426
2a2da1d0
CW
124272011-03-30 Colin Watson <cjwatson@ubuntu.com>
12428
12429 * docs/grub.texi (Menu-specific commands): Remove some semantics
12430 that were true in GRUB Legacy but not in GRUB 2.
12431 (submenu): New section.
12432 (false): New section.
12433 (read): New section.
12434 (true): New section.
12435
a7527639
CW
124362011-03-30 Colin Watson <cjwatson@ubuntu.com>
12437
12438 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12439
124402011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12441
12442 * docs/grub.texi (Simple configuration): Explain some of the
12443 current limitations of grub-mkconfig.
8a748df2 12444 Reported by: Leslie Rhorer.
e30af029 12445
fc858482
VS
124462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 Old macs search for boot.efi rather than for bootia32.efi.
12449
12450 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12451 * util/grub-mkrescue.in: Likewise.
12452 Suggested by: Peter Jones.
12453
e1eb511d
VS
124542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12457
70e75364
VS
124582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12461 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12462 (grub_lvm_mirror): New struct.
12463 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12464 (grub_lvm_iterate): Iterate only visible volumes.
12465 (grub_lvm_read): Factor out to ..
12466 (read_lv): ... this. Support mirrors.
12467 (grub_lvm_read): New wrapper function.
12468 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12469 stripped or mirrored.
12470
fc18f6a3
VS
124712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12474
5c650f4c
CW
124752011-03-29 Colin Watson <cjwatson@ubuntu.com>
12476
12477 * docs/grub.texi (loopback): New section.
12478
61d7156b
CW
124792011-03-29 Colin Watson <cjwatson@ubuntu.com>
12480
12481 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12482 removed -p option.
12483
994b8264
CW
124842011-03-29 Colin Watson <cjwatson@ubuntu.com>
12485
12486 * docs/grub.texi (BIOS installation): New section, partly based on
12487 previous text in other sections.
12488 (Installing GRUB using grub-install): Replace BIOS discussion with a
12489 cross-reference.
12490 (Images): Likewise.
12491
9e4d19e0
VS
124922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12495 [HAVE_DIOCGDINFO]: Add safety checks.
12496
a307c0b2
VS
124972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12500 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12501
b4db4f39
CW
125022011-03-29 Colin Watson <cjwatson@ubuntu.com>
12503
12504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12505 real_sb->size is zero (e.g. RAID-0), get the disk size from
12506 real_sb->data_size instead.
12507 Fixes Ubuntu bug #743136.
12508
35e5f84c
VS
125092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12512 printf clauses for printing size and start.
12513
d2e29d81
VS
125142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12517 Reported and tested by: Timothy Nikkel.
12518
ed5587af
VS
125192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12522 (dirty_region_add_real): ... this.
12523 (dirty_region_add): Don't discard margin refresh when performing
12524 scheduled repaint.
12525
a1dc717c
VS
125262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/lib/relocator.c (allocate_regstart)
12529 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12530 terminals are capabple of malloc-free operation.
12531 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12532 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12533
9f3677d3
VS
125342011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12535
12536 * util/grub-setup.c: Copy the partition table zone if floppy support
12537 is disabled, even if no partition table is found.
12538
12539 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12540 during POST if an invalid partition table is contained in the PBR
12541 of the active partition when GRUB is installed to a partition.
12542
24148725
CW
125432011-03-28 Colin Watson <cjwatson@debian.org>
12544
12545 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12546 comment.
12547
f329eda7
CW
125482011-03-28 Colin Watson <cjwatson@debian.org>
12549
12550 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12551 to be specific about what kind of RAID device we're scanning for.
12552
c482ad98
SG
125532011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12554
12555 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12556 return freed string.
12557
5ee04984
VS
125582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12561
f4727da9
VS
125622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Use libgeom on FreeBSD to detect partitions.
12565
12566 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12567 (grub-mkrelpath): Likewise.
12568 (grub-script-check): Likewise.
12569 (grub-editenv): Likewise.
12570 (grub-mkpasswd-pbkdf2): Likewise.
12571 (grub-fstest): Likewise.
12572 (grub-mkfont): Likewise.
12573 (grub-mkdevicemap): Likewise.
12574 (grub-probe): Likewise.
12575 (grub-setup): Likewise.
12576 (grub-ofpathname): Likewise.
12577 (grub-mklayout): Likewise.
12578 (example_unit_test): Likewise.
12579 (grub-menulst2cfg): Likewise.
12580 * grub-core/Makefile.core.def (grub-emu): Likewise.
12581 (grub-emu-lite): Likewise.
12582 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12583 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12584 define HAVE_DIOCGDINFO.
12585 (follow_geom_up) [FreeBSD]: New function.
12586 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12587 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12588 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12589 unconditionally of HAVE_DIOCGDINFO.
12590
82fe6c75
VS
125912011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 Fix FreeBSD compilation problem.
12594
12595 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12596 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12597
4c6c9431
CW
125982011-03-24 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12601 Switch back to page zero before loading a kernel, since some kernel
12602 drivers expect that.
12603 Thanks to: Felix Kuehling.
12604
c7064d94
VS
126052011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12608 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12609 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12610
3f71cded
VS
126112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12614 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12615
ef6de21a
VS
126162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12619 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12620 malloc is disabled.
12621
8bc66a2c
VS
126222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12625 for modules headers when counting the needed allocation size.
12626
5657722c
VS
126272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12630 if no ASCII character is found to prevent crash.
12631
41a85f55
AK
126322011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12633
12634 * grub-core/video/bitmap.c (match_extension): Ignore case.
12635
59e1e5f1
VS
126362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12639
bd4d051a
VS
126402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/script/parser.y: Declare "time" as valid argument.
12643
bae7fcc1
PJ
126442011-03-23 Peter Jones <pjones@redhat.com>
12645
12646 Fix incorrect assert failure reporting.
12647
12648 * grub-core/tests/example_functional_test.c (example_test): Add
12649 a failure comment.
12650 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12651 (failure_start): ...this. Check that malloc succeeded.
12652 Don't call xvasprintf. Return failure struct.
12653 (failure_append_vtext): New function.
12654 (failure_append_text): Likewise.
12655 (add_failure): Likewise.
12656 (grub_test_assert_helper): Likewise.
12657 * include/grub/test.h (grub_test_assert_helper): New declaration.
12658 (grub_test_assert): Macro rewritten.
12659
537dc9be
VS
126602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12663
fa3e01bf
VS
126642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12667
b1d28404
VS
126682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12671 into GRUB-style one.
12672
2e3e2e09
VS
126732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12676 error and not grub_errno.
12677 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12678
ed57e557
VS
126792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12682 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12683
d1611f01
VS
126842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/efiemu/i386/pc/cfgtables.c
12687 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12688 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12689 (grub_xnu_unlock): Likewise.
12690 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12691
7d4e39d6
VS
126922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12695 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12696 * grub-core/commands/hashsum.c (aliases): Likewise.
12697 * grub-core/commands/setpci.c (pci_registers): Likewise.
12698 * grub-core/disk/usbms.c (attach_hook): Likewise.
12699 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12700 (zio_checksum_table): Likewise.
12701 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12702 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12703 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12704 * grub-core/lib/relocator.c (leftovers): Likewise.
12705 (extra_blocks): Likewise.
12706 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12707 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12708 (modules_last): Likewise.
12709 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12710 (devices): Likewise.
12711 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12712 (modules_last): Likewise.
12713 * grub-core/normal/auth.c (users): Likewise.
12714 * grub-core/normal/context.c (initial_menu): Likewise.
12715 (current_menu): Likewise.
12716 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12717 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12718 (grub_serial_terminfo_input_template): Likewise.
12719 (grub_serial_terminfo_output_template): Likewise.
12720 (grub_serial_terminfo_input): Likewise.
12721 (grub_serial_terminfo_output): Likewise.
12722 (registered): Likewise.
12723 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12724
40fc4659
VS
127252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12728 grub_video_mode_type_t.
12729 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12730 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12731 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12732
2da48d28
VS
127332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 * util/grub-install.in: Correct the x86-64 name as x86_64.
12736
9b43bf39
CW
127372011-03-11 Colin Watson <cjwatson@ubuntu.com>
12738
12739 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12740 initial chunk read from the kernel always includes GRUB's multiboot
12741 header, which is now outside the first sector.
12742
be1a7ce0
CW
127432011-03-09 Colin Watson <cjwatson@ubuntu.com>
12744
12745 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12746 cached mmap_size, so that this works correctly when called multiple
12747 times.
12748 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12749
83a3c48d
CW
127502011-03-09 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * docs/grub.texi (Simple configuration): Tidy up formatting.
12753
57d75699
SJ
127542011-03-07 Szymon Janc <szymon@janc.net.pl>
12755
12756 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12757 Set-but-not-used variable removed.
12758
028501a0
VS
127592011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Workaround yet another IEEE1275 bug.
12762
12763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12764 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12765 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12766 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12767 is set.
12768 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12769 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12770
d998657d
VS
127712011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12774 error.
12775
fee7cdd4
CW
127762011-02-11 Colin Watson <cjwatson@ubuntu.com>
12777
12778 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12779 empty, since in that case we can only generate either nothing or a
12780 syntactically invalid configuration file.
12781 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12782
97286eb5
CW
127832011-02-09 Colin Watson <cjwatson@ubuntu.com>
12784
12785 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12786 (Making a GRUB bootable CD-ROM): Likewise.
12787 (Invoking grub-mkrescue): New section.
12788 Reported by: Yann Dirson. Fixes Debian bug #612585.
12789
22b28eb3
CW
127902011-02-09 Colin Watson <cjwatson@ubuntu.com>
12791
12792 * util/grub-install.in: Remove unnecessary brackets from tr
12793 arguments.
12794 * util/grub.d/10_hurd.in: Likewise.
12795 * util/grub.d/10_kfreebsd.in: Likewise.
12796 * util/grub.d/10_linux.in: Likewise.
12797 * util/grub.d/20_linux_xen.in: Likewise.
12798 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12799
7e735e43
CW
128002011-02-08 Colin Watson <cjwatson@ubuntu.com>
12801
12802 * include/grub/file.h (not_easly_seekable): Rename to ...
12803 (not_easily_seekable): ... this. Update all users.
12804
800f1881
CW
128052011-01-28 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12808 grub-mkrescue.
12809
3281d3d6
VS
128102011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * util/grub-mkimage.c (generate_image): Refuse to create the images
12813 bigger than the actual flash (512K) in Loongson machines. 512K is also
12814 the biggest chip supported by them.
12815
3533413c
VS
128162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12819
73ae4f4f
VS
128202011-01-22 Anthony DeRobertis <anthony@derobert.net>
12821
12822 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12823 super_offset field.
12824
37f4f608
VS
128252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * util/grub-install.in: Ignore install device on platforms
12828 where it doesn't make sense. Always use UUIDs except on pc, efi and
12829 sparc64.
12830 Reported by: Daniel Kahn Gillmor.
12831
03a4ccb5
VS
128322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12835
ffc8f4d8
VS
128362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12839 (iterate_real): Don't rely on partition being non-NULL.
12840
80f23be7
VS
128412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12844 supported platforms. Put a compile time assert for this rather than
12845 generate a warning with 32-bit shift.
12846
5d4f4dd5
VS
128472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12850 logical expression more readable.
12851
e489601a
VS
128522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12855 even if some elements have a name.
12856 Reported by: Alexander GQ Gerasiov.
12857
96e0a6ea
CW
128582011-01-22 Colin Watson <cjwatson@ubuntu.com>
12859
12860 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12861 path unreadable if `grub-probe -t abstraction' fails, for example if
12862 memberlist fails on an LVM volume group.
12863 Reported by: Darius Jahandarie.
12864
81431e2b
CW
128652011-01-22 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * docs/grub.texi (Simple configuration): Document
12868 GRUB_PRELOAD_MODULES.
12869
5e79d66a
CW
128702011-01-17 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * .bzrignore: Remove nonexistent grub-pbkdf2.
12873
646ada34
VS
128742011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * configure.ac: Bump version to 1.99~rc1.
12877
04360337
VS
128782011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12881 for safety.
12882
46c9db88
VS
128832011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12886 module.
12887
128882011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12889
12890 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12891
4fbf1852
VS
128922011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12895 diskdevid.
12896
f1632d4d
VS
128972011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 Fix compilation on cygwin.
12900
12901 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12902 -R .drectve on cygwin.
12903 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12904 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12905 (COND_CYGWIN): New condition.
12906 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12907 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12908 not @TARGET_OBJ2ELF@.
12909 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12910 type to determine whether aux is to be used.
12911
0b5e127b
VS
129122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12915 realpath'ed device string.
12916 Handle floppy (somewhat).
12917 Issue error in unknown case rather than garbage.
12918 Reported by: Axel Beckert.
12919
173b71e9
VS
129202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * util/grub.d/00_header.in (load_video): Handle the case when no video
12923 drivers available.
12924 Thanks to: Axel Beckert.
12925
f8f479db
VS
129262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12929 variable. Fixes problem on big endian platforms.
12930
8fc0a245
VS
129312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12934 It doesn't work well there.
12935
b8494fbe
VS
129362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12939 warning.
12940 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12941 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12942 counter.
12943
b44a558c
VS
129442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 Use alias->path rather than buggy "canon".
12947
12948 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12949 (ofdisk_hash_add): New argument curcan. All users updated.
12950
51fa856c
CW
129512011-01-11 Colin Watson <cjwatson@ubuntu.com>
12952
12953 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12954
9da068a5
VS
129552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12958 loadmask before doing any calculations. Use correct type for offset.
12959 (grub_linux_load64): Likewise.
12960
86205c94
CW
129612011-01-11 Colin Watson <cjwatson@ubuntu.com>
12962
12963 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12964 with NULL.
12965 (console_grub_equivalences_unshift): Likewise.
12966 Reported by: Daniel Dehennin.
12967
4531a206
VS
129682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12971 (set_env_limn_ro): Likewise.
12972 (GRUB_MOD_INIT): Likewise.
12973 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12974 ARRAY_SIZE while on it.
12975 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12976 * grub-core/normal/context.c (grub_env_export): Move from here ...
12977 * grub-core/kern/env.c (grub_env_export): ... here.
12978 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12979 prefix.
12980 * grub-core/kern/main.c (grub_main): Export root and prefix.
12981 * include/grub/env.h (grub_env_export): Export.
12982 Reported by: Seth Goldberg.
12983
45146057
VS
129842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12987 Take into account space used by ELF sections and multiboot palette.
12988 Reported by: Grégoire Sutre.
12989
f093110b
VS
129902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * BUGS: New file.
12993
3395fe52
VS
129942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 Pass more appropriate video id to Linux.
12997
12998 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12999 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13000 fill have_vga.
13001 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13002 shift params->lfb_size.
13003 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13004
c2fa6cbb
VS
130052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13008
b3ff6ff0
VS
130092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13012 separator and pass bootpath/devid even if only one of them is available.
13013 Reported by: Seth Goldberg.
13014
ae67942e
VS
130152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13018 implementations bug on them.
13019
13020 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13021 memory.
13022 (filter_memory_map): Likewise.
13023
d570097a
VS
130242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13027 Reported by: nebuchadnezzar.
13028
a508e776
VS
130292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13032 Reported by: nebuchadnezzar.
13033
dcb883b1
VS
130342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 Submenu default support.
13037
13038 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13039 auto_boot. All users updated.
13040 Declared static.
13041 Handle chosen and default with submenus.
13042 (grub_menu_execute_with_fallback): Declared static.
13043 Don't notify failure if autobooted. Upper level does it.
13044 (menuentry_eq): New function.
13045 (get_entry_number): Use menuentry_eq.
13046 (show_menu): New parameter "autobooted". All users updated.
13047 (grub_show_menu): Likewise.
13048 * include/grub/normal.h (grub_show_menu): Likewise.
13049 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13050 (grub_menu_execute_with_fallback): Likewise.
13051
6fef99b4
VS
130522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * util/grub-mklayout.c (usage): Update help text.
13055
47a77af5
VS
130562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13059
ce6bb3ee
VS
130602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * util/grub-menulst2cfg.c (main): Trim the line.
13063
db87be2a
VS
130642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13067 (grub_machine_init): Don't check amount of low memory as reportedly
13068 INT 12h can be broken and if low memory is too low we wouldn't have
13069 gotten into grub_machine_init anyway.
13070
c49849cc
VS
130712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13074 (grub_machine_mmap_iterate): Take low memory into account
13075
b1969b30
VS
130762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13079 badfs.
13080 Reported by: TiCPU.
13081
cf0eaf13
VS
130822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13085 members errors.
13086
1f060f39
GS
130872011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13088
13089 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13090 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13091
a21e5672
GS
130922011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13093
13094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13095 openbsd and netbsd types being in part_bsd module.
13096
c88172fa
VS
130972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13100 (_FILE_OFFSET_BITS): Likewise.
13101 Reported by: Seth Goldberg.
13102
53798c4b
GS
131032011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13104
13105 * configure.ac: Check for libdevmapper header.
13106
e7121b69
VS
131072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13110 avoid aliasing.
13111 (fzap_lookup): Likewise.
13112 (dnode_get): Likewise.
13113 (make_mdn): Likewise.
13114 (zfs_mount): Likewise.
13115 (fzap_iterate): Use temporary pointer to avoid aliasing.
13116 (grub_zfs_read): Likewise.
13117 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13118 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13119 pointers to avoid aliasing.
13120 (grub_cmd_xnu_kernel64): Likewise.
13121 (grub_xnu_load_driver): Likewise.
13122
fc836af9
VS
131232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13126 aliasing warning.
13127 (grub_cmd_terminal_output): Likewise.
13128 Reported and tested by: Grégoire Sutre.
13129
f9f37648
VS
131302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13133 warning.
13134 Reported and tested by: Grégoire Sutre.
13135
ec1dfd63
VS
131362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 * configure.ac: Do CPU substitution even if it's specified explicitly.
13139 Reported and tested by: Alain Greppin.
13140
9462775a
VS
131412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13144 Reported and tested by: Alain Greppin.
13145
0fd48e35
VS
131462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 Satisfy some bison versions need for inttypes.h.
13149
13150 * grub-core/lib/posix_wrap/inttypes.h: New file.
13151 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13152 (int16_t): Likewise.
13153 (int32_t): Likewise.
13154 (int64_t): Likewise.
13155 Reported and tested by: Alain Greppin.
13156
43f1bc83
VS
131572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13160 Silence spurious warning.
13161 Reported and tested by: Alain Greppin.
13162
64d1f041
SJ
131632011-01-07 Szymon Janc <szymon@janc.net.pl>
13164
13165 * docs/grub.texi (Support automatic decompression): Update with xz
13166 decompression support.
13167
25953e10
SJ
131682011-01-07 Szymon Janc <szymon@janc.net.pl>
13169
13170 Improve loaders' kernel command line handling.
13171
13172 * grub-core/lib/cmdline.c: New file.
13173 * include/grub/lib/cmdline.h: Likewise.
13174 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13175 grub_create_loader_cmdline to create kernel command line.
13176 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13177 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13178 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13179 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13180 (linux): Add lib/cmdline.c on common.
13181
e72d259f
VS
131822011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13185 inopos might be unaligned.
13186
c0cf26da
VS
131872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13190 endian transformations.
13191 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13192 Based on report by: Doug Nazar.
13193
0ca09e6c
DN
131942011-01-07 Doug Nazar <nazard.michi@gmail.com>
13195
13196 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13197 array->members[i].start_sector.
13198 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13199
014b6806
VS
132002011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13203 Reported and tested by: Grégoire Sutre.
13204
415502c2
CW
132052011-01-06 Colin Watson <cjwatson@ubuntu.com>
13206
13207 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13208 avoid causing test failures by clearing the screen.
13209
71b6a2b7
CW
132102011-01-06 Colin Watson <cjwatson@ubuntu.com>
13211
13212 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13213 Fix prefix check to handle the case where dir ends with a slash
13214 (most significantly, "/" itself).
13215 Reported by: Michael Vogt.
13216
b3f8d28a
VS
132172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Run terminfo_cls on initing terminfo output to clear the screen and
13220 move the cursor to (0,0).
13221
13222 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13223 Call grub_terminfo_output_init.
13224 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13225 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13226 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13227
4c3e4f37
VS
132282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13231 only when needed.
13232
488f71f1
VS
132332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13236 CTRL.
13237
18a38098
VS
132382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 The E820 type 5 is BADRAM, not EXEC_CODE.
13241
13242 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13243 (GRUB_E820_BADRAM): New define.
13244 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13245 into reserved. Propagate BADRAM.
13246 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13247 (GRUB_E820_BADRAM): New define.
13248
9eae2084
VS
132492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13252 Ignore the memory post-4G.
13253 (grub_relocator_firmware_alloc_region): Additional debug statement.
13254
ebc71d28
VS
132552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13258 names.
13259 Reported by: David Pravec.
13260
446fa400
VS
132612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13264 BIOSes.
13265
a0159f37
VS
132662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13269 Prevent overflow.
13270 (grub_reed_solomon_recover): Likewise.
13271
e5146ca1
VS
132722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13275
132762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13277
13278 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13279 variable.
13280
5b1bdf12
CW
132812011-01-04 Colin Watson <cjwatson@ubuntu.com>
13282
13283 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13284 descriptions of extract_legacy_entries_source and
13285 extract_legacy_entries_configfile.
13286 Reported by: Seung Soo, Ha.
13287
99d925aa
CW
132882011-01-03 Colin Watson <cjwatson@ubuntu.com>
13289
13290 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13291 on devices that do not implement function 0.
13292
4af0504b
DV
132932011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13294
13295 * grub-core/fs/hfsplus.c: Make parent unsigned.
13296 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13297 overflows.
13298 (grub_hfsplus_cmp_extkey): Likewise
13299
469ee10a
VS
133002011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * util/grub-install.in: Correctly use bootloader_id and not
13303 GRUB_DISTRIBUTOR on efibootmgr line.
13304
323a8e9c
VS
133052011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13308
1b394975
IC
133092010-12-31 Ian Campbell <ijc@hellion.org.uk>
13310
13311 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13312 Xen and reorder menu item wording to make it clearer that this entry
13313 will launch Xen. Print separate messages when loading Xen and
13314 Linux.
13315
275bff5f
VS
133162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13319 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13320 loop in case of incorrect amiga partmap.
13321
307806cb
VS
133222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13325 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13326 Reported by:EHeM.
13327
b12b923e
VS
133282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13331 spurious warning.
13332 Reported by: crocket
13333
14b48a19
VS
133342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13337 Preload EFIemu.
13338 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13339
693db2df
VS
133402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13343 is loaded
13344 (grub_cmd_xnu_kextdir): Likewise.
13345 (grub_cmd_xnu_splash): Likewise.
13346
c7638645
VS
133472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 Avoid using Reed-Solomon with 0 redundancy.
13350
13351 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13352 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13353 or 0 redundancy.
13354 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13355 (grub_reed_solomon_recover): Likewise.
13356
25dd4780
VS
133572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 Don't use disk subsystem in freebsd_boot.
13360
13361 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13362 (freebsd_biosdev): Likewise.
13363 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13364 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13365
0b2db943
VS
133662010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 Handling of files of unknown size is currently limited. They can't be
13369 used e.g. for initrd or modules. Moreover gzip handling of not
13370 easily seekable files is buggy. Disable unknown file size for now. May
13371 be inefficient but works.
13372
13373 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13374 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13375
5c408d0f
MP
133762010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13377
13378 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13379 floppy probe.
13380
190a011a
JD
133812010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13382
13383 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13384
022d01b8
SL
133852010-12-25 Shea Levy <shlevy>
13386
13387 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13388
c4855fdc
VS
133892010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13392 Windows Server 2008.
13393 Reported by: Devin Giddings.
13394
0354b867
VS
133952010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13398 writing an error message because of async power management.
13399 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13400 (grub_reboot): Likewise.
13401
ab66c69f
JU
134022010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13403
13404 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13405 keep unit tests from failing when they shouldn't.
13406
1426ef35
CW
134072010-12-21 Colin Watson <cjwatson@ubuntu.com>
13408
13409 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13410 previous patch increased the size of the RS code by 20 bytes (at
13411 least with gcc-4.4), so increase this by 20 bytes to match.
13412 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13413
20641b6b
CW
134142010-12-21 Colin Watson <cjwatson@ubuntu.com>
13415
13416 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13417 scratch area. Make sure to initialise chosen in standalone mode as
13418 well as non-standalone.
13419 Reported by: Robert Hooker and Andy Whitcroft.
13420 Tested by: Andy Whitcroft.
13421
d060ad60
CW
134222010-12-21 Colin Watson <cjwatson@ubuntu.com>
13423
13424 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13425 constructing a new unescaped string and passing it to grub_xputs in
13426 one go, rather than passing characters to grub_printf one at a time.
13427
b889cfad
CW
134282010-12-21 Colin Watson <cjwatson@ubuntu.com>
13429
13430 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13431 initialising utf16.
13432
4e01b6c8
CW
134332010-12-21 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13436 comment. Add an extra layer of quotation, requiring the output of
13437 this function to be used in a printf format string.
13438 (gettext_printf): New function.
13439 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13440 Extract translatable strings from here-documents and use a temporary
13441 variable instead, so that xgettext can find them.
13442 * util/grub.d/10_kfreebsd.in: Likewise.
13443 * util/grub.d/10_linux.in: Likewise.
13444 * util/grub.d/20_linux_xen.in: Likewise.
13445
13446 * po/grub.d.sed: New file.
13447 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13448 arguments. Set c-format flags on all strings extracted from
13449 util/grub.d/ (xgettext refuses to include these itself for strings
13450 it extracted from a shell file, but these really are c-format).
13451
5318fe98
VS
134522010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13455 Avoid next pointing to nowhere.
13456
6c85b743
VS
134572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13460 rather than assuming than rootblock is exactly in the middle.
13461 (grub_affs_label): Likewise.
13462
a2a08a35
VS
134632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13466 reserved_first_sector to 0.
13467 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13468 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13469 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13470
7059d1ec
VS
134712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 Fix handling of UTF-16 UDF labels.
13474
13475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13476 (read_string): .. here.
13477 (grub_udf_label): Use read_string.
13478
30aff4cb
BC
134792010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13480
13481 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13482 editor under argument scope.
13483 Reported by: Jordan Uggla
13484
5cf86f4b
VS
134852010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13488
32570200
CW
134892010-12-18 Colin Watson <cjwatson@ubuntu.com>
13490
13491 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13492 line, and other keys scroll an entire page (previous handling was
13493 for \r and \n to scroll a page and other keys to scroll two lines).
13494
e1dffcf2
VS
134952010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13498 Set ptrdest to correct get_physical_target_address rather than
13499 incorrect get_virtual_current_address.
13500
b04298cf 135012010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13502
13503 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13504 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13505
5367ecd3
CW
135062010-12-10 Colin Watson <cjwatson@ubuntu.com>
13507
13508 * .bzrignore: Ignore grub-core/rs_decoder.S.
13509
1fb430f8
CW
135102010-12-10 Colin Watson <cjwatson@ubuntu.com>
13511
13512 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13513 .mo/.mo.gz opening sequence to ...
13514 (grub_mofile_open_lang): ... here.
13515 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13516 * util/grub.d/00_header.in (grub_lang): Include country part of
13517 locale.
13518 Reported by: Mario Limonciello.
13519
a94a6671
RM
135202010-12-09 Robert Millan <rmh@gnu.org>
13521
13522 * NEWS: Document addition of ZFS support.
13523
24b7938b
CW
135242010-12-04 Colin Watson <cjwatson@ubuntu.com>
13525
13526 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13527 rather than `/ 2', as the latter requires -Wa,--divide which would
13528 require bumping our minimum binutils version.
13529
bddc3ef6
BC
135302010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13531
13532 * util/grub-script-check.c (main): Print script line number on
13533 error.
13534
bf78d5b2
RM
135352010-12-01 Robert Millan <rmh@gnu.org>
13536
13537 * grub-core/fs/zfs/zfs.c: New file.
13538 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13539 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13540 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13541 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13542
13543 * include/grub/zfs/dmu.h: Likewise.
13544 * include/grub/zfs/dmu_objset.h: Likewise.
13545 * include/grub/zfs/dnode.h: Likewise.
13546 * include/grub/zfs/dsl_dataset.h: Likewise.
13547 * include/grub/zfs/dsl_dir.h: Likewise.
13548 * include/grub/zfs/sa_impl.h: Likewise.
13549 * include/grub/zfs/spa.h: Likewise.
13550 * include/grub/zfs/uberblock_impl.h: Likewise.
13551 * include/grub/zfs/vdev_impl.h: Likewise.
13552 * include/grub/zfs/zap_impl.h: Likewise.
13553 * include/grub/zfs/zap_leaf.h: Likewise.
13554 * include/grub/zfs/zfs.h: Likewise.
13555 * include/grub/zfs/zfs_acl.h: Likewise.
13556 * include/grub/zfs/zfs_znode.h: Likewise.
13557 * include/grub/zfs/zil.h: Likewise.
13558 * include/grub/zfs/zio.h: Likewise.
13559 * include/grub/zfs/zio_checksum.h: Likewise.
13560
13561 * Makefile.util.def: Build ZFS into libgrubmods.
13562 * grub-core/Makefile.core.def: Build zfs.mod.
13563
3f0f3831
SJ
135642010-11-30 Szymon Janc <szymon@janc.net.pl>
13565
13566 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13567 variable.
13568 * grub-core/commands/wildcard.c (match_files): Likewise.
13569
3a4253b2
RM
135702010-11-30 Robert Millan <rmh@gnu.org>
13571
13572 * grub-core/loader/i386/bsd.c
13573 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13574 whether kernel is loaded using grub_loader_is_loaded(), rather
13575 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13576 certain error conditions.
13577
8c317b27
RM
135782010-11-30 Robert Millan <rmh@gnu.org>
13579
c5c9cd3e
RM
13580 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13581 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13582
49d3ab46
VS
135832010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 Avoid using tricks for initialising endian variables.
13586
13587 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13588 Make const.
13589 (GRUB_MOD_INIT): Don't byte-swap.
13590 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13591 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13592 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13593 (grub_swap_bytes32_compile_time): Likewise.
13594 (grub_cpu_to_le32_compile_time): Likewise.
13595 (grub_cpu_to_le16_compile_time): Likewise.
13596
f420a804
VS
135972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * util/grub-setup.c (setup): Stop recommending --force. People who
13600 understand the dangers of blocklists are able to find this option
13601 anyway and the ones who don't shouldn't use it anyway.
13602
4e7db17b
RM
136032010-11-26 Robert Millan <rmh@gnu.org>
13604
13605 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13606 Update all users.
13607
9be57a0d
CW
136082010-11-26 Colin Watson <cjwatson@ubuntu.com>
13609
13610 Fix LVM-on-RAID probing.
13611
13612 * util/grub-probe.c (probe): Remember which disk was detected as
13613 RAID (perhaps an LVM physical volume). Use that disk's raidname
13614 rather than that of the top-level disk.
13615
2c7859b3 136162010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13617
d7647bb6
BC
13618 Fix cmdline argument quotes for setparams command of menuentry
13619 definitions.
7e623b0d
BC
13620
13621 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13622 quotes for arguments.
f866fe80 13623 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13624 grub_strchrsub function instead.
f866fe80 13625
7955bea0 13626 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13627
74f72a64
CW
136282010-11-24 Colin Watson <cjwatson@ubuntu.com>
13629
13630 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13631 effort by skipping "." and ".." entries up-front.
13632 Suggested by: Michael Lazarev.
13633
5a407278
CW
136342010-11-24 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13637 ldflags to ldadd, to fix link line ordering.
13638 (none_decompress): Likewise.
13639
3030d8ec
CW
136402010-11-24 Colin Watson <cjwatson@ubuntu.com>
13641
13642 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13643 platforms.
13644 (grub-emu-lite): Remove kern/emu/cache.S.
13645
b7fbac12
CW
136462010-11-23 Colin Watson <cjwatson@ubuntu.com>
13647
13648 * util/deviceiter.c (compare_devices): If the by-id link for a
13649 device couldn't be resolved, fall back to sorting by the by-id link
13650 rather than segfaulting.
13651 Reported and tested by: Daniel Mierswa.
13652
5225f328
CW
136532010-11-23 Colin Watson <cjwatson@ubuntu.com>
13654
13655 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13656 ldflags, to fix link line ordering.
13657
038b3ce8
CW
136582010-11-23 Colin Watson <cjwatson@ubuntu.com>
13659
13660 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13661 linkers are picky about this.
13662
bf16e98e
CW
136632010-11-23 Colin Watson <cjwatson@ubuntu.com>
13664
13665 * grub-core/Makefile.am (command.lst): Adjust sed expression
13666 ordering so that extended and priority commands aren't treated as
13667 ordinary commands.
13668
7242bab6
CW
136692010-11-23 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13672 Remove byte-swapping function calls, which are not valid in
13673 structure initialisers.
13674 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13675 non-const.
13676 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13677 grub_gpt_partition_type_bios_boot.
13678
14e8b279
CW
136792010-11-22 Colin Watson <cjwatson@ubuntu.com>
13680
13681 Fix test program build on GNU/kFreeBSD.
13682
13683 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13684 $(LIBNVPAIR)' library dependencies.
13685
e6f63338 136862010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13687
13688 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13689
cf8ffc38
CW
136902010-11-22 Colin Watson <cjwatson@ubuntu.com>
13691
13692 * util/grub-install.in: Remove excessive quoting that broke
13693 installations to RAID devices.
13694
7f8b0fd7
VS
136952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13698 bootloader version instead of 0.
13699
dfd240b1
VS
137002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13703 warning.
13704
7b61e609
VS
137052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13708 retrieve the metadat sector if size isn't known.
13709 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13710
9dfe92d0
RM
137112010-11-18 Robert Millan <rmh@gnu.org>
13712
13713 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13714 with grub_memcmp().
13715
41cc919e
VS
137162010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13719 arrow.
13720 Reported by: Jordan Uggla.
13721
1afcc914
VS
137222010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 Make better UTF compliant.
13725
13726 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13727 sequences as incorrect.
13728 (grub_is_valid_utf8): Likewise.
13729 (grub_utf8_to_ucs4): Likewise.
13730 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13731 (grub_ucs4_to_utf8_alloc): Likewise.
13732 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13733
f1808884
VS
137342010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 Make legacy_source behave like source.
13737
13738 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13739 grub_show_menu.
13740 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13741
24ec575b
CW
137422010-11-16 Colin Watson <cjwatson@debian.org>
13743
13744 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13745 (-Wunused implies -Wunused-parameter, but not vice versa).
13746
72b7c7aa
CW
137472010-11-16 Colin Watson <cjwatson@ubuntu.com>
13748
13749 * configure.ac: Make error messages less confusing by testing for
13750 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13751 accepted, but produces a diagnostic if something else is wrong).
13752
e98937aa
VS
137532010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13756 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13757 (now unused).
13758 (grub_keyboard_controller_init)
13759 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13760 read the initial state since controller isn't inited yet.
13761
f6bbabc3
VS
137622010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13765 allocate_regbeg may need to create new chunk header.
13766
22e7dbb2
VS
137672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Fix quoting in legacy parser.
13770
13771 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13772 single quotes.
13773 (grub_legacy_parse): Likewise.
13774 Reported by: Jordan Uggla.
13775 Tested by: Jordan Uggla.
13776
03f80960
VS
137772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 Don't add -lgcc on i386 and x86_64.
13780
13781 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13782 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13783 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13784
779dc15b
VS
137852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * configure.ac: Add -Wno-trampolines when supported.
13788
d20a3b37
MV
137892010-11-14 Modestas Vainius <modax@debian.org>
13790
13791 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13792 fakeraid.
13793
e5360933
GC
137942010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13795
13796 Add generic logical block size support for UDF.
13797
13798 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13799 (GRUB_UDF_BLKSZ): Removed.
13800 (struct grub_udf_data): New field "lbshift" to hold the logical block
13801 size of the file system in log2 format. All users updated.
13802 (sblocklist): Change type to unsigned.
13803 (grub_udf_mount): Change type of "sblklist" to unsigned.
13804 Move AVDP search before VRS recognition, because the latter requires
13805 knowledge of the logical block size, which is detected during the
13806 former.
13807 Detect and validate logical block size during AVDP search, adding
13808 support for block sizes 512, 1024 and 4096.
13809 Make VRS recognition independent of block size.
13810
cb0229c5
GC
138112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13812
13813 Properly handle deleted files on UDF.
13814
13815 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13816 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13817 set.
13818
406858a8
GC
138192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13820
13821 Support reading files larger than 2 GiB.
13822
13823 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13824 "offset" to grub_off_t.
13825 (grub_udf_read_file): Likewise for parameter "pos".
13826
130da6a7
VS
138272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13830 unavailable.
13831 (Simple configuration): Refer to Changes from GRUB Legacy about
13832 save_env availability.
13833
65e93f6b
VS
138342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * util/grub-install.in: Ignore empty partition table detection
13837 instead of trying to include part_ module.
13838
1fd08bf1
VS
138392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13842 LVM on RAID support.
13843
de1a024f
VS
138442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 Properly define WORDS_BIGENDIAN in wrapped environments.
13847
13848 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13849 definition.
13850 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13851
13852 Reported by: Manoel Rebelo Abranches.
13853 Tested by: Manoel Rebelo Abranches.
13854
bc5dd0b9
VS
138552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * util/grub-mkconfig.in: Fix quoting.
13858
58c184be
VS
138592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 Support big ext2 files.
13862
13863 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13864 (grub_ext2_read_block): Support triple indirect blocks.
13865 (grub_ext2_read_file): Use 64-bit types and read size_high.
13866 (grub_ext2_open): Read size_high.
13867 Reported by: Ximin Luo.
13868 Tested by: Manoel Rebelo Abranches.
13869
5f0c02b3
VS
138702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * util/grub-install.in: Handle filenames containing spaces.
13873 Reported by: Jordan Uggla.
13874 Tested by: Jordan Uggla.
13875
4417aae6
VS
138762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * util/grub-mkconfig.in (grub_script_check): New variable.
13879 Use grub_script_check instead of grub-script-check.
13880 Reported by: Barry Jackson.
13881
7625a68e
VS
138822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * docs/grub.texi (menu): Correct the order.
13885 Reported by: D. Hugh Redelmeier.
13886
10001ac5
VS
138872010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13890 jump.
13891
9c4cf53b
MRA
138922010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13893
10001ac5
VS
13894 * include/grub/elfload.h (grub_elf32_size): New parameter.
13895 All users updated.
9c4cf53b
MRA
13896 Return maximum segments alignment.
13897 (grub_elf64_size): Likewise.
13898 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13899 Return maximum segments alignment.
13900 (grub_elf64_size): Likewise.
13901 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13902 (grub_linux_claimmap_iterate): New function. Uses the
13903 "available" property in the "memory" node for memory allocation
13904 for kernel in the PowerPC loader.
9c4cf53b
MRA
13905 (grub_linux_load32): Correctly find linux entry point offset.
13906 (grub_linux_load64): Likewise.
13907
d2bf06bf
RM
139082010-11-07 Robert Millan <rmh@gnu.org>
13909
13910 On mips-yeeloong, build with -march=loongson2f when this flag is
13911 available (GCC >= 4.4).
13912 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13913 `-march=mips3'.
13914 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13915 or otherwise add -march=mips3.
13916
898c99a2
BC
139172010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13918
87220a68
BC
13919 Suppress shell expansion on echo '*' and echo "*" like cases.
13920 Reported by: Jordan Uggla.
898c99a2
BC
13921
13922 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13923 string arguments before shell expansion.
13924 * tests/grub_cmd_echo.in: New testcases.
13925
4f9b406a
RM
139262010-11-07 Robert Millan <rmh@gnu.org>
13927
13928 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13929 transition.
13930
80c6d25e
VS
139312010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/kern/emu/hostdisk.c
13934 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13935
4a1a0153
VS
139362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13939 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13940 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13941
34706ddc
VS
139422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13945
6972dea9
VS
139462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * util/grub-install.in: Replace useless recomendation to pass
13949 --modules with a recomendation to report a bug.
13950
9c693bd6
VS
139512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 Properly register serial terminfo.
13954 Reported by: Jordan Uggla
13955
13956 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13957 const.
13958 (grub_serial_terminfo_output_template): Likewise.
13959 (grub_cmd_serial): Register "serial" with terminfo.
13960 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13961 grub_serial_terminfo_output.
13962
6c9e4c0c
RM
139632010-11-05 Robert Millan <rmh@gnu.org>
13964
13965 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13966 needed).
13967
b9b3839f
RM
139682010-11-05 Robert Millan <rmh@gnu.org>
13969
13970 On Yeeloong, pass machine type information to Linux.
13971
13972 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13973 (LOONGSON_MACHTYPE): New macro, set to
13974 "machtype=lemote-yeeloong-2f-8.9inches".
13975 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13976 additional argument to Linux.
13977
1a3aaff4
RM
139782010-11-04 Robert Millan <rmh@gnu.org>
13979
13980 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13981 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13982 (its SATA disks are detected as slaveless IDE master drives on
13983 kFreeBSD).
13984 Reported by Carsten Aulbert.
13985
a75f4f62
CW
139862010-11-02 Colin Watson <cjwatson@ubuntu.com>
13987
13988 * util/bin2h.c (main): Fix spelling error in generated output.
13989
33b4b0c6
GS
139902010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13991
13992 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13993
2b36fbf4
VS
139942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13997 vga= option is supplied.
13998
74aaf558
VS
139992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14002 * util/grub.d/10_kfreebsd.in: Likewise.
14003 * util/grub.d/10_linux.in: Likewise.
14004 * util/grub.d/20_linux_xen.in: Likewise.
14005
6428dec3
VS
140062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14009 argument as an argument to no-argument option.
14010
f8729d98
VS
140112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * util/grub.d/10_linux.in: Add missing load_video with explicit
14014 GRUB_GFXPAYLOAD_LINUX.
14015
89d68fa6
VS
140162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14019
3a1197cd
VS
140202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14023 elements with invlid index.
14024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14025 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14026 members.
14027 * include/grub/raid.h (grub_raid_member): New struct.
14028 (grub_raid_array): Transform devices and start_sector into usage of
14029 grub_raid_member. All users updated
14030 (allocated_devs): New member.
14031
71574288
VS
140322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14035 is modified
14036
8d40ec65
BC
140372010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14038
14039 NetBSD build fix for getline function conflict from gnulib.
14040
14041 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14042 components that depend on gnulib headers.
14043 (libgrubmods.a): Renamed from earlier libgrub.a.
14044 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14045
95b9257e
VS
140462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14049 install rather than creating a broken install.
14050
26c53dc6
VS
140512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * util/grub-setup.c (argp): Remove misleading example of installing to
14054 a partition.
14055
4171b3c5
VS
140562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * util/grub-setup.c (setup): Clarify the error message.
14059
18568d18
VS
140602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14063
4f6a2e21
VS
140642010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/kern/emu/misc.c
14067 (grub_make_system_path_relative_to_its_root)
14068 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14069
140702010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14071
14072 * grub-core/kern/emu/misc.c
14073 (grub_make_system_path_relative_to_its_root): Revert r2882.
14074
e138c458
VS
140752010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14078 useless field head. All users updated.
14079 (free_subchunk): Correct handling of IN_REGION subchunk.
14080
0cbcdf0e
CW
140812010-10-22 Colin Watson <cjwatson@ubuntu.com>
14082
14083 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14084 (Supported kernels): Likewise.
14085
b65ea155
GS
140862010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14087
14088 Make mktemp invocations portable.
14089
14090 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14091 exit if mktemp fails.
14092 * tests/grub_script_blockarg.in: Likewise.
14093 * tests/partmap_test.in: Likewise.
14094 * tests/util/grub-shell-tester.in: Likewise.
14095 * tests/util/grub-shell.in: Likewise.
14096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14097 * Makefile.am: Likewise, and chain shell commands with `&&'
14098 instead of ';'.
14099 * util/grub-mkrescue.in: Use the same explicit template as above, and
14100 exit if mktemp fails.
14101
05f43cdd
BC
141022010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14103
14104 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14105 Linux kernel, reported by Dennis Schridde.
14106
800e6a9b
SJ
141072010-10-17 Szymon Janc <szymon@janc.net.pl>
14108
14109 * grub-core/normal/auth.c (grub_auth_check_authentication):
14110 Set-but-not-used variable removed.
14111
d82df574
VS
141122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14115 32-bit linux protocol.
14116
7bced458
VS
141172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14120 cursor shape for sanity.
14121
5b027690
VS
141222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * docs/grub.texi (Installation): Document buggy BIOS install.
14125
ba5f65cf
VS
141262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * docs/grub.texi (Installation): Indent.
14129
fdf2ec9c
VS
141302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * util/grub-setup.c (setup): New parameter allow_floppy.
14133 (arguments): New member allow_floppy.
14134 (argp_parser): Handle --allow-floppy.
14135 (main): Pass allow_floppy.
14136 * util/grub-install.in: New option --allow-floppy passed though to
14137 grub-setup.
14138
861dfd4c
VS
141392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * util/grub-install.in: Handle partitionless disks.
14142
f77a8c24
VS
141432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * util/grub-setup.c (setup): Don't clean blocklists before readability
14146 verfification.
14147
27d9ee32
VS
141482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * docs/grub.texi (Installation): Document embedding zone. Remove
14151 obsolete grub-install example.
14152
6bdda8f8
SJ
141532010-10-16 Szymon Janc <szymon@janc.net.pl>
14154
14155 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14156 Set-but-not-used variable ifdef'ed.
14157 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14158 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14159 variable removed.
14160 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14161 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14162 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14163 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14164 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14165 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14166 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14167 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14168 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14169 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14170 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14171 Likewise.
14172
e19b016b
VS
141732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14176 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14177 enum value.
14178
6c8d3002
VS
141792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14182 synonym to _S5_. Needed for some DSDTs.
14183
c32b51c9
VS
141842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 Userspace ACPI parser debugging.
14187
14188 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14189 headers and add relevant defines. Don't include standard headers.
14190 (main) [GRUB_DSDT_TEST]: New function.
14191 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14192 Don't declare functions.
14193
fbfbeb39
VS
141942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 Remove dead grub_efi_mm_fini.
14197
14198 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14199 (ALLOCATED_PAGES_SIZE): Likewise.
14200 (MAX_ALLOCATED_PAGES): Likewise.
14201 (allocated_pages): Likewise.
14202 (grub_efi_allocate_pages): Don't record allocated pages.
14203 (grub_efi_free_pages): Likewise.
14204 (grub_efi_mm_init): Likewise.
14205 (grub_efi_mm_fini): Removed.
14206
65f7ed7c
VS
142072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14210 (grub_efi_mm_init): Take into account the memory map size increase.
14211
24977b44
VS
142122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14215 (serial_hw_put): Wait based on real time rather than port reads. Don't
14216 roken ports.
14217 * include/grub/serial.h (grub_serial_port): New field broken.
14218
1eb01cd2
RM
142192010-10-16 Robert Millan <rmh@gnu.org>
14220
14221 * grub-core/kern/emu/misc.c
14222 (grub_make_system_path_relative_to_its_root): Fix premature return
14223 when processing non-root ZFS filesystems.
5f8b440b 14224 Reported by Sergio Talens-Oliag.
1eb01cd2 14225
2d5fed60
RM
142262010-10-15 Robert Millan <rmh@gnu.org>
14227
14228 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14229 guarantee compressed ones are processed first.
14230
d0f4c1ea
VS
142312010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14234 grub_efiemu_autocore.
14235
d87c681f
VS
142362010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14239 rather than 0x1b.
14240 (grub_console_getkey): Use correct jae opcode rather than ja.
14241
219b3564
RM
142422010-10-12 Robert Millan <rmh@gnu.org>
14243
14244 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14245 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14246 variable. All references updated.
14247
14248 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14249
20c6bb7e
VS
142502010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 Correctly distinguish mdraid flavours.
14253
14254 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14255 (insert_array): New argument raid.
14256 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14257 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14258 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14259
74baff84
VS
142602010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14263 handling of special keys.
14264
3ef068df 142652010-10-02 Aleš Nesrsta <starous@volny.cz>
14266
c7980ad9
VS
14267 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14268 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14269
a9455194 142702010-10-02 Aleš Nesrsta <starous@volny.cz>
14271
c7980ad9
VS
14272 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14273 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14274 users updated.
a9455194 14275 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14276 Use right endpoint when querying descriptor.
a9455194 14277
441cfe65
VS
142782010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 Clear out 0x80 color bit on EFI.
14281 Tested by: decoder
14282 Reported by: decoder and meta tech.
14283
14284 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14285 (grub_console_setcolorstate): Clear out 0x80 bit.
14286 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14287 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14288 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14289
bf26bcc4
VS
142902010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14293 Set to "auto".
14294
6e3c515d
VS
142952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14298 mo_file after freeing.
14299
e6d983ba
VS
143002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14303
74ccb5b5
VS
143042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14307 flags.
14308
17821956
VS
143092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14312 usage.
14313
ee74fa48
VS
143142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14317
14318 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14319 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14320 and terminfo.h when needed.
14321 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14322 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14323 (terminfo): Enable only on terminfokernel.
14324 (extcmd): Likewise.
14325 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14326 * include/grub/lib/arg.h: Likewise.
14327 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14328 incorrect usage of ->.
14329
aa438e68
VS
143302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14333 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14334
57994012
VS
143352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 Fix coreboot compilation.
14338
14339 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14340 Take VBE info into account even if only text is supported.
14341 (fill_vbe_info): Take into account the case when only VGA text
14342 is supported.
14343 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14344 on coreboot, multiboot and qemu.
14345
2a406611
VS
143462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14349 debug messages.
14350 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14351
d33613fc
VS
143522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14355 parameters.
14356
44a1b432
VS
143572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14360 if they were BSD-style.
14361
edde54e6
VS
143622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * grub-core/boot/i386/pc/lnxboot.S: Replace
14365 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14366 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14367
b65830fa
VS
143682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 Write embedding zone using Reed-Solomon.
14371
14372 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14373 * grub-core/Makefile.am (rs_decoder.S): New target.
14374 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14375 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14376 (multiboot): Move to RS part.
14377 (post_reed_solomon): New label.
14378 (grub_boot_drive): Move to non-RS part since it's modified in memory
14379 on boot.
14380 Include rs_decoder.S.
14381 * grub-core/lib/reed_solomon.c: New file.
14382 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14383 New definition.
14384 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14385 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14386 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14387 * include/grub/partition.h (grub_partition_map): Change prototype of
14388 embed to allow returning additional sectors.
14389 * include/grub/reed_solomon.h: New file.
14390 * util/grub-setup.c (setup): Handle Reed-Solomon.
14391
0b4b227f
CW
143922010-09-28 Colin Watson <cjwatson@ubuntu.com>
14393
14394 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14395 i386 and x86-64 definedness tests.
14396
f772623b
YB
143972010-09-27 Yves Blusseau <blusseau@zetam.org>
14398
14399 Fix generation of kernel_syms.lst
14400
14401 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14402 ASM_PREFIX
14403
8e57a6ca
RM
144042010-09-26 Robert Millan <rmh@gnu.org>
14405
14406 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14407
14408 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14409 the pool is an array of devices, iterate through it and return the
14410 first device that passes a stat() test (instead of blindly returning
14411 the first one).
14412
f9130836
RM
144132010-09-26 Robert Millan <rmh@gnu.org>
14414
14415 Build fixes for GNU/kFreeBSD.
14416
14417 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14418 to programs that require ZFS conversion.
14419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14420 kernels that don't have FLOPPY_MAJOR.
14421
96510faf
BC
144222010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14423
14424 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14425
449333eb
BC
144262010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14427
14428 Fix grub-emu build.
14429
14430 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14431 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14432 mdraid09 and mdraid1x.
14433
e1fd1939
CW
144342010-09-24 Colin Watson <cjwatson@ubuntu.com>
14435
14436 Re-enable grub-extras.
14437
14438 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14439 avoid confusing Automake. Run autogen only twice, once for the top
14440 level and once for grub-core. Add Makefile.util.def and
14441 Makefile.core.def from extra modules to the appropriate autogen
14442 invocations. If Makefile.common exists in an extra module, include
14443 it in both Makefile.util.am and grub-core/Makefile.core.am;
14444 similarly, include any Makefile.util.common file in Makefile.util.am
14445 and any Makefile.core.common file in grub-core/Makefile.core.am.
14446 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14447 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14448 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14449 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14450
14451 * gentpl.py (gvar_add): Turn GVARS into a set.
14452 (global_variable_initializers): Sort global variables on output.
14453 (vars_init): New function.
14454 (first_time): Likewise.
14455 (library): Ensure that non-global variable initialisations are
14456 emitted before the first time we emit code for a library block.
14457 Append to variables rather than setting them. Only emit
14458 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14459 each conditional path.
14460 (program): installdir() emits an Autogen macro, so must be passed to
14461 var_add rather than gvar_add.
14462 (data): Likewise.
14463 (script): Likewise.
14464 (rules): New function, centralising handling for different target
14465 types. Set up Guile association lists for first_time and vars_init,
14466 and send most output to a diversion so that variable initialisations
14467 can be emitted first.
14468 (module_rules): Use new rules function.
14469 (kernel_rules): Likewise.
14470 (image_rules): Likewise.
14471 (library_rules): Likewise.
14472 (program_rules): Likewise.
14473 (script_rules): Likewise.
14474 (data_rules): Likewise.
14475
14476 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14477
14478 * .bzrignore: Add contrib and grub-core/contrib. Remove
14479 grub-core/Makefile.gcry.am.
14480
1d12cf29
YB
144812010-09-24 Yves Blusseau <blusseau@zetam.org>
14482
14483 * grub-core/lib/LzFind.c: Add missing include.
14484 * grub-core/lib/LzmaEnc.c: Likewise.
14485 * grub-core/script/lexer.c: Likewise.
14486 * grub-core/script/yylex.l: Likewise.
14487 * util/grub-macho2img.c: Likewise.
14488 * util/grub-menulst2cfg.c: Likewise.
14489 * util/grub-mklayout.c: Likewise.
14490 * util/grub-mkpasswd-pbkdf2.c
14491 * util/grub-mkrelpath.c: Likewise.
14492 * util/resolve.c: Likewise.
14493
dd363028
BC
144942010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14495
14496 * Makefile.util.def (example_unit_test): Add
14497 grub-core/gnulib/libgnu.a.
14498
f5a109e2
GS
144992010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14500
14501 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14502
6d0fa83c
VS
145032010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 Support xz compression on yeeloong.
14506
14507 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14508 * configure.ac: Check for LZMA.
14509 * grub-core/Makefile.core.def (xz_decompress): New target.
14510 (none_decompress): Likewise.
14511 * grub-core/boot/decompressor/minilib.c: New file.
14512 * grub-core/boot/decompressor/none.c: Likewise.
14513 * grub-core/boot/decompressor/xz.c: Likewise.
14514 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14515 * grub-core/kern/mips/cache_flush.S: Likewise.
14516 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14517 * grub-core/kern/mips/startup.S: Move first stage to ...
14518 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14519 nomacro.
14520 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14521 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14522 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14523 Allocate statically.
14524 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14525 Allocate statically or use scratch. Don't check CRC32.
14526 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14527 Allocate statically. Don't check CRC32.
14528 * include/grub/decompressor.h: New file.
14529 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14530 Removed.
14531 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14532 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14533 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14534 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14535 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14536 * util/grub-mkimage.c (grub_compression_t): New type.
14537 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14538 (image_target_desc): New field default_compression.
14539 (image_targets): Adjust yeeloong targets.
14540 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14541 (compress_kernel): New parameter comp.
14542 (generate_image): Likewise. Handle new compression case.
14543 (options): New option --compression
14544 (help): Likewise.
14545 (main): Handle new option.
14546
1b655af6
GS
145472010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14548
14549 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14550
8f03f0b5
CW
145512010-09-22 Colin Watson <cjwatson@ubuntu.com>
14552
14553 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14554 typo in __i386__ conditional.
14555
7835dfd3
VS
145562010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14559 include.
14560
e255597e
VS
145612010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14562
6d0fa83c 14563 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14564
14565 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14566 new tags as supported.
14567 (acpiv2_size): New function.
14568 (grub_multiboot_get_mbi_size): Take new tags into account.
14569 (grub_multiboot_make_mbi): Add new tags.
14570 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14571
6cc14051 145722010-09-21 Aleš Nesrsta <starous@volny.cz>
14573
14574 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14575 Added missing configuration of USB device.
14576
df7769d8
CW
145772010-09-21 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * grub-core/normal/menu_entry.c (run): Make sure we always return
14580 a value.
14581
b031012d
CW
145822010-09-21 Colin Watson <cjwatson@ubuntu.com>
14583
14584 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14585 NumberOfPages is UINT64 according to the UEFI specification, not
14586 UINTN. Fix printf format.
14587
174de8f3
CW
145882010-09-21 Colin Watson <cjwatson@ubuntu.com>
14589
14590 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14591 `err' to grub_usb_err_t.
14592 Reported and tested by: KESHAV P.R.
14593
d7dbe923
CW
145942010-09-21 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14597 tpart non-const, so that we can assign to it. (Since this is a
14598 typedef, the constness refers to the pointer rather than what it
14599 points to.)
14600
8d5e2af3
CW
146012010-09-21 Colin Watson <cjwatson@ubuntu.com>
14602
14603 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14604 $(top_srcdir)/grub-core/gnulib as well as
14605 $(top_builddir)/grub-core/gnulib.
14606 Reported by: KESHAV P.R.
14607
5c527783
CW
146082010-09-21 Colin Watson <cjwatson@ubuntu.com>
14609
14610 * util/grub-install.in: Fix the bootloader ID option to be
14611 consistently --bootloader-id, not --bootloader_id.
14612 Reported by: KESHAV P.R.
14613
d309a16e
CW
146142010-09-21 Colin Watson <cjwatson@ubuntu.com>
14615
14616 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14617 check hash checksum." consistently translatable.
14618
b830cd16
YB
146192010-09-21 Yves Blusseau <blusseau@zetam.org>
14620
14621 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14622 $(top_builddir).
14623
c4fe27a8
CW
146242010-09-21 Colin Watson <cjwatson@ubuntu.com>
14625
14626 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14627 (GRUB_MOD_INIT): Register sha1sum command.
14628 (GRUB_MOD_FINI): Unregister sha1sum command.
14629
a4c1d277
YB
146302010-09-21 Yves Blusseau <blusseau@zetam.org>
14631
14632 Keep boot and grub directory names in sync with utils scripts
14633
14634 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14635 * config.h.in: Add previous macros.
14636 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14637 * util/grub-install.in: Use $bootdir and $grubdir variables.
14638
4eff79d2
CW
146392010-09-21 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14642 convert partition names to disk names if the new `convert' parameter
14643 is set.
14644 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14645 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14646 disk in its own right. This can happen with Xen disk images.
14647
934d7e44
YB
146482010-09-21 Yves Blusseau <blusseau@zetam.org>
14649
14650 * util/grub-editenv.c: Update strings to avoid warnings when generating
14651 grub.pot file.
14652 * util/grub-setup.c: Likewise.
934d7e44 14653
df3367cc
VS
146542010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * configure.ac: Change version to 1.99~beta0.
14657
77a94e98
VS
146582010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14661 Add BADRAM.
14662 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14663 Likewise.
14664 * include/multiboot.h: Resynced with specification.
14665 * include/multiboot2.h: Likewise.
14666
269004c1
CW
146672010-09-21 Colin Watson <cjwatson@ubuntu.com>
14668
14669 Fix po directory handling.
14670
14671 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14672 * grub-core/gnulib/Makefile.am: Import gettext module.
14673 * m4/gnulib-cache.m4: Likewise.
14674 * m4/gnulib-comp.m4: Likewise.
14675 * m4/gettext.m4: New file, from gnulib.
14676 * m4/glibc2.m4: Likewise.
14677 * m4/iconv.m4: Likewise.
14678 * m4/intdiv0.m4: Likewise.
14679 * m4/intl.m4: Likewise.
14680 * m4/intldir.m4: Likewise.
14681 * m4/intlmacosx.m4: Likewise.
14682 * m4/intmax.m4: Likewise.
14683 * m4/inttypes-pri.m4: Likewise.
14684 * m4/lcmessage.m4: Likewise.
14685 * m4/lib-ld.m4: Likewise.
14686 * m4/lib-link.m4: Likewise.
14687 * m4/lib-prefix.m4: Likewise.
14688 * m4/lock.m4: Likewise.
14689 * m4/nls.m4: Likewise.
14690 * m4/po.m4: Likewise.
14691 * m4/printf-posix.m4: Likewise.
14692 * m4/progtest.m4: Likewise.
14693 * m4/threadlib.m4: Likewise.
14694 * m4/uintmax_t.m4: Likewise.
14695 * m4/visibility.m4: Likewise.
14696 * po/Makefile.am: Remove.
14697 * po/Makefile.in.in: New file, from gettext.
14698 ($(DOMAIN).pot-update): Support POTFILES-shell.
14699 * po/Makevars: New file.
14700 * po/POTFILES-shell: Rename to ...
14701 * po/POTFILES-shell.in: ... this. Update.
14702 * po/POTFILES: Rename to ...
14703 * po/POTFILES.in: ... this. Update.
14704 * po/Rules-quot: New file, from gettext.
14705 * po/boldquot.sed: Likewise.
14706 * po/en@boldquot.header: Likewise.
14707 * po/en@quot.header: Likewise.
14708 * po/insert-header.sin: Likewise.
14709 * po/quot.sed: Likewise.
14710 * po/remove-potcdate.sin: Likewise.
14711
3e0fa5d0
VS
147122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14715
ade9bd66
VS
147162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * util/grub.d/20_linux_xen.in: Use submenus.
14719
fc55cc4c
VS
147202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Support submenus.
14723
14724 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14725 parameter submenu. All users updated.
14726 * grub-core/normal/main.c (free_menu): Rename to ...
14727 (grub_normal_free_menu): ... this. Made global.
14728 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14729 if requested.
14730 * grub-core/normal/menu_entry.c (screen): New field submenu.
14731 (make_screen): Set submenu.
14732 (run): Open new context if requested.
14733 * include/grub/menu.h (grub_menu_entry): New field submenu.
14734 * include/grub/normal.h (grub_normal_free_menu): New proto.
14735
600cedf7
VS
147362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 Menu entries extractor.
14739
14740 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14741 variants.
14742 (GRUB_MOD_INIT): Register new variants.
14743 (GRUB_MOD_FINI): Unregister new variants.
14744 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14745 into grub_cmd_legacy_source.
14746 (grub_cmd_legacy_source): Implement extractor variants.
14747 (GRUB_MOD_INIT): Register new variants.
14748 (GRUB_MOD_FINI): Unregister new variants.
14749 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14750 as an extractor.
14751 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14752 search as an extractor.
14753 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14754 test as an extractor.
14755 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14756 as an extractor.
14757 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14758 (grub_env_new_context): New function.
14759 (grub_env_context_open): Likewise.
14760 (grub_env_extractor_open): Likewise.
14761 (grub_env_extractor_close): Likewise.
14762 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14763 grub_extractor_level.
14764 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14765 * include/grub/env.h (grub_env_extractor_open): New proto.
14766 (grub_env_extractor_close): Likewise.
14767 * include/grub/normal.h (grub_extractor_level): New external variable.
14768
7bda3a87
VS
147692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Make cutmem accept a region specification.
14772 Suggested by: Samuel Thibault
14773
14774 * grub-core/mmap/mmap.c (parsemem): New function.
14775 (grub_cmd_cutmem): Handle new arguments.
14776
2ea57f88
VS
147772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 New command cutmem.
14780
14781 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14782 (GRUB_MOD_INIT): Register new command.
14783 (GRUB_MOD_FINI): Unregister new command.
14784
74342e31
VS
147852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Support some annoying BSD and Minix subpartitions.
14788
14789 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14790 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14791 Properly handle concatenation.
14792 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14793 * grub-core/normal/completion.c (iterate_partition): Likewise.
14794 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14795 contain partition. All users updated.
14796 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14797 struct.
14798 (grub_openbsdlabel_partition_map): Likewise.
14799 (bsdlabel_partition_map_iterate): Rename to ..
14800 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14801 (bsdlabel_partition_map_iterate): New function.
14802 (netopenbsdlabel_partition_map_iterate): Likewise.
14803 (netbsdlabel_partition_map_iterate): Likewise.
14804 (openbsdlabel_partition_map_iterate): Likewise.
14805 (GRUB_MOD_INIT): Register new partmaps.
14806 (GRUB_MOD_FINI): Unregister new partmaps.
14807 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14808 (grub_partition_msdos_iterate): ... this. All users updated.
14809 Don't support embedding other than in a minix partition.
14810 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14811 proto.
14812 * include/grub/partition.h (grub_partition): New field msdostype.
14813 * util/grub-install.in: Handle openbsd and netbsd types being in
14814 part_bsd module.
14815
1e8d555b
VS
148162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14819
14820 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14821 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14822 (mdraid09): ... this.
14823 (mdraid1x): New module.
14824 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14825 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14826
899d8af4
VS
148272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14830 vsprintf.
14831
40901acd
CW
148322010-09-20 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * grub-core/commands/efi/lsefimmap.c: Correct header.
14835 * NEWS: Update.
14836
dfe3b247
CW
148372010-09-20 Colin Watson <cjwatson@ubuntu.com>
14838
14839 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14840 as printf format strings; the translations might contain '%' which
14841 could cause a crash.
14842 (main): Likewise.
14843 * util/grub-fstest.c (argp_parser): Likewise.
14844 * util/grub-setup.c (argp_parser): Likewise.
14845 (main): Likewise.
14846
3286a4b4
VS
148472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 Use argp in grub-fstest.
14850
14851 * util/grub-fstest.c: Don't include getopt.h.
14852 Include argp.h.
14853 (root): New variable.
14854 (args_count): Likewise.
14855 (nparm): Likewise.
14856 (num_disks): Likewise.
14857 (images): Likewise.
14858 (cmd): Likewise.
14859 (debug_str): Likewise.
14860 (args): Likewise.
14861 (options): Transformed to argp.
14862 (usage): Removed.
14863 (main): Split argument parsing into ...
14864 (argp_parser): ... this. Changed to argp format.
14865 (argp): New variable.
14866 (main): Use argp_parse.
14867
3dccbe4b
TG
148682010-09-20 Tristan Gingold <gingold@free.fr>
148692010-09-20 Robert Millan <rmh.grub@aybabtu.com>
148702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/commands/efi/lsefimmap.c: New file.
14873 * grub-core/Makefile.core.def (lsefimmap): New module.
14874 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14875
38c259a7
VS
148762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Pause the execution (10s max) if any errors are displayed so the user
14879 has a chance to see them.
14880
14881 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14882 (grub_print_error): Increment grub_err_printed_errors.
14883 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14884 execution if any errors were displayed.
14885 (show_menu): Remove old code for pause.
14886 * grub-core/normal/menu_entry.c (run): Likewise.
14887 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14888 users updated.
14889 (grub_normal_get_char_counter): Likewise.
14890 * include/grub/err.h (grub_err_printed_errors): New external variable.
14891 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14892
f218b09c
VS
148932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 Support multiboot VBE info.
14896
14897 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14898 Take VBE info into account.
14899 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14900 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14901 Call fill_vbe_info when appropriate.
14902 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14903 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14904 as supported.
14905 (grub_multiboot_get_mbi_size): Take new tags into account.
14906 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14907 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14908 Call fill_vbe_tag when appropriate.
14909 (grub_multiboot_make_mbi): Properly align tags.
14910 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14911 function.
14912 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14913 proto.
14914 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14915
a9cc5438
VS
149162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 Suport manual terminal geometry specification.
14919
14920 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14921 Save state in grub_ofconsole_terminfo_output.
14922 (grub_ofconsole_term): Use grub_terminfo_getwh.
14923 (grub_ofconsole_getwh): Removed.
14924 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14925 (grub_serial_term): Use grub_terminfo_getwh.
14926 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14927 (options): New struct.
14928 (OPTION_*): New enum.
14929 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14930 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14931 width and height.
14932 (grub_terminfo_getwh): New proto.
14933 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14934
1a8fed20
VS
149352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 Handle legacy "terminal" command.
14938
14939 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14940 and FLAG_TERMINAL.
14941 (legacy_commands): Add terminal and title.
14942 (grub_legacy_parse): Handle terminal. Simplify title handling.
14943
41e9c57d
VS
149442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14947 parameters overflow.
14948
61c874c5
CW
149492010-09-20 Colin Watson <cjwatson@ubuntu.com>
14950
14951 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14952 widthspec.h.
14953
14954 * docs/grub.texi (Shell-like scripting): Document `!'.
14955 (Network): Simplify using new i386-pc-pxe format. Mention
14956 grub-mknetdir.
14957
14958 * NEWS: Update.
14959
943682b4
CW
149602010-09-20 Colin Watson <cjwatson@ubuntu.com>
14961
14962 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14963 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14964 when needed.
14965
6d3d698d
CW
149662010-09-20 Colin Watson <cjwatson@ubuntu.com>
14967
14968 * grub-core/commands/efi/lsefisystab.c: Correct header.
14969 * grub-core/commands/efi/lssal.c: Likewise.
14970 * grub-core/commands/testload.c: Likewise.
14971
c982589f
CW
149722010-09-20 Colin Watson <cjwatson@ubuntu.com>
14973
14974 * util/grub-mkrescue.in: Add explicit root argument to --set to
14975 prevent the UUID being interpreted as an argument to --set (matches
14976 previous change to prepare_grub_to_access_device).
14977
a63c31b6
CW
149782010-09-20 Colin Watson <cjwatson@ubuntu.com>
14979
14980 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14981 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14982 the verbosity of later #ifs.
14983 (find_partition_start): Define this function on FreeBSD too.
14984 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14985 function.
14986 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14987 on FreeBSD.
14988
6439b8ee
YB
149892010-09-20 Yves Blusseau <blusseau@zetam.org>
14990
14991 * util/grub-editenv.c: Use argp instead of getopt.
14992
c5930ec8
YB
149932010-09-20 Yves Blusseau <blusseau@zetam.org>
14994
14995 * util/grub-setup.c: Use argp instead of getopt.
14996
15c69261
YB
149972010-09-20 Yves Blusseau <blusseau@zetam.org>
14998
14999 Use gnulib-tool to create gnulib source files.
15000
15001 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15002 grub-core/gnulib directories
15003 * .bzignore: Add **/.deps and autogenerated gnulib files
15004 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15005 of gnulib macros, add grub-core/gnulib/Makefile
15006 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15007 include m4 directory to aclocal.
15008 * Makefile.util.def: Remove direct compilation of gnulib source files
15009 and use the new grub-core/gnulib/libgnu.a.
15010 * build-aux/config.rpath: move config.rpath from top directory to
15011 build-aux
15012 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15013 in gnulib headers
15014 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15015 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15016 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15017 header.
15018 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15019 string.
15020
e511c9f5
YB
150212010-09-20 Yves Blusseau <blusseau@zetam.org>
15022
15023 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15024 grub-core/genmod.sh and grub-core/gensyminfo.sh
15025
c2dede05
BC
150262010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15027
15028 Add a test for echo command options.
15029
15030 * tests/grub_cmd_echo.in: New test.
15031 * Makefile.util.def: Rules for new test.
15032
c55f5018
SJ
150332010-09-20 Szymon Janc <szymon@janc.net.pl>
15034
15035 Remove crc.mod and move crc command to hashsum.mod.
15036 Remove lib/crc.c - users updated to use gcrypt implementation.
15037
15038 * grub-core/commands/crc.c: Removed.
15039 * grub-core/Makefile.core.def (crc): Module removed.
15040 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15041 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15042 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15043 * grub-core/lib/crc.c: Removed.
15044 * include/grub/lib/crc.h: Removed.
15045 * Makefile.util.def (crc): Remove lib/crc.c
15046 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15047 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15048 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15049 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15050 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15051 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15052
e0337366
VS
150532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15056
742f9232
VS
150572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 Split config.h for util and core.
15060
15061 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15062 (ADDR32): Likewise.
15063 (DATA32): Likewise.
15064 (BSS_START_SYMBOL): Likewise.
15065 (END_SYMBOL): Likewise.
15066 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15067 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15068 * config.h.in: New file.
15069 * configure.ac: Use config-util.h as config define file.
15070 Rename MACHINE into GRUB_MACHINE. All users updated.
15071 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15072 updated.
15073 (NESTED_FUNC_ATTR): Likewise.
15074 Substitue new variables.
15075 (COND_HAVE_ASM_USCORE): New conditional.
15076 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15077 (kernel_syms.lst): Use ASM_PREFIX.
15078 * grub-core/kern/emu/console.c: Include config-util.h.
15079 * grub-core/kern/emu/misc.c: Likewise.
15080 * grub-core/kern/emu/mm.c: Likewise.
15081 * include/grub/emu/misc.h: Likewise.
15082 * include/grub/libgcc.h: Likewise.
15083
39feb0e8
VS
150842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15087 constants usage.
15088 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15089 Fix GRUB_TERM_KEY_* constants usage.
15090 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15091
9af6dac3
VS
150922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15095 print pointer.
15096 * grub-core/bus/usb/uhci.c: Remove empty define.
15097 (grub_uhci_check_transfer): Add missing cast.
15098 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15099 print pointer.
15100 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15101 PRIuGRUB_SIZE.
15102 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15103
d6d94820
VS
151042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * grub-core/Makefile.core.def (legacycfg): Add
15107 lib/i386/pc/vesa_modes_table.c on emu.
15108
3572f2b6
BC
151092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15110
15111 Reduce number of temporary files generated by build system.
15112
15113 * grub-core/gencmdlist.sh: Removed.
15114 * grub-core/genfslist.sh: Removed.
15115 * grub-core/genhandlerlist.sh: Removed.
15116 * grub-core/genmodsrc.sh: Removed.
15117 * grub-core/genpartmaplist.sh: Removed.
15118 * grub-core/genparttoollist.sh: Removed.
15119 * grub-core/gentermiinallist.sh: Removed.
15120 * grub-core/genvideolist.sh: Removed.
15121
15122 * grub-core/genmod.sh.in: New file.
15123 * grub-core/gensyminfo.sh.in: New file.
15124
15125 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15126 * conf/Makefile.extra-dist: Update with new files.
15127 * gentpl.py: Remove rules related to unnecessary temporary files.
15128 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15129 and und-* files.
15130 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15131 genmod.sh scripts.
15132 * grub-core/bus/usb/uhci.c: Remove empty #define.
15133 * grub-core/genmoddep.awk: Updated with new syminfo format.
15134 * util/bash-completion.d/Makefile.am: Add config.log to
15135 CLEANFILES.
15136
c836b030
YB
151372010-09-19 Yves Blusseau <blusseau@zetam.org>
15138
15139 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15140
2f4e8053
BC
151412010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15142
15143 * util/grub-mkconfig.in: Check the config script for syntax errors
15144 before saving.
15145
75831c34
CW
151462010-09-19 Colin Watson <cjwatson@ubuntu.com>
151472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15150 platforms.
15151 * util/grub-install.in: Add EFI and IEEE1275 support.
15152 * util/i386/efi/grub-install.in: Removed.
15153 * util/ieee1275/grub-install.in: Likewise.
15154
eaf41b25
VS
151552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15158 (grub_cmd_cmosclean): Likewise.
15159 (GRUB_MOD_INIT): Register command cmosclean.
15160 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15161 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15162
1a9130dd
CPE
151632010-09-18 Carles Pina i Estany <carles@pina.cat>
151642010-09-18 Aleš Nesrsta <starous@volny.cz>
151652010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 Add keyboard layouts support.
15168
15169 * Makefile.util.def (grub-mklayout): New file.
15170 (grub-kbdcomp): New script.
15171 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15172 Add keyboard_layouts.h.
15173 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15174 commands/boot.c on yeeloong.
15175 (keylayouts): New module.
15176 * grub-core/bus/usb/ohci.c
15177 * grub-core/bus/usb/uhci.c
15178 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15179 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15180 (attach_root_port): Likewise.
15181 (poll_nonroot_hub): Likewise.
15182 (grub_usb_poll_devices): Likewise.
15183 (detach_device): Close transfer.
15184 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15185 function.
15186 (grub_usb_bulk_setup_readwrite): Likewise.
15187 (grub_usb_bulk_finish_readwrite): Likewise.
15188 * grub-core/commands/keylayouts.c: New file.
15189 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15190 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15191 aliases.
15192 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15193 support scancode 2.
15194 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15195 * include/grub/keyboard_layouts.h: New file.
15196 * util/grub-mklayout.c: New file.
15197 * util/grub-kbdcomp.in: Likewise.
15198
a1d84a5e
VS
151992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 Unify memory types.
15202
15203 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15204 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15205 types.
15206 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15207 (grub_upper_mem): Likewise.
15208 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15209 * include/grub/memory.h (grub_memory_type_t): New enum.
15210 All users updated.
15211
9696382e
VS
152122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15213
15214 * grub-core/Makefile.core.def (lsapm): New module.
15215 * grub-core/commands/i386/pc/lsapm.c: New file.
15216 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15217 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15218 Likewise.
15219 * include/grub/i386/pc/apm.h: New file.
15220 * include/multiboot.h (multiboot_apm_info): New struct.
15221
152222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 GRUB-legacy configuration file support.
15225
15226 * Makefile.util.def (grub-menulst2cfg): New util.
15227 * docs/man/grub-menulst2cfg.h2m: New file.
15228 * grub-core/Makefile.core.def (legacycfg): New module.
15229 * grub-core/commands/legacycfg.c: New file.
15230 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15231 (grub_normal_add_menu_entry): ... this.
15232 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15233 (grub_normal_set_password): ...this.
15234 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15235 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15236 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15237 * grub-core/lib/legacy_parse.c: New file.
15238 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15239 * include/grub/i386/pc/vesa_modes_table.h: New file.
15240 * include/grub/legacy_parse.h: Likewise.
15241 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15242 * util/grub-menulst2cfg.c: New file.
15243
bf8d1338
CW
152442010-09-17 Colin Watson <cjwatson@ubuntu.com>
15245
15246 * grub-core/kern/emu/hostdisk.c
15247 (convert_system_partition_to_system_disk): Initialise node.
15248
9c0bad2e
CW
152492010-09-17 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * grub-core/kern/emu/hostdisk.c
15252 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15253 leak.
15254 Reported and based on patch by: Modestas Vainius.
15255
a939d135
CW
152562010-09-17 Colin Watson <cjwatson@ubuntu.com>
15257
15258 Fix DM-RAID probing with recent versions of device-mapper udev
15259 rules.
15260
15261 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15262 canonicalise device paths under /dev/mapper/.
15263 (convert_system_partition_to_system_disk): Compare the
15264 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15265 path, since device nodes under /dev/mapper/ are often symlinks.
15266
0f7ee3c9
YB
152672010-09-17 Yves Blusseau <blusseau@zetam.org>
15268
15269 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15270
10854d0d
YB
152712010-09-16 Yves Blusseau <blusseau@zetam.org>
15272
15273 * configure.ac: Avoid some annoying error messages if freetype-config
15274 program is not found.
15275
108538d8
CW
152762010-09-16 Colin Watson <cjwatson@ubuntu.com>
15277
15278 Support RAID on virtio devices, and others.
15279
15280 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15281 Rename to ...
15282 [__MINGW32__] (grub_find_device): ... this.
15283 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15284 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15285 reasonable default if dir is NULL.
15286 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15287 ...
15288 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15289 (grub_guess_root_device): Update callers.
15290 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15291
15292 * util/raid.c (grub_util_getdiskname): Remove.
15293 (grub_util_raid_getmembers): Use grub_find_device rather than
15294 grub_util_getdiskname.
15295
e5bfc130
CW
152962010-09-16 Colin Watson <cjwatson@ubuntu.com>
15297
15298 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15299 needing to be compiled with serial support.
15300 (ls): Indicate that multiple files are accepted.
15301 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15302 indicate that multiple files are accepted.
15303
be458ae2
CW
153042010-09-16 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15307 libgrub_a_init.c, and util/bash-completion.d/grub.
15308
cb731b5e
VS
153092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * util/grub-setup.c (setup): Fix incorrect container semantics.
15312
35139e8a
VS
153132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15316 misusage.
15317 Reported by: J. Nick Terry
15318
e50fca4a
VS
153192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15320
15321 Move embedding routines to partmap sources files.
15322
15323 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15324 [GRUB_UTIL]: New variable.
15325 (gpt_partition_map_iterate): Set part.parent.
15326 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15327 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15328 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15329 New function.
15330 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15331 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15332 (grub_partition_map) [GRUB_UTIL]: New field embed.
15333 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15334 (setup): Use ->embed.
15335
f00478b7
VS
153362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15339 function.
15340 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15341 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15342
2b94e3ff
YB
153432010-09-15 Yves Blusseau <blusseau@zetam.org>
15344
15345 Add function to get completions from usage.
15346
15347 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15348 completions from usage. Use LC_ALL=C to get options properly.
15349
2e04a006
VS
153502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * grub-core/gnulib/basename-lgpl.c: Imported.
15353 * grub-core/gnulib/basename.c: Likewise.
15354 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15355 * grub-core/gnulib/dirname.c: Likewise.
15356 * grub-core/gnulib/dirname.h: Likewise.
15357 * grub-core/gnulib/stripslash.c: Likewise.
15358
5dcdf93a
VS
153592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/gnulib/error.c: Resynced.
15362 * grub-core/gnulib/getopt.c: Likewise.
15363 * grub-core/gnulib/getopt_int.h: Likewise.
15364 * grub-core/gnulib/regex.h: Likewise.
15365 * grub-core/gnulib/regex_internal.c: Likewise.
15366 * grub-core/gnulib/regex_internal.h: Likewise.
15367
014f47b7
SJ
153682010-09-15 Szymon Janc <szymon@janc.net.pl>
15369
15370 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15371 CRC calculations and validity checks.
15372 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15373 calculations.
15374
dd521a4a
SJ
153752010-09-15 Szymon Janc <szymon@janc.net.pl>
15376
15377 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15378
79c4eeb9
VS
153792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 Fix incorrect echo options handling.
15382 Reported by: Yves Blusseau.
15383
15384 * include/grub/command.h (grub_command_flags_t): New flags
15385 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15386 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15387 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15388
ed80f7d5
VS
153892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15392 users updated.
15393 (GRUB_COMMAND_FLAG_MENU): Likewise.
15394 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15395 (GRUB_COMMAND_FLAG_TITLE): Removed.
15396 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15397 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15398 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15399 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15400 (grub_command_flags_t): New enum. All users updated.
15401
5fe7620a
SG
154022010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15403
15404 Fix solaris compilation.
15405
15406 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15407 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15408 (grub-emu-list): Likewise.
15409
545b752f
VS
154102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 Remove deprecated root command.
15413
15414 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15415 updated.
15416
6c1a338c
VS
154172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * util/i386/pc/grub-setup.c: Merge this ...
15420 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15421 * util/grub-setup.c: ... into this.
15422 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15423 New struct.
15424
154252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15428 possible.
15429
d2ea4551
VS
154302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15433 allocate p.
15434
3c3b5040
VS
154352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15438 explicit root argument to set to prevent UUID to be interpreted as
15439 argument to set.
15440
b71c3fae
VS
154412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15444
275433e6
VS
154452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 Don't export grub_gate_a20.
15448
15449 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15450 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15451 to ...
15452 (grub_gate_a20): ... this. All users updated.
15453 * include/grub/i386/pc/init.h: Removed. All users updated.
15454
a5dbb1f1
VS
154552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 Create euro.pf2 which supports most European languages.
15458
15459 * Makefile.am (grubdata_DATA): Add euro.pf2.
15460 (euro.pf2): New target.
15461 (CLEANFILES): Add euro.pf2.
15462
62a747cb
VS
154632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 * configure.ac: Disable emu-usb by default to prevent inadvertent
15466 device takeover.
15467
608e43b1
VS
154682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Disable usbserial on grub-emu since our libusb code isn't good enough
15471 yet.
15472
15473 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15474 (usbserial_pl2303): Likewise.
15475 (usbserial_ftdi): Likewise.
15476
94564f81
VS
154772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * include/grub/disk.h (grub_disk): Remove has_partitions.
15480 All users updated.
15481 * disk/loopback.c (grub_loopback): Remove has_partitions.
15482 All users updated.
15483 (options): Remove partitions. All users updated.
15484 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15485 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15486 actual partition table is found.
15487
3352800b
VS
154882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 Remove readability checks (too many false negatives).
15491
15492 * util/grub-install.in: Remove readability checks.
15493 * util/grub-mkconfig.in: Likewise.
15494 * util/grub.d/10_hurd.in: Likewise.
15495 * util/grub.d/10_kfreebsd.in: Likewise.
15496 * util/grub.d/10_linux.in: Likewise.
15497 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15498 way.
15499
2419f17a
VS
155002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15501
15502 Enable acpi shutdown on all ACPI platforms.
15503
15504 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15505 on coreboo, multiboot and EFI.
15506 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15507 (grub_acpi_halt): Likewise.
15508 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15509 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15510 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15511 * grub-core/lib/i386/halt.c (grub_halt)
15512 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15513
0575c7c3
VS
155142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15517 context.
15518
54ac3cd1
VS
155192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15522 * grub-core/video/efi_uga.c: Likewise.
15523
b2a30ac5
VS
155242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 Filter devaliases and never open same device twice.
15527
15528 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15529 (last_ihandle): Likewise.
15530 (ofdisk_hash_ent): New member shortest.
15531 (ofdisk_hash_add): Add canonical path too.
15532 (scan): New function.
15533 (grub_ofdisk_iterate): Iterate over hashed entries.
15534 (compute_dev_path): Don't add :0.
15535 (grub_ofdisk_open): Don't really open the disk.
15536 (grub_ofdisk_close): Avoid closing unrelated disk.
15537 (grub_ofdisk_read): Implement reopen logic.
15538 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15539 New function.
15540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15541 New proto.
15542
fb53b340
VS
155432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 Fix sparc64.
15546
15547 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15548 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15549 right address. Add sparc64_ieee1275_ldflags.
15550 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15551 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15552 to grub_host_to_target_addr
15553 (load_image): Likewise.
15554
f452b040
VS
155552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 * grub-core/normal/completion.c (complete_file): Handle device
15558 containing slash.
15559 Fix based on patch by Doug Nazar.
15560
9b5b2541
VS
155612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 grub-mknetdir script.
15564
15565 * Makefile.util.def (grub-mknetdir): New module.
15566 * tests/util/grub-shell.in: Support boot=net
15567 * util/grub-mknetdir.in: New file.
15568
9d2be652
VS
155692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 videoinfo on non-vbe.
15572
15573 * grub-core/Makefile.core.def (vbeinfo): Removed.
15574 (vbetest): Removed.
15575 (videoinfo): New module.
15576 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15577 * grub-core/commands/i386/pc/vbetest.c: Removed.
15578 * grub-core/commands/videoinfo.c: New file.
15579 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15580 specification.
15581 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15582 as vbetest.
15583 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15584 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15585 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15586 mode_number. New parameter mode. All users updated.
15587 (grub_video_gop_iterate): New function.
15588 (grub_video_efi_gop): New member iterate.
15589 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15590 (grub_vbe_set_video_mode): Remove setting useless fields.
15591 (vbe2videoinfo): New function.
15592 (grub_video_vbe_iterate): Likewise.
15593 (grub_video_vbe_setup): Use vbe2videoinfo.
15594 (grub_video_vbe_print_adapter_specific_info): New function.
15595 (grub_video_vbe_adapter): New fields iterate and
15596 print_adapter_specific_info.
15597 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15598 All users updated.
15599 (grub_video_mode_info): New field mode_number.
15600 (grub_video_adapter): New fields iterate and
15601 print_adapter_specific_info.
15602
179503f5
TG
156032010-09-13 Tristan Gingold <gingold@free.fr>
156042010-09-13 Robert Millan <rmh.grub@aybabtu.com>
156052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * grub-core/commands/efi/lsefisystab.c: New file.
15608 * grub-core/commands/efi/lssal.c: Likewise.
15609 * grub-core/Makefile.core.def (lsacpi): New module.
15610 (lsefisystab): Likewise.
15611 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15612 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15613 (grub_efi_sal_system_table): New struct.
15614 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15615 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15616 (grub_efi_sal_system_table_platform_features): Likewise.
15617 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15618 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15619 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15620 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15621
cf9827de
VS
156222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 Support explicit user claim that a device is BIOS-visible.
15625
15626 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15627 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15628 * grub-core/kern/emu/hostdisk.c
15629 (convert_system_partition_to_system_disk): Support mdX.
15630 (find_system_device): New parameter add. All users updated.
15631 (grub_util_biosdisk_is_present): New function.
15632 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15633 proto.
15634
53f0eb1f
VS
156352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 Search hints support.
15638
15639 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15640 All users updated.
15641
b23ffd70
YB
156422010-09-13 Yves Blusseau <blusseau@zetam.org>
15643
15644 Bash completion script for util commands
15645
15646 * Makefile.am: Add util/bash-completion.d directory
15647 * configure.ac: Likewise.
15648 * util/bash-completion.d/Makefile.am: New file.
15649 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15650
d547dc28
VS
156512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15654 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15655 Reported by: Yves Blusseau.
15656
2fc8ccb9
VS
156572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15660 partition size and offset.
15661
d8a84076
VS
156622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15665
84fb3b3d
VS
156662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15669
768ec2e2
VS
156702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15673 (grub_xvasprintf): Likewise.
15674
4870900f
VS
156752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15678
faca6bec
VS
156792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15682 args ending with NULL.
15683
156842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15685
15686 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15687 pointer.
15688
3c70f225
SJ
156892010-09-11 Szymon Janc <szymon@janc.net.pl>
15690
15691 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15692
4df7996d
VS
156932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 Shutdown using ACPI.
15696
15697 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15698 * grub-core/commands/acpihalt.c: New file.
15699 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15700 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15701 (grub_acpi_halt): New proto.
15702 (GRUB_ACPI_SLP_EN): New const.
15703 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15704 (GRUB_ACPI_OPCODE_*): New enum.
15705 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15706
126b4c32
TG
157072010-09-11 Tristan Gingold <gingold@free.fr>
157082010-09-11 Robert Millan <rmh.grub@aybabtu.com>
157092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * commands/lsacpi.c: New file.
15712 * grub-core/Makefile.core.def (lsacpi): New module.
15713 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15714 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15715 (grub_acpi_madt_entry_header): New struct.
15716 (grub_acpi_madt): Likewise.
15717 (grub_acpi_madt_entry_interrupt_override): Likewise.
15718 (grub_acpi_madt_entry_sapic): Likewise.
15719 (grub_acpi_madt_entry_lsapic): Likewise.
15720 (grub_acpi_madt_entry_platform_int_source): Likewise.
15721 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15722 (PRIuGRUB_UINT32_T): Likewise.
15723 (PRIxGRUB_UINT64_T): Likewise.
15724
1aa4fe88
VS
157252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 Implement loading palette on ieee1275_fb.
15728
15729 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15730 (have_setcolors): Likewise.
15731 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15732 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15733 (grub_video_ieee1275_set_palette): Implement.
15734
25761e13
VS
157352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
157362010-09-11 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * util/grub-install.in (grub_partition): New variable.
15739 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15740 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15741 Fixes a bug reported by Yves Blusseau.
15742
050abaea
VS
157432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 Fix emu on mipsel.
15746
15747 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15748 =grub_cpu_flush_cache on all mips and not only yeeloong.
15749 * configure.ac (COND_mips): New conditional.
15750 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15751 platforms.
15752 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15753 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15754 [GRUB_LINKER_HAVE_INIT]: New function.
15755 (grub_emu_post_init): Likewise.
15756 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15757 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15758 * include/grub/cache.h (_mips): Include mips/cache.h.
15759 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15760 LVM and RAID prototypes.
15761 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15762 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15763 function.
15764
5ed7d816
CW
157652010-09-10 Colin Watson <cjwatson@ubuntu.com>
15766
15767 * util/grub-install.in: Don't try to verify core.img until after
15768 running grub-mkimage to create it.
15769
90367e04
RM
157702010-09-10 Robert Millan <rmh@gnu.org>
15771
15772 * util/grub.d/10_hurd.in: Add misc readability checks.
15773 * util/grub.d/10_kfreebsd.in: Likewise.
15774 * util/grub.d/10_linux.in: Likewise.
15775
c452fa66
CW
157762010-09-10 Colin Watson <cjwatson@ubuntu.com>
15777
15778 * util/grub-install.in: ${imgext} won't be defined here until the
15779 install branch is merged. For the meantime, only verify core.img on
15780 i386-pc and sparc64-ieee1275 platforms.
15781
c38fe9f4
RM
157822010-09-10 Robert Millan <rmh@gnu.org>
15783
15784 Solaris support in grub_find_zpool_from_dir(). Thanks
15785 Seth Goldberg for referring to getextmntent() facility.
15786
15787 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15788 `sys/mkdev.h'.
15789 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15790 `<sys/mnttab.h>'.
15791 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15792 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15793 method for finding zpool name.
15794
905f7773
CW
157952010-09-10 Colin Watson <cjwatson@ubuntu.com>
15796
15797 grub-fstest needs the host and hostfs modules while other utilities
15798 actively require those modules to be absent, so grub-fstest needs
15799 its own initialisation and finalisation code.
15800
15801 * Makefile.am (grub_fstest.pp): New target.
15802 (grub_fstest_init.lst): Likewise.
15803 (grub_fstest_init.c): Likewise.
15804 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15805
fb90b546
RM
158062010-09-10 Robert Millan <rmh@gnu.org>
15807
15808 * configure.ac: Check for `struct statfs.f_fstypename' and
15809 `struct statfs.f_mntfromname'.
15810
15811 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15812 kFreeBSD-specific code.
15813
66d4bea5
RM
158142010-09-10 Robert Millan <rmh@gnu.org>
15815
15816 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15817 on ZFS. Now non-main filesystems are supported as / too.
15818
b6a690ee
CW
158192010-09-09 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15822 and grub-core/disk/host.c to ...
15823 (grub-fstest): ... here. Having the host disk implementation
15824 present confuses grub-probe and other utility programs.
15825
15826 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15827 when writing to a file, not when writing to stdout.
15828
8901b00c 158292010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15830
15831 * tests/partmap_test.in: New test for partitions.
15832 * Makefile.util.def: Rules for new test.
15833
7bf45fdd
RM
158342010-09-09 Robert Millan <rmh@gnu.org>
15835
15836 * util/grub-probe.c (probe): Fix a pair of unhandled error
15837 conditions.
15838
4dfbc574
RM
158392010-09-09 Robert Millan <rmh@gnu.org>
15840
15841 Basic Btrfs support (detection and UUID).
15842
15843 * grub-core/fs/btrfs.c: New file.
15844 * Makefile.util.def (library): Register btrfs.c.
15845 * grub-core/Makefile.core.def: Likewise.
15846
6b8e78ae
RM
158472010-09-08 Robert Millan <rmh@gnu.org>
15848
15849 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15850 with (optional) parameters to specify device and relative path.
15851 * util/grub-install.in: Use is_path_readable_by_grub() to
15852 verify readability of a few critical files.
15853 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15854 verify readability of grub.cfg.new.
15855
27f21a8b
VS
158562010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Split minix.mod into minix.mod and minix2.mod.
15859
15860 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15861 * grub-core/Makefile.core.def (minix2): New module.
15862 * grub-core/fs/minix.c: Use definitions instead of runtime version
15863 checking.
15864 * grub-core/fs/minix2.c: New file.
15865
c0e53ea5
YB
158662010-09-08 Yves Blusseau <blusseau@zetam.org>
15867
15868 Add new --boot-directory option to replace --root-directory
15869
15870 * util/grub-install.in: Add new --boot-directory option
15871 * util/grub-reboot.in: Likewise.
15872 * util/grub-set-default.in: Likewise.
15873
b9fe6ea2
YB
158742010-09-08 Yves Blusseau <blusseau@zetam.org>
15875
15876 * util/grub-mkconfig.in: Use new variable.
15877
d87aedff
YB
158782010-09-08 Yves Blusseau <blusseau@zetam.org>
15879
15880 * configure.ac: Define some useful variables.
15881
e55e8495
VS
158822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15885 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15886 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15887 Use terminfo and don't use cursor-on/cursor-off unless it's known
15888 to work.
15889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15890 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15891
6fa6d675
CW
158922010-09-08 Colin Watson <cjwatson@ubuntu.com>
15893
15894 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15895 starts with "(,", fill the drive containing the loaded image in
15896 between those two characters, but expect that a full partition
15897 specification including partition map names will follow.
15898
92f2aef0
RM
158992010-09-08 Robert Millan <rmh@gnu.org>
15900
15901 * configure.ac: Remove `--enable-grub-fstest' option.
15902 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15903
15904 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15905 `grub-fstest' instead of `grub-probe' for readability verification.
15906 * util/grub-probe.c (probe): Remove readability verification kludge.
15907
99fd620d
RM
159082010-09-08 Robert Millan <rmh@gnu.org>
15909
15910 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15911 initializing `GRUB_FS'.
15912
058e30ac 159132010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15914
15915 Not command (!) support to GRUB script.
15916
15917 * tests/grub_script_not.in: New test.
15918 * Makefile.util.def: Rules for new test.
15919
15920 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15921 ! command as a special case.
15922 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15923
b61d05ed 159242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15925
058e30ac 15926 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15927 grub_free.
b61d05ed 15928
4d69c786 159292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15930
15931 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15932
aa3119c4 159332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15934
15935 * docs/grub.texi (Shell-like scripting): Documentation for break,
15936 continue, shift and return commands.
15937
db0f7e3d
VS
159382010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 Rename CD-ROM to cd on BIOS.
15941
15942 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15943 "cd".
15944 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15945
88b87c93
VS
159462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15949 * util/grub-probe.c (main): Likewise.
15950 * util/i386/pc/grub-setup.c (main): Likewise.
15951 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15952 Reported and debugged by: alexxy
15953
294f324d
VS
159542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15957 diagnostic info.
15958
d7ee3441
JS
159592010-09-05 Jo Shields <directhex@apebox.org>
15960
15961 * util/grub.d/30_os-prober.in: Add missing classes.
15962
d7e06c1f
VS
159632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * docs/grub.texi (Theme file format): Document new position format.
15966
fc157e53
VS
159672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15970 a table. Use @code instead of @verbatim.
15971
506e9a1c
CB
159722010-09-05 Colin D Bennett <colin@gibibit.com>
15973
15974 Gfxmenu documentation.
15975
15976 * docs/grub.texi (Theme file format): New chapter.
15977
f0aff67c
SJ
159782010-09-05 Szymon Janc <szymon@janc.net.pl>
15979
15980 * grub-core/Makefile.core.def (xzio): New module.
15981 * grub-core/io/xzio.c: New file.
15982 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15983 * grub-core/lib/xzembed/xz_config.h: Likewise.
15984 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15985 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15986 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15987 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15988 * grub-core/lib/xzembed/xz_private.h: Likewise.
15989 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15990 * include/grub/file.h (grub_file_filter_id): New compression filter
15991 GRUB_FILE_FILTER_XZIO.
15992
82a85062
VS
159932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15996 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15997 size.
15998
3579415d
VS
159992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16002 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16003
5124ae6d
VS
160042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Uncompressed checksum support.
16007
16008 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16009 (check_list): New parameter uncompress.
16010 (grub_cmd_hashsum): Handle --uncompress.
16011
9aadb3d1
VS
160122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 Reintroduce testload.
16015
16016 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16017 from here ...
16018 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16019 (GRUB_MOD_INIT): New function.
16020 (GRUB_MOD_FINI): Likewise.
16021 * grub-core/Makefile.core.def (testload): New module.
16022
a17792c3
SJ
160232010-09-05 Szymon Janc <szymon@janc.net.pl>
16024
16025 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16026 (uint8_t): New type.
16027 (uint16_t): Likewise.
16028 (uint32_t): Likewise.
16029 (uint64_t): Likewise.
16030
b81e40a3
SJ
160312010-09-05 Szymon Janc <szymon@janc.net.pl>
16032
16033 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16034
fc2ef117
VS
160352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16038 Made static.
16039 (grub_gzfile_open): Removed. All users updated.
16040 (GRUB_MOD_INIT): New function.
16041 (GRUB_MOD_FINI): Likewise.
16042 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16043 (grub_file_filters_enabled): Likewise.
16044 (grub_file_open): Handle filters.
16045 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16046 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16047 * include/grub/file.h (grub_file_filter_id_t): New type.
16048 (grub_file_filter_t): Likewise.
16049 (grub_file_filters_all): New extern variable.
16050 (grub_file_filters_enabled): Likewise.
16051 (grub_file_filter_register): New inline function.
16052 (grub_file_filter_unregister): Likewise.
16053 (grub_file_filter_disable): Likewise.
16054 (grub_file_filter_disable_compression): Likewise.
16055 * include/grub/gzio.h: Removed.
16056
35ee15e0
BC
160572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16058
16059 Filename expansion support for wildcards in GRUB script.
16060
16061 * tests/grub_script_expansion.in: New test.
16062 * Makefile.util.def: Rule for new test.
16063
16064 * grub-core/commands/wildcard.c: New file, implements filename
16065 expansion support for GRUB script.
16066 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16067 * grub-core/script/argv.c: Cosmetic changes.
16068 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16069 Refactored to perform wildcard expansion on arguments.
16070 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16071 struct.
16072
16073 * tests/util/grub-shell.in: Fix quoting for read input.
16074
5f0c4aca
BC
160752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16076
16077 Support for updating environment variables with matched substrings
16078 of regexp.
16079
16080 * tests/grub_cmd_regexp.in: New test.
16081 * Makefile.util.def: Rule for new test.
16082
16083 * grub-core/commands/regexp.c: New option -s to update environment
16084 variables with regexp matches.
16085
3759a35f
SJ
160862010-09-04 Szymon Janc <szymon@janc.net.pl>
16087
16088 * include/grub/file.h (grub_file): New member not_easly_seekable.
16089 (grub_file_seekable): New inline function.
16090 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16091 easily seekable.
16092 (grub_gzio_open): Set not_easly_seekable.
16093 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16094 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16095
ed8c6dec
BC
160962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16097
16098 Support for options to appear multiple times on cmdline.
16099
16100 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16101 * grub-core/commands/extcmd.c: Support for repeatable option.
16102 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16103 repeatable option support.
16104
16105 Refactor menuentry into a regular command.
16106
16107 * grub-core/commands/menuentry.c: New file, menuentry command
16108 implementation.
16109 * grub-core/Makefile.core.def: Rule update for normal.mod.
16110 * grub-core/normal/main.c: Moved menuentry creation to
16111 grub-core/commands/menuentry.c.
16112 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16113 (grub_menu_execute_entry_real): Removed.
16114 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16115 function.
16116 (grub_script_execute_menuentry): Removed.
16117 * grub-core/script/parser.y (menuentry): Removed.
16118 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16119 * grub-core/script/yylex.l (menuentry): Removed.
16120 * include/grub/menu.h (grub_menu_init): New prototype.
16121 (grub_menu_fini): New prototype.
16122 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16123 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16124 (grub_script_execute_sourcecode): New prototype.
16125
dacd0cf0
BC
161262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16127
16128 "return" command for GRUB script functions.
16129
16130 * tests/grub_script_return.in: New test.
16131 * Makefile.util.def: Rules for new test.
16132
16133 * grub-core/script/execute.c (grub_script_return): New function.
16134 * grub-core/script/main.c: Register/unregister return commaond.
16135 * include/grub/script_sh.h (grub_script_return): New prototype.
16136
52e72f9d
BC
161372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16138
16139 "setparams" command to update positional parameters.
16140
16141 * tests/grub_script_setparams.in: New test.
16142 * Makefile.util.def: Rules for new test.
16143
16144 * grub-core/script/argv.c (grub_script_argv_make): New function.
16145 * grub-core/script/execute.c (replace_scope): New function.
16146 (grub_script_setparams): New function.
16147 * grub-core/script/lexer.c: Remove unused variables.
16148 * grub-core/script/main.c: Register/unregister setparams command.
16149 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16150 (grub_script_setparams): New prototype.
16151
25b60c91
BC
161522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16153
16154 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16155 grub_free order.
16156
37e7bf68
BC
161572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16158
16159 Support for passing block of commands as an argument to extcmds.
16160
16161 * Makefile.util.def: Rules for new test.
16162 * tests/grub_script_blockarg.in: New test.
16163 * grub-core/tests/test_blockarg.c: New file, block argument
16164 command used in the test.
16165
16166 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16167 (grub_register_extcmd_prio): New function prototype.
16168 (grub_extcmd_dispatcher): New function prototype.
16169 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16170 type.
16171 * include/grub/script_sh.h (struct grub_script): New members
16172 `children', `next_siblings' and `refcnt' for block arguments and
16173 reference counting.
16174 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16175 (grub_script_arg): New member `script' for block argument.
16176 (grub_script_argv): New member `script' for block argument.
16177 (grub_parser_param): New member `scripts' for block argument.
16178 (grub_script_mem_free): New extern function prototype.
16179 (grub_script_ref): New function prototype.
16180 (grub_script_unref): New function prototype.
16181
16182 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16183 extcmd form to support block arguments.
16184 * grub-core/script/argv.c: Block arguments support.
16185 * grub-core/script/execute.c: Likewise.
16186 * grub-core/script/lexer.c: Likewise.
16187 * grub-core/script/main.c: Likewise.
16188 * grub-core/script/script.c: Likewise.
16189 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16190 non-terminals.
16191
16192 * grub-core/commands/acpi.c: Update extcmd implementations with
16193 grub_extcmd_context_t.
16194 * grub-core/commands/cat.c: Likewise.
16195 * grub-core/commands/echo.c: Likewise.
16196 * grub-core/commands/extcmd.c: Likewise.
16197 * grub-core/commands/hashsum.c: Likewise.
16198 * grub-core/commands/hdparm.c: Likewise.
16199 * grub-core/commands/help.c: Likewise.
16200 * grub-core/commands/hexdump.c: Likewise.
16201 * grub-core/commands/i386/cpuid.c: Likewise.
16202 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16203 * grub-core/commands/i386/pc/halt.c: Likewise.
16204 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16205 * grub-core/commands/iorw.c: Likewise.
16206 * grub-core/commands/keystatus.c: Likewise.
16207 * grub-core/commands/loadenv.c: Likewise.
16208 * grub-core/commands/ls.c: Likewise.
16209 * grub-core/commands/lspci.c: Likewise.
16210 * grub-core/commands/memrw.c: Likewise.
16211 * grub-core/commands/probe.c: Likewise.
16212 * grub-core/commands/search_wrap.c: Likewise.
16213 * grub-core/commands/setpci.c: Likewise.
16214 * grub-core/commands/sleep.c: Likewise.
16215 * grub-core/disk/loopback.c: Likewise.
16216 * grub-core/hello/hello.c: Likewise.
16217 * grub-core/loader/i386/bsd.c: Likewise.
16218 * grub-core/loader/xnu.c: Likewise.
16219 * grub-core/term/gfxterm.c: Likewise.
16220 * grub-core/term/serial.c: Likewise.
16221 * grub-core/tests/lib/functional_test.c: Likewise.
16222
888d1500
BC
162232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16224
16225 Multi-line quoted strings support.
16226
16227 * grub-core/script/lexer.c (append_newline): Removed.
16228 (grub_script_lexer_yywrap): Refactored.
16229 (grub_script_lexer_init): Refactored.
16230 * grub-core/script/yylex.l (yywrap): New function.
16231 (grub_lexer_resplit): New function.
16232 (grub_lexer_unput): New function.
16233 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16234 and resplit.
16235 * tests/grub_script_echo1.in: Added few more testcases.
16236
dda060dd
VS
162372010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/kern/misc.c: Don't add abort alias in utils.
16240 Reported by: echoline.
16241
6556eba9
BC
162422010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16243
16244 Add missing files into "make dist" tarball for other platforms.
16245
16246 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16247 * conf/Makefile.common (dist_noinst_DATA): New variable.
16248 * conf/Makefile.extra-dist: Added missing make dist files.
16249 * grub-core/Makefile.core.def: Likewise.
16250
c8e7bf5f
VS
162512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 Compress grub_prefix.
16254
16255 * grub-core/boot/i386/pc/lnxboot.S: Use
16256 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16257 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16258 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16259 GRUB_MACHINE_PREFIX_END. All users updated.
16260 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16261 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16262 + 0x40.
16263 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16264 * util/grub-mkimage.c (image_target_desc): Change data_end to
16265 prefix_end. All users updated.
16266
a7c00cdb
VS
162672010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16270 value.
16271 (grub_openbsd_boot): Likewise.
16272 (grub_netbsd_boot): Likewise.
16273 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16274 (grub_xnu_boot): Likewise.
16275
9f915872
VS
162762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * configure.ac: Clean LIBS variable after tests.
16279
efa1bee7
CW
162802010-09-02 Colin Watson <cjwatson@ubuntu.com>
16281
16282 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16283
61d720e5
VS
162842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16287 echo if libdevmapper will be used.
16288
ef8e0ec8
IT
162892010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16290
16291 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16292 constant for the same file.
16293
03e261d8
VS
162942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16297
c2a4eba6
CW
162982010-09-02 Colin Watson <cjwatson@ubuntu.com>
16299
16300 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16301 grub-core/*.pp.
16302
9056cbf3
CW
163032010-09-02 Colin Watson <cjwatson@ubuntu.com>
16304
16305 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16306 required by the boot protocol.
16307
16308 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16309 ebp and edi members.
16310 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16311 state.ebp and state.edi.
16312 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16313 %ebp and %edi according to grub_relocator32_ebp and
16314 grub_relocator32_edi respectively.
16315 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16316 and state.edi.
16317
529cc99a
VS
163182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 Add i386-pc-pxe image target.
16321
16322 * util/grub-mkimage.c (image_target_desc): New enum value
16323 IMAGE_I386_PC_PXE.
16324 (image_targets): New target i386-pc-pxe.
16325 (generate_image): Handle i386-pc-pxe image.
16326
9a093920
VS
163272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Fix grub_pxe_scan.
16330
16331 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16332 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16333 All users updated.
16334 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16335 (grub_pxe_pxenv): Correct type.
16336
f9cefc4e
CW
163372010-09-01 Colin Watson <cjwatson@ubuntu.com>
16338
16339 * NEWS: Document most of the important changes since 1.98.
16340
4066f57f
CW
163412010-09-01 Colin Watson <cjwatson@ubuntu.com>
16342
16343 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16344 generated manual page) a little.
16345
da2891f9
CW
163462010-09-01 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * docs/grub.texi: Add myself as an author.
16349
ad717fae
VS
163502010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * Makefile.util.def (libgrub.a): Add missing sunpc.
16353 Reported by: Seth Goldberg.
16354
eefe8abd
VS
163552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Interrupt wrapping and code simplifications.
16358
9494ef9a
VS
16359 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16360 x86_noieee1275 which are functionaly equivalent in this case.
16361 (grub-install): Make source on each platform explicit. Enable on
16362 all noemu.
16363 * gentpl.py (x86_efi_pc): Removed group.
16364 (x86_noefi): Likewise.
16365 (i386_noefi): Likewise.
16366 (x86_noieee1275): Likewise.
16367 (i386_noieee1275): Likewise.
16368 (i386_noefi_noieee1275): Likewise.
16369 (i386_pc_qemu_coreboot): Likewise.
16370 (i386_coreboot_multiboot): Likewise.
16371 (i386_pc_coreboot_multiboot_qemu): Likewise.
16372 (x86_noefi_mips): Likewise.
16373 (noieee1275): Likewise.
16374 (ieee1275_mips): Likewise.
16375 (noemu_noieee1275): Likewise.
16376 (cmos): New group.
16377 (usb): Likewise.
16378 (videoinkernel): Likewise.
16379 (videomodules): Likewise.
eefe8abd 16380 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16381 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16382 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16383 include/grub/loader.h, include/grub/msdos_partition.h,
16384 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16385 include/grub/machine/console.h, include/grub/machine/vga.h,
16386 include/grub/machine/vbe.h, include/grub/machine/init.h,
16387 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16388 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16389 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16390 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16391 * grub-core/Makefile.core.def (kernel): Explicit the source for
16392 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16393 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16394 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16395 Use videoinkernel tag.
16396 (usb): Enable on all usb.
16397 (usbserial_common): Likewise.
16398 (usbserial_pl2303): Likewise.
16399 (usbserial_ftdi): Likewise.
16400 (uhci): Enable on all x86.
16401 (ohci): Enable on all pci.
16402 (cmostest): Enable on all CMOS.
16403 (acpi): Include commands/acpi.c on all platforms.
16404 (halt): Add relevant lib/*/halt.c.
16405 (hdparm): Enable on all pci.
16406 (lspci): Likewise.
16407 (usbtest): Enable on all usb.
16408 (ata): Enable on all pci.
16409 (ata_pthru): Likewise.
16410 (usbms): Enable on all usb.
16411 (usb_keyboard): Likewise.
16412 (font): Use tag videomodules.
16413 (bufio): Likewise.
16414 (datetime): Use tag cmos. Enable on all noemu.
16415 (mmap): Use tags common and x86.
16416 (gfxterm): Use tag videomodules.
16417 (bitmap): Likewise.
16418 (bitmap_scale): Likewise.
16419 (video_fb): Likewise.
16420 (video): Likewise.
16421 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16422 adjust padding accordingly. All users updated.
16423 (grub_ohci_transaction): Fix bad format specification.
16424 (GRUB_MOD_INIT): Add asserts for struct size.
16425 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16426 (grub_alloc_td): Likewise.
16427 (grub_free_queue): Likewise.
16428 (grub_uhci_transfer): Likewise.
16429 (grub_uhci_transaction): Fix bad format specification.
16430 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16431 (grub_usb_bulk_readwrite): Likewise.
16432 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16433 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16434 Made static.
16435 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16436 Made static.
16437 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16438 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16439 Transformed into C.
16440 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16441 Moved from here ...
16442 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16443 ... here. Transformed into C. Made static.
16444 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16445 Moved from here ...
16446 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16447 ... here. Transformed into C. Made static.
16448 * grub-core/kern/i386/pc/startup.S
16449 (grub_biosdisk_check_int13_extensions): Moved from here ...
16450 * grub-core/disk/i386/pc/biosdisk.c
16451 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16452 Made static.
16453 * grub-core/kern/i386/pc/startup.S
16454 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16455 * grub-core/disk/i386/pc/biosdisk.c
16456 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16457 Transformed into C. Made static.
16458 * grub-core/kern/i386/pc/startup.S
16459 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16460 * grub-core/disk/i386/pc/biosdisk.c
16461 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16462 Transformed into C. Made static.
16463 * grub-core/kern/i386/pc/startup.S
16464 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16465 * grub-core/disk/i386/pc/biosdisk.c
16466 (grub_biosdisk_get_diskinfo_standard): ... here.
16467 Transformed into C. Made static.
16468 * grub-core/kern/i386/pc/startup.S
16469 (grub_biosdisk_get_num_floppies): Moved from here ...
16470 * grub-core/disk/i386/pc/biosdisk.c
16471 (grub_biosdisk_get_num_floppies): ... here.
16472 Transformed into C. Made static.
16473 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16474 New function.
16475 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16476 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16477 Transformed into C. Made static.
16478 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16479 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16480 Transformed into C. Made static.
16481 * grub-core/kern/i386/ieee1275/init.c: Removed.
16482 * grub-core/kern/i386/misc.S: Likewise.
16483 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16484 Splitted from here ...
16485 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16486 Transformed into C. Made static. All users updated.
16487 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16488 Transformed into C. Made static. All users updated.
16489 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16490 Moved from here...
16491 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16492 Transformed into C. Made static. All users updated.
16493 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16494 Moved from here...
16495 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16496 Transformed into C. Made static. All users updated.
16497 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16498 Removed (replaced by C version).
16499 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16500 Moved from here...
16501 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16502 Transformed into C. Made static.
16503 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16504 Moved from here...
16505 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16506 ... here. Transformed into C.
16507 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16508 Moved from here...
16509 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16510 ... here. Transformed into C.
16511 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16512 Moved from here...
16513 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16514 ... here. Transformed into C. Made static.
16515 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16516 Moved from here...
16517 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16518 ... here. Transformed into C.
21ed554b
VS
16519 * grub-core/kern/i386/pc/startup.S
16520 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16521 * grub-core/video/i386/pc/vbe.c
16522 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16523 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16524 Moved from here...
16525 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16526 ... here. Transformed into C.
16527 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16528 Moved from here...
16529 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16530 ... here. Transformed into C.
16531 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16532 Moved from here...
16533 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16534 ... here. Transformed into C.
16535 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16536 Moved from here...
16537 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16538 ... here. Transformed into C.
16539 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16540 Moved from here...
16541 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16542 ... here. Transformed into C. Made static.
16543 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16544 Moved from here...
16545 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16546 ... here. Transformed into C. Made static.
16547 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16548 Moved from here...
16549 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16550 ... here. Transformed into C. Made static.
16551 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16552 pxe_rm_entry as third argument.
16553 (grub_bios_interrupt): New function.
16554 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16555 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16556 of calling grub_stop.
16557 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16558 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16559 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16560 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16561 * grub-core/lib/i386/halt.c: Moved from here ...
16562 * grub-core/lib/i386/halt.c: ... here.
16563 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16564 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16565 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16566 grub_stop_floppy.
16567 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16568 * include/grub/i386/coreboot/init.h: Removed.
16569 * include/grub/i386/multiboot/init.h: Likewise.
16570 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16571 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16572 * include/grub/i386/pc/int.h: New file.
16573 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16574 (grub_pxe_scan): Removed.
16575 (grub_pxe_call): Update prototype.
16576 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16577 prototypes.
16578 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16579 * include/grub/i386/qemu/init.h: Removed.
16580 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16581 noreturn.
16582 (grub_halt): Likewise.
16583 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16584 (grub_reboot): Likewise.
16585 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16586 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16587 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16588
215dd471
RM
165892010-08-30 Robert Millan <rmh@gnu.org>
16590
16591 * NEWS: Document addition of ZFS support in `grub-install' and
16592 `grub-mkconfig'.
16593
ebd65b82
BC
165942010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16595
16596 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16597 dprintf output.
16598
11721d19
VS
165992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 Remove leftover embedding of font objects.
16602
16603 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16604 * util/grub-install.in (font): Removed.
16605 * util/grub-mkimage.c (generate_image): Remove font support. All users
16606 updated.
16607
37837d4e
VS
166082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 Remove leftover embedding of font objects.
16611
16612 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16613 * util/grub-install.in (font): Removed.
16614 * util/grub-mkimage.c (generate_image): Remove font support. All users
16615 updated.
16616
b4c1aae0
VS
166172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16620 Reported by: Ian Turner
b4c1aae0 16621
8920a08d
VS
166222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16625 timeout to avoid indefinite boot stalling.
16626
f21db033
VS
166272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16630 (grub_env_write_color_highlight): Likewise.
16631
9a9de209
VS
166322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * grub-core/normal/term.c (print_more): Return to normal and not
16635 to standard state after printing "---MORE---".
16636
3dca01d7
VS
166372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16640 Mask out the bit 0x80 since it has other meaning that specifiing color.
16641
0b986c40
VS
166422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 New relocator. Allows for more kernel support and more straightforward
16645 loader writing.
16646
16647 * Makefile.am (BOOTTARGET): New variable.
16648 (QEMU32): Likewise.
16649 (linux.init.x86_64): New target.
16650 (linux.init.i386): Likewise.
16651 (multiboot.elf): Likewise.
16652 (kfreebsd.elf): Likewise.
16653 (kfreebsd.aout): Likewise.
16654 (pc-chainloader.elf): Likewise.
16655 (pc-chainloader.bin): Likewise.
16656 (ntldr.elf): Likewise.
16657 (ntldr.bin): Likewise.
16658 (multiboot2.elf): Likewise.
16659 (kfreebsd.init.x86_64): Likewise.
16660 (kfreebsd.init.i386): Likewise.
16661 (knetbsd.init.i386): Likewise.
16662 (kopenbsd.init.i386): Likewise.
16663 (knetbsd.init.x86_64): Likewise.
16664 (kopenbsd.init.x86_64): Likewise.
16665 (linux-initramfs.i386): Likewise.
16666 (linux-initramfs.x86_64): Likewise.
16667 (kfreebsd-mfsroot.i386.img): Likewise.
16668 (knetbsd.image.i386): Likewise.
16669 (kopenbsd.image.i386): Likewise.
16670 (kopenbsd.image.x86_64): Likewise.
16671 (knetbsd.miniroot-image.i386.img): Likewise.
16672 (kfreebsd-mfsroot.x86_64.img): Likewise.
16673 (knetbsd.image.x86_64): Likewise.
16674 (knetbsd.miniroot-image.x86_64.img): Likewise.
16675 (kfreebsd-mfsroot.i386.gz): Likewise.
16676 (bootcheck-kfreebsd-i386): Likewise.
16677 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16678 (bootcheck-kfreebsd-x86_64): Likewise.
16679 (knetbsd.miniroot-image.i386.gz): Likewise.
16680 (bootcheck-knetbsd-i386): Likewise.
16681 (bootcheck-kopenbsd-i386): Likewise.
16682 (bootcheck-kopenbsd-x86_64): Likewise.
16683 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16684 (bootcheck-knetbsd-x86_64): Likewise.
16685 (bootcheck-linux-i386): Likewise.
16686 (bootcheck-linux-x86_64): Likewise.
16687 (bootcheck-linux16-i386): Likewise.
16688 (bootcheck-linux16-x86_64): Likewise.
16689 (bootcheck-multiboot): Likewise.
16690 (bootcheck-multiboot2): Likewise.
16691 (bootcheck-kfreebsd-aout): Likewise.
16692 (bootcheck-pc-chainloader): Likewise.
16693 (bootcheck-ntldr): Likewise.
16694 (CLEANFILES): Add new targets.
16695 (BOOTCHECKS): New variable.
16696 (.PHONY): Add bootchecks.
16697 (SUCCESSFUL_BOOT_STRING): New variable.
16698 (BOOTCHECK_TIMEOUT): Likewise.
16699 (bootcheck): New target
16700 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16701 * configure.ac: Correct efiemu excuse.
16702 * docs/grub.texi (Supported kernels): New chapter.
16703 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16704 include/grub/mm_private.h. Simplify inclusion of
16705 include/grub/boot.h, include/grub/loader.h
16706 and include/grub/msdos_partition.h
16707 (KERNEL_HEADER_FILES) [i386_coreboot]:
16708 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16709 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16710 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16711 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16712 include/grub/machine/loader.h.
16713 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16714 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16715 extra_dist.
16716 (pci.mod): Enable on i386-multiboot.
16717 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16718 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16719 i386-qemu.
16720 (relocator.mod): Rewritten.
16721 (aout.mod): Enable on all x86.
16722 (bsd.mod): Likewise.
16723 (ntldr.mod): New module.
16724 (linux.mod): Use loader/i386/linux.c on all x86.
16725 (xnu.mod): Enable on all x86.
16726 (vga_text.mod): disable on EFI and QEMU.
16727 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16728 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16729 * grub-core/efiemu/loadcore.c: Likewise.
16730 * grub-core/efiemu/main.c: Likewise.
16731 (grub_efiemu_exit_boot_services): Removed.
16732 (grub_efiemu_finish_boot_services): Likewise.
16733 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16734 function.
16735 * grub-core/efiemu/i386/nocfgtables.c: New file.
16736 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16737 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16738 (grub_efi_finish_boot_services): Moved from here ...
16739 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16740 Fille finish memory map and related data.
16741 (finish_mmap_buf): New variable.
16742 (grub_efi_uintn_t finish_mmap_size): Likewise.
16743 (grub_efi_uintn_t finish_key): Likewise.
16744 (grub_efi_uintn_t finish_desc_size): Likewise.
16745 (grub_efi_uint32_t finish_desc_version): Likewise.
16746 (grub_efi_is_finished): Likewise.
16747 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16748 finished.
16749 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16750 (grub_elf64_phdr_iterate): Likewise.
16751 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16752 (grub_os_area_size): Likewise.
16753 (grub_machine_init): Don't reserve os area.
16754 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16755 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16756 * grub-core/kern/i386/loader.S: Removed.
16757 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16758 (grub_os_area_size): Likewise.
16759 (grub_machine_init): Don't reserve os area.
16760 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16761 Don't call grub_dl_unload_all.
16762 Don't include loader.S.
16763 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16764 Declare the memory after _end as available.
16765 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16766 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16767 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16768 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16769 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16770 * include/grub/mm_private.h (grub_mm_header): ... here.
16771 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16772 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16773 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16774 (grub_mm_region): ..here. Removed addr. Added pre_size.
16775 All users updated.
16776 * grub-core/kern/mm.c (base): Renamed to ...
16777 (grub_mm_base): ... this. Made global.
16778 (grub_real_malloc): Alloc from end of region.
16779 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16780 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16781 * grub-core/kern/powerpc/cache_flush.S: ... here.
16782 * grub-core/lib/efi/relocator.c: New file.
16783 * grub-core/lib/i386/relocator.c: Rewritten.
16784 * grub-core/lib/i386/relocator16.S: New file.
16785 * grub-core/lib/i386/relocator32.S: Likewise.
16786 * grub-core/lib/i386/relocator64.S: Likewise.
16787 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16788 * grub-core/lib/i386/relocator_common.S: New file.
16789 * grub-core/lib/ieee1275/relocator.c: Likewise.
16790 * grub-core/lib/mips/relocator.c: Rewritten.
16791 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16792 stylistic adjustments.
16793 * grub-core/lib/powerpc/relocator.c: New file.
16794 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16795 * grub-core/lib/relocator.c: Rewritten.
16796 * grub-core/lib/x86_64/relocator_asm.S: New file.
16797 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16798 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16799 (bsd_tag): New struct.
16800 (tags): New variable.
16801 (tags_last): Likewise.
16802 (netbsd_module): New struct.
16803 (netbsd_mods): New variable.
16804 (netbsd_mods_last): Likewise.
16805 (openbsd_opts): New parameter "serial".
16806 (OPENBSD_SERIAL_ARG): New definition.
16807 (netbsd_opts): New parameter "serial".
16808 (NETBSD_SERIAL_ARG): New definition.
16809 (grub_freebsd_add_meta): Reorganised into ...
16810 (grub_bsd_add_meta): ...this. All users updated.
16811 (grub_freebsd_add_mmap): Reorganised into ...
16812 (generate_e820_mmap): ...this...
16813 (grub_bsd_add_mmap): ...and this. All users updated.
16814 (grub_freebsd_list_modules): Use tags.
16815 (grub_netbsd_add_meta_module): New function.
16816 (grub_netbsd_list_modules): Likewise.
16817 (grub_freebsd_boot): Use relocator and finish EFI.
16818 (grub_openbsd_boot): Likewise.
16819 (grub_netbsd_setup_video): New function.
16820 (grub_netbsd_add_modules): Likewise.
16821 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16822 and finish EFI.
16823 (grub_bsd_unload): Unload tags.
16824 (grub_bsd_load_aout): Use relocator.
16825 (grub_bsd_elf32_size_hook): New function.
16826 (grub_bsd_elf32_hook): Use relocator.
16827 (grub_bsd_elf64_size_hook): New function.
16828 (grub_bsd_elf64_hook): Use relocator.
16829 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16830 (grub_bsd_load): Zero-out openbsd_ramdisk.
16831 (grub_bsd_load): Use relocator.
16832 (grub_cmd_openbsd): Support serial.
16833 (grub_cmd_netbsd): Support modules.
16834 (grub_cmd_freebsd_module): Use relocator.
16835 (grub_netbsd_module_load): New function.
16836 (grub_cmd_netbsd_module): Likewise.
16837 (grub_cmd_openbsd_ramdisk): Likewise.
16838 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16839 kopenbsd_ramdisk.
16840 (GRUB_MOD_FINI): Unregister new commands.
16841 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16842 (grub_freebsd_load_elfmodule_obj): Use relocator.
16843 (grub_freebsd_load_elfmodule): Likewise.
16844 (grub_freebsd_load_elf_meta): Likewise.
16845 (grub_netbsd_load_elf_meta): New function.
16846 (grub_openbsd_find_ramdisk): Likewise.
16847 * grub-core/loader/i386/bsd_helper.S: Removed.
16848 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16849 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16850 * grub-core/loader/i386/efi/linux.c: Likewise.
16851 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16852 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16853 (DEFAULT_VIDEO_MODE): Likewise.
16854 (real_mode_target): New variable.
16855 (prot_mode_target): Likewise.
16856 (initrd_mem_target): Likewise.
16857 (relocator): Likewise.
16858 (efi_mmap_buf): Likewise.
16859 (efi_mmap_size): Likewise.
16860 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16861 (free_pages): Use relocator.
16862 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16863 (grub_linux_setup_video): Return error.
16864 (grub_linux_trampoline_start): Removed.
16865 (grub_linux_trampoline_end): Likewise.
16866 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16867 andd video parameters depending on firmware.
16868 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16869 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16870 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16871 (grub_cmd_initrd): Use relocator.
16872 * grub-core/loader/i386/linux_trampoline.S: Removed.
16873 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16874 (elf_sec_entsize): Likewise.
16875 (elf_sec_shstrndx): Likewise.
16876 (elf_sections): Likewise.
16877 (grub_multiboot_load): Use relocator.
16878 (grub_multiboot_get_mbi_size): Account for sections.
16879 (grub_multiboot_make_mbi): Use relocator and support sections.
16880 (grub_multiboot_add_elfsyms): New function.
16881 (grub_multiboot_free_mbi): Free sections.
16882 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16883 (grub_linux_real_target): Likewise.
16884 (grub_linux_real_chunk): Likewise.
16885 (grub_linux16_prot_size): Likewise.
16886 (grub_linux16_boot): Use relocator.
16887 (grub_linux_unload): Unload relocator.
16888 (grub_cmd_linux): Use relocator.
16889 (grub_cmd_initrd): Likewise.
16890 * grub-core/loader/i386/pc/ntldr.c: New file.
16891 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16892 Don't try to guess CPU frequency.
16893 (grub_xnu_set_video): Stretch bitmap.
16894 (grub_xnu_boot): Use relocator.
16895 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16896 (grub_linux_unload): Free relocator.
16897 (grub_linux_load32): Use relocator.
16898 (grub_linux_load64): Likewise.
16899 (grub_cmd_initrd): Likewise.
16900 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16901 (grub_multiboot_unload): Unload relocator.
16902 (grub_cmd_multiboot): Use relocator.
16903 (grub_cmd_module): Likewise.
16904 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16905 Use relocator and support sections.
16906 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16907 (elf_sec_entsize): Likewise.
16908 (elf_sec_shstrndx): Likewise.
16909 (elf_sections): Likewise.
16910 (grub_multiboot_load): Use relocator.
16911 (grub_multiboot_get_mbi_size): Account for sections.
16912 (grub_multiboot_make_mbi): Use relocator and support sections.
16913 (grub_multiboot_add_elfsyms): New function.
16914 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16915 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16916 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16917 Prototype changed. All users updated.
16918 (grub_xnu_align_heap): Simplified.
16919 (grub_xnu_writetree_toheap): Likewise.
16920 (grub_xnu_unload): Unload relocator.
16921 (grub_cmd_xnu_kernel): Use relocator.
16922 (grub_cmd_xnu_kernel64): Likewise.
16923 (grub_xnu_register_memory): Simplified.
16924 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16925 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16926 EFI is finished.
16927 (grub_console_checkkey): Likewise.
16928 (grub_console_getkey): Likewise.
16929 (grub_console_getwh): Likewise.
16930 (grub_console_getxy): Likewise.
16931 (grub_console_gotoxy): Likewise.
16932 (grub_console_cls): Likewise.
16933 (grub_console_setcolorstate): Likewise.
16934 (grub_console_setcursor): Likewise.
16935 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16936 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16937 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16938 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16939 * grub-core/tests/boot/kernel-8086.S: Likewise.
16940 * grub-core/tests/boot/kernel-i386.S: Likewise.
16941 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16942 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16943 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16944 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16945 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16946 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16947 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16948 * grub-core/tests/boot/linux.cfg: Likewise.
16949 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16950 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16951 * grub-core/tests/boot/linux16.cfg: Likewise.
16952 * grub-core/tests/boot/multiboot.cfg: Likewise.
16953 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16954 * grub-core/tests/boot/ntldr.cfg: Likewise.
16955 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16956 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16957 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16958 New definition.
16959 * include/grub/dl.h (grub_dl_unload_all): Removed.
16960 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16961 (grub_efi_finish_boot_services): Change prototype.
16962 (grub_efi_is_finished): New variable.
16963 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16964 Changed prototype.
16965 (grub_efiemu_finish_boot_services): Removed.
16966 (grub_machine_efiemu_init_tables): New prototype.
16967 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16968 (grub_elf64_phdr_iterate): Likewise.
16969 * include/grub/i386/bsd.h: Include relocator.h.
16970 (freebsd_tag_header): New struct.
16971 (grub_openbsd_bios_mmap): Removed.
16972 (grub_unix_real_boot): Removed.
16973 (grub_freebsd_load_elfmodule32): Changed prototype.
16974 (grub_freebsd_load_elfmodule_obj64): Likewise.
16975 (grub_freebsd_load_elf_meta32): Likewise.
16976 (grub_freebsd_load_elf_meta64): Likewise.
16977 (grub_freebsd_add_meta): Removed.
16978 (grub_netbsd_load_elf_meta32): New prototype.
16979 (grub_netbsd_load_elf_meta64): Likewise.
16980 (grub_bsd_add_meta): Likewise.
16981 (grub_openbsd_ramdisk_descriptor): New struct.
16982 (grub_openbsd_find_ramdisk32): New prototype.
16983 (grub_openbsd_find_ramdisk64): Likewise.
16984 * include/grub/i386/coreboot/loader.h: Removed.
16985 * include/grub/i386/efi/loader.h: Likewise.
16986 * include/grub/i386/ieee1275/loader.h: Likewise.
16987 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16988 to grub_uint32_t.
16989 * include/grub/i386/loader.h: Removed.
16990 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16991 value.
16992 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16993 (grub_phys_addr_t): New type.
16994 (grub_vtop): New inline function.
16995 (grub_map_memory): Likewise.
16996 (grub_unmap_memory): Likewise.
16997 * include/grub/i386/multiboot/loader.h: Removed.
16998 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16999 (NETBSD_BTINFO_CONSOLE): New definition.
17000 (NETBSD_BTINFO_SYMTAB): Likewise.
17001 (NETBSD_BTINFO_MODULES): Likewise.
17002 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17003 (grub_netbsd_bootinfo): New struct.
17004 (grub_netbsd_btinfo_common): Use explicit bitsize.
17005 (grub_netbsd_btinfo_mmap_entry): Removed.
17006 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17007 (grub_netbsd_btinfo_bootdisk): New struct.
17008 (grub_netbsd_btinfo_symtab): Likewise.
17009 (grub_netbsd_btinfo_serial): Likewise.
17010 (grub_netbsd_btinfo_modules): Likewise.
17011 (grub_netbsd_btinfo_framebuf): Likewise.
17012 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17013 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17014 Likewise.
17015 (grub_openbsd_bootargs): Use explicit bitsize.
17016 (grub_openbsd_bootarg_console): New struct.
17017 (GRUB_OPENBSD_COM_MAJOR): New definition.
17018 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17019 * include/grub/i386/pc/efiemu.h: Removed.
17020 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17021 * include/grub/i386/qemu/loader.h: Removed.
17022 * include/grub/i386/relocator.h: Rewritten.
17023 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17024 * include/grub/mips/memory.h: New file.
17025 * include/grub/mips/multiboot.h: Rewritten.
17026 * include/grub/mips/relocator.h: Rewritten.
17027 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17028 (grub_vtop): New function.
17029 (grub_map_memory): Likewise.
17030 (grub_unmap_memory): Likewise.
17031 * include/grub/misc.h (ALIGN_DOWN): New definition.
17032 * include/grub/mm.h (grub_mm_check_real): New proto.
17033 (GRUB_MM_CHECK): New definition.
17034 * include/grub/mm_private.h: New file.
17035 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17036 (grub_multiboot_get_mbi_size): Removed.
17037 (grub_multiboot_make_mbi): Change prottype.
17038 (grub_multiboot_set_accepts_video): New proto.
17039 (grub_multiboot_add_elfsyms): Likewise.
17040 (grub_multiboot_payload_eip): New variable.
17041 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17042 New prototype.
17043 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17044 New definition.
17045 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17046 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17047 * include/grub/powerpc/ieee1275/loader.h: Removed.
17048 * include/grub/powerpc/memory.h: New file.
17049 * include/grub/powerpc/relocator.h: Likewise.
17050 * include/grub/relocator.h: Likewise.
17051 * include/grub/relocator_private.h: Likewise.
17052 * include/grub/sparc64/ieee1275/loader.h: Removed.
17053 * include/grub/x86_64/memory.h: New file.
17054 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17055 (grub_xnu_heap_malloc): Likewise.
17056 (grub_xnu_heap_real_start): Removed.
17057 (grub_xnu_heap_start): Likewise.
17058 (grub_xnu_relocator): New variable.
17059 (grub_xnu_heap_target_start): Likewise.
17060 * tests/util/grub-shell.in: Support non-pc.
17061 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17062
5303b85d
VS
170632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17066 on malloc error.
17067 (grub_bidi_logical_to_visual): Check that malloc succeded.
17068 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17069 puts.
17070 (grub_xputs_normal): Likewise.
17071
d768d159
VS
170722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17075 extra_dist.
17076
170772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17080
5bf84df4
VS
170812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17084
3626810e
VS
170852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17088 dprintf.
17089
a7363f53
BC
170902010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17091
17092 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17093
902f75f6
VS
170942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * grub-core/normal/term.c (print_more): Fix a memory leak.
17097 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17098 (grub_xputs_normal): Likewise.
17099
3c707967
VS
171002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17103 the begining of the string
17104
2053cc07
VS
171052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 * grub-core/script/script.c (grub_script_parse): Free parsed on
17108 failure.
17109
46422ebf
VS
171102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17113 on failure.
17114
9e0fa3f6
VS
171152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17118 return.
17119
3393cf16
VS
171202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17123 (scroll_up): Fix a memory leak.
17124
b17540cb
VS
171252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17128 errors.
17129
67140446
VS
171302010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Handle USB pendrives exposed as floppies.
17133
17134 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17135 floppy.
17136 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17137 Check for partitions on all devices.
17138
e35e46fc
VS
171392010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17142 (readkey): Likewise.
17143
d24c6190
BC
171442010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17145
17146 Multiple variable names support to "export" command.
17147
17148 * normal/context.c (grub_cmd_export): "export" command supports
17149 multiple variable names.
17150
04ddcc6a
ST
171512010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17152
17153 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17154 --target=drive output to Mach device name.
17155
0c8b61d8
BC
171562010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17157
17158 New Automake based build system for GRUB.
17159
17160 * ABOUT-NLS: New file.
17161 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17162 in Makefile.util.def file.
17163 * Makefile.util.def: New file. Autogen build definitions file for
17164 GRUB host utils.
17165 * conf/Makefile.common: New file. Common variables for GRUB host
17166 utils and target modules.
17167 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17168 * docs/Makefile.am: New file. Automake file for docs.
17169 * gentpl.py: New file. Python script to generate Autogen
17170 template.
17171 * grub-core/Makefile.am: New file. GRUB target modules' rules
17172 that doesn't fit in Makefile.core.def file.
17173 * grub-core/Makefile.core.def: New file. Autogen build
17174 definitions file for GRUB target modules.
17175 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17176 specific setjmp.S file.
17177 * po/Makefile.am: New file.
17178
17179 * .bzrignore: New ignores.
17180 * INSTALL: New requirements, without Ruby.
17181 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17182 * autogen.sh: Updated to invoke autogen as necessary.
17183 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17184 and defines for Automake conditionals.
17185 * geninit.sh: Refactoring.
17186
17187 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17188 necessary.
17189 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17190 New prototype.
17191
17192 * include/grub/test.h: Fix functional test modules' naming.
17193 * grub-core/tests/example_functional_test.c: Fix test module name.
17194
17195 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17196 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17197 * util/grub-editenv.c: Likewise.
17198 * util/grub-fstest.c: Likewise.
17199 * util/grub-mkdevicemap.c: Likewise.
17200 * util/grub-mkfont.c: Likewise.
17201 * util/grub-mkimage.c: Likewise.
17202 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17203 * util/grub-probe.c: Likewise.
17204 * util/grub-script-check.c: Likewise.
17205 * util/i386/pc/grub-setup.c: Likewise.
17206 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17207
17208 * tests/util/grub-shell.in: Fix override directory path.
17209 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17210 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17211
17212 * util/lvm.c: Update #includes.
17213 * util/raid.c: Likewise.
17214 * util/resolve.c: Likewise.
17215 * grub-core/bus/emu/pci.c: Likewise.
17216 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17217 * grub-core/lib/posix_wrap/string.h: Likewise.
17218 * grub-core/kern/emu/main.c: Likewise.
17219
17220 * grub-core/gensymlist.sh: New file. Script for generating kernel
17221 symbols file.
17222 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17223
17224 * grub-core/gentrigtables.c: Fix unused variable warnings.
17225
17226 * Makefile.in: Removed.
17227 * conf/any-emu.rmk: Removed.
17228 * conf/common.rmk: Removed.
17229 * conf/i386-coreboot.rmk: Removed.
17230 * conf/i386-efi.rmk: Removed.
17231 * conf/i386-ieee1275.rmk: Removed.
17232 * conf/i386-multiboot.rmk: Removed.
17233 * conf/i386-pc.rmk: Removed.
17234 * conf/i386-qemu.rmk: Removed.
17235 * conf/i386.rmk: Removed.
17236 * conf/mips-yeeloong.rmk: Removed.
17237 * conf/mips.rmk: Removed.
17238 * conf/powerpc-ieee1275.rmk: Removed.
17239 * conf/sparc64-ieee1275.rmk: Removed.
17240 * conf/tests.rmk: Removed.
17241 * conf/x86-efi.rmk: Removed.
17242 * conf/x86_64-efi.rmk: Removed.
17243 * gendistlist.sh: Removed.
17244 * geninitheader.sh: Removed.
17245 * genkernsyms.sh.in: Removed.
17246 * genmk.rb: Removed.
17247 * gensymlist.sh.in: Removed.
17248 * mkinstalldirs: Removed.
17249 * boot: Moved ...
17250 * grub-core/boot: ... to here.
17251 * bus: Moved ...
17252 * grub-core/bus: ... to here.
17253 * commands: Moved ...
17254 * grub-core/commands: ... to here.
17255 * disk: Moved ...
17256 * grub-core/disk: ... to here.
17257 * efiemu: Moved ...
17258 * grub-core/efiemu: ... to here.
17259 * font: Moved ...
17260 * grub-core/font: ... to here.
17261 * fs: Moved ...
17262 * grub-core/fs: ... to here.
17263 * gencmdlist.sh: Moved ...
17264 * grub-core/gencmdlist.sh: ... to here.
17265 * genemuinit.sh: Moved ...
17266 * grub-core/genemuinit.sh: ... to here.
17267 * genemuinitheader.sh: Moved ...
17268 * grub-core/genemuinitheader.sh: ... to here.
17269 * genfslist.sh: Moved ...
17270 * grub-core/genfslist.sh: ... to here.
17271 * genhandlerlist.sh: Moved ...
17272 * grub-core/genhandlerlist.sh: ... to here.
17273 * genmoddep.awk: Moved ...
17274 * grub-core/genmoddep.awk: ... to here.
17275 * genmodsrc.sh: Moved ...
17276 * grub-core/genmodsrc.sh: ... to here.
17277 * genpartmaplist.sh: Moved ...
17278 * grub-core/genpartmaplist.sh: ... to here.
17279 * genparttoollist.sh: Moved ...
17280 * grub-core/genparttoollist.sh: ... to here.
17281 * genterminallist.sh: Moved ...
17282 * grub-core/genterminallist.sh: ... to here.
17283 * gentrigtables.c: Moved ...
17284 * grub-core/gentrigtables.c: ... to here.
17285 * genvideolist.sh: Moved ...
17286 * grub-core/genvideolist.sh: ... to here.
17287 * gettext: Moved ...
17288 * grub-core/gettext: ... to here.
17289 * gfxmenu: Moved ...
17290 * grub-core/gfxmenu: ... to here.
17291 * gnulib: Moved ...
17292 * grub-core/gnulib: ... to here.
17293 * hello: Moved ...
17294 * grub-core/hello: ... to here.
17295 * hook: Moved ...
17296 * grub-core/hook: ... to here.
17297 * io: Moved ...
17298 * grub-core/io: ... to here.
17299 * kern: Moved ...
17300 * grub-core/kern: ... to here.
17301 * lib: Moved ...
17302 * grub-core/lib: ... to here.
17303 * loader: Moved ...
17304 * grub-core/loader: ... to here.
17305 * mmap: Moved ...
17306 * grub-core/mmap: ... to here.
17307 * normal: Moved ...
17308 * grub-core/normal: ... to here.
17309 * partmap: Moved ...
17310 * grub-core/partmap: ... to here.
17311 * parttool: Moved ...
17312 * grub-core/parttool: ... to here.
17313 * script: Moved ...
17314 * grub-core/script: ... to here.
17315 * term: Moved ...
17316 * grub-core/term: ... to here
17317 * tests/example_functional_test.c: Moved ...
17318 * grub-core/tests/example_functional_test.c: ... to here.
17319 * tests/lib/functional_test.c: Moved ...
17320 * grub-core/tests/lib/functional_test.c: ... to here.
17321 * tests/lib/test.c: Moved ...
17322 * grub-core/tests/lib/test.c: ... to here.
17323 * video: Moved ...
17324 * grub-core/video: ... to here.
17325
645586e6
BC
173262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17327
17328 Replace --enable-grub-emu-modules with grub-emu-lite.
17329
17330 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17331 cache.S.
17332
17333 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17334 * kern/emu/full.c: New file. For grub-emu specific initialization.
17335 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17336 * kern/emu/main.c: Call initialization function grub_emu_init.
17337
17338 * Makefile.in: Include grub-emu-lite in install.
17339 * commands/parttool.c: Use grub_no_autoload to differentiate
17340 between grub-emu and grub-emu-lite.
17341 * include/grub/misc.h: New variable grub_no_autoload.
17342
17343 * conf/any-emu.rmk: New rules for grub-emu-lite.
17344 * configure.ac: Remove --enable-grub-emu-modules.
17345 * genmk.rb: Cleanup unnecessary rules.
17346 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17347
17348 * normal/main.c: Don't load list files on grub-emu-lite.
17349 * util/misc.c (grub_arch_sync_caches): Removed.
17350
f86a4030
CW
173512010-08-23 Colin Watson <cjwatson@ubuntu.com>
17352
17353 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17354 grub-mkimage rather than grub-mkelfimage.
17355 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17356
06776944
VS
173572010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17360 a key after CapsLock or NumLock. It's just a qemu bug.
17361
df262419
VS
173622010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17365 needed by libusb wrapper.
17366
b40ea81b
ST
173672010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17368
17369 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17370
dee50575
VS
173712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17374 --nounzip is passed.
17375
fb1d7b79
VS
173762010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 USB hotunplugging and USB serial support.
17379
17380 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17381 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17382 (grub_uhci_transfer): Respect timeout and set *actual.
17383 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17384 non-standard length.
17385 (grub_usb_device_attach): Autoload modules.
17386 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17387 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17388 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17389 users updated.
17390 (grub_usb_add_hub): Fill nports and children.
17391 (attach_root_port): Receive hub instead of controller.
17392 All users updated. Fill hub->devices.
17393 (grub_usb_root_hub): Allocate hub->devices.
17394 (detach_device): New function.
17395 (poll_nonroot_hub): Fill children and detach devices.
17396 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17397 actual arguments. All users updated.
17398 (grub_usb_bulk_read_extended): New function.
17399 * bus/usb/serial/common.c: New file.
17400 * bus/usb/serial/ftdi.c: Likewise.
17401 * bus/usb/serial/pl2303.c: Likewise.
17402 * commands/terminal.c (handle_command): Support wildcard.
17403 * commands/usbtest.c: Output "Unknown" instead of empty string.
17404 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17405 (usbserial_common_mod_SOURCES): New variable.
17406 (usbserial_common_mod_CFLAGS): Likewise.
17407 (usbserial_common_mod_LDFLAGS): Likewise.
17408 (pkglib_MODULES): Add usbserial_pl2303.mod.
17409 (usbserial_pl2303_mod_SOURCES): New variable.
17410 (usbserial_pl2303_mod_CFLAGS): Likewise.
17411 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17412 (pkglib_MODULES): Add usbserial_ftdi.mod.
17413 (usbserial_ftdi_mod_SOURCES): New variable.
17414 (usbserial_ftdi_mod_CFLAGS): Likewise.
17415 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17416 (pkglib_MODULES): Add serial.mod.
17417 (serial_mod_SOURCES): New variable.
17418 (serial_mod_CFLAGS): Likewise.
17419 (serial_mod_LDFLAGS): Likewise.
17420 * conf/i386-pc.rmk: Likewise.
17421 * conf/mips-yeeloong.rmk: Likewise.
17422 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17423 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17424 * disk/usbms.c (first_available_slot): New variable.
17425 (grub_usbms_attach): Don't reuse free slots due to potential cache
17426 problems.
17427 * include/grub/serial.h: Moved to ..
17428 * include/grub/ns8250.h: ...this.
17429 * include/grub/serial.h: New file.
17430 * include/grub/term.h (grub_term_poll_usb): New variable.
17431 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17432 readkey. All users updated.
17433 (grub_terminfo_output_state): Pass term to put.
17434 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17435 (grub_usb_controller_dev): Add timeout and actual arguments to
17436 transfer. All users updated.
17437 (grub_usb_interface): New field detach_data.
17438 (grub_usb_device): New fields children and nports.
17439 (grub_usb_ep_type_t): New type.
17440 (grub_usb_get_ep_type): New function.
17441 (grub_usb_bulk_read_extended): Likewise.
17442 * include/grub/usbdesc.h (grub_usb_desc): New type.
17443 * include/grub/usbserial.h: New file.
17444 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17445 * kern/term.c (grub_term_poll_usb): New variable.
17446 (grub_getkey): Call grub_term_poll_usb if set.
17447 (grub_checkkey): Likewise.
17448 (grub_getkeystatus): Likewise.
17449 * term/serial.c: Moved controller-specific parts to ...
17450 * term/ns8250.c: ... here.
17451 * term/serial.c: Mostly rewritten.
17452 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17453 according to spec.
17454
21a313de
RM
174552010-08-20 Robert Millan <rmh@gnu.org>
17456
17457 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17458 a separate module and maybe other interesting combinations.
17459
17460 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17461 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17462 (kfreebsd_entry): Add generic filesystem module load routine.
17463 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17464
63c734a6
CW
174652010-08-20 Colin Watson <cjwatson@ubuntu.com>
17466
17467 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17468 "numcenter" (I misunderstood the purpose of this entry).
17469 * docs/grub.texi (sendkey): Likewise.
17470
c4d16542
CW
174712010-08-20 Colin Watson <cjwatson@ubuntu.com>
17472
17473 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17474 status flag options; simply omitting the option is equivalent and
17475 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17476 (keysym_table): Rename "num5numlock" to "numlock".
17477 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17478 can uniformly say that only the last of multiple `sendkey'
17479 invocations has any effect.
17480 * docs/grub.texi (sendkey): New section.
17481
93541d66
CW
174822010-08-19 Colin Watson <cjwatson@ubuntu.com>
17483
17484 * commands/i386/pc/sendkey.c (options): Fix three typos.
17485
b4ece5e1
VS
174862010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Implement sendkey support.
17489
17490 * commands/i386/pc/sendkey.c: New file.
17491 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17492 (sendkey_mod_SOURCES): New variable.
17493 (sendkey_mod_CFLAGS): Likewise.
17494 (sendkey_mod_LDFLAGS): Likewise.
17495
51f1f5af
CW
174962010-08-18 Colin Watson <cjwatson@ubuntu.com>
17497
17498 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17499 fix warnings from Autoconf.
17500
9da94e05
CW
175012010-08-18 Colin Watson <cjwatson@ubuntu.com>
17502
17503 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17504 to avoid false positives with some assemblers that output things
17505 like "someprefix_func" as part of their output.
17506
729a0f2e
RM
175072010-08-15 Robert Millan <rmh@gnu.org>
17508
17509 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17510 errors.
17511 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17512 grub_get_libzfs_handle() errors.
17513
f3710e08
RM
175142010-08-14 Robert Millan <rmh@gnu.org>
17515
17516 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17517 filesystem is not ZFS.
17518
7a3c13de
BC
175192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17520
17521 Fix for misspelled color names defaulting to black/black (bug
17522 reported by Doug Nazar)
17523
17524 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17525 status to prototype.
17526 * normal/color.c (grub_parse_color_name_pair): Return failure
17527 status.
17528 (grub_env_write_color_normal): Ignore bad color names.
17529 (grub_env_write_color_highlight): Likewise.
17530 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17531
ab8ba50d
BC
175322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17533
17534 "shift" command support to GRUB script.
17535
17536 * include/grub/script_sh.h (grub_script_shift): New prototype.
17537 * script/execute.c (grub_script_shift): New function.
17538 * script/main.c (grub_script_init): Register shift command.
17539 (grub_script_fini): Unregister shift command.
17540 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17541
17542 * tests/grub_script_shift.in: New testcase.
17543 * conf/tests.rmk: Rules for new testcase.
17544
4d61999e
BC
175452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17546
17547 "continue" command support to GRUB script.
17548
17549 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17550 (grub_script_break): Continue support.
17551 * script/main.c (grub_script_init): Register continue command.
17552 (grub_script_fini): Unregister continue command.
17553
17554 * tests/grub_script_continue.in: New testcase.
17555 * conf/tests.rmk: Rules for new testcase.
17556
4df51e00
BC
175572010-08-12 BVK Chaitanya <bvk@dbook>
17558
17559 "break" command support to GRUB script.
17560
17561 * conf/common.rmk: Rule updates to grub-script-check.
17562 * include/grub/misc.h (grub_min): New function.
17563 * include/grub/script_sh.h (grub_script_init): New prototype.
17564 (grub_script_fini): New prototype.
17565 (grub_script_break): New prototype.
17566 * script/main.c (grub_script_init): New function.
17567 (grub_script_fini): New function.
17568 * script/execute.c (grub_script_break): New function.
17569 * normal/main.c: Calls to grub_script_{init,fini}.
17570 * util/grub-script-check.c (grub_script_break): New function.
17571
17572 * tests/grub_script_break.in: New testcase.
17573 * conf/tests.rmk: Rules for new test case.
17574
f12c8420
BC
175752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17576
17577 Function parameters support to GRUB script.
17578
17579 * script/yylex.l (VARIABLE): Regular expression update.
17580 * script/function.c (grub_script_function_call): Moved ...
17581 * script/execute.c (grub_script_function_call): ... to here.
17582 (grub_script_execute_arglist_to_argv): Removed.
17583 (grub_script_arglist_to_argv): New function.
17584 * script/argv.c: New file.
17585 (grub_script_argv_free): New function.
17586 (grub_script_argv_next): Likewise.
17587 (grub_script_argv_append): Likewise.
17588 (grub_script_argv_split_append): Likewise.
17589 * include/grub/script_sh.h (grub_script_argv): New struct.
17590 (grub_script_argv_free): New function.
17591 (grub_script_argv_next): Likewise.
17592 (grub_script_argv_append): Likewise.
17593 (grub_script_argv_split_append): Likewise.
17594
17595 * conf/common.rmk (normal.mod): New source script/argv.c.
17596
17597 * tests/grub_script_echo1.in: More tests.
17598 * tests/grub_script_vars1.in: Likewise.
17599 * tests/grub_script_functions.in: New test case.
17600 * conf/tests.rmk: Rules for new testcase.
17601
8022b748
BC
176022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17603
17604 Remove grub_script_cmdblock struct.
17605
17606 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17607 * script/parser.y: Likewise.
17608 * script/execute.c: Rename cmdblock suffix to cmdlist.
17609 * script/script.c: Likewise.
17610 * util/grub-script-check.c: Likewise.
17611
79a6ba61
YB
176122010-08-11 Yves Blusseau <blusseau@zetam.org>
17613
17614 * .bzrignore: add grub-macho2img
17615
d04b9414
VS
176162010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17619
f947ab49
VS
176202010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 Remove the dump of sm712 initialisation sequence.
17623
17624 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17625 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17626 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17627 (GRUB_VGA_CR_*): Added many registers.
17628 (GRUB_VGA_SR_*): Likewise.
17629 (GRUB_VGA_GR_*): Likewise.
17630 (grub_vga_write_arx): New function.
17631 (grub_video_hw_config): New struct.
17632 (grub_vga_set_geometry): New function.
17633 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17634 GRUB_PCI_CLASS_SUBCLASS_VGA.
17635 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17636 * video/sm712.c (grub_sm712_write_reg): New function
17637 (grub_sm712_read_reg): Likewise.
17638 (grub_sm712_sr_write): Likewise.
17639 (grub_sm712_gr_write): Likewise.
17640 (grub_sm712_cr_write): Likewise.
17641 (grub_sm712_write_arx): Likewise.
17642 (grub_sm712_cr_shadow_write): Likewise.
17643 (grub_sm712_write_dda_lookup): Likewise.
17644 (grub_video_sm712_setup): Initialise the video rather then
17645 blindly replay the dump.
17646 (main) [TEST]: Add a routine to be able to compile as standalone for
17647 tests.
17648 * video/sm712_init.c (sm712_init): Removed.
17649 (sm712_sr_seq1): New array.
17650 (sm712_sr_seq2): Likewise.
17651
f0206638
VS
176522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * include/grub/vga.h: Add missing grub/pci.h include.
17655
2764da3b
YB
176562010-08-10 Yves Blusseau <blusseau@zetam.org>
17657
17658 * util/grub-macho2img.c (main): fix typo
17659
cf0c775e
VS
176602010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17663 (grub_vga_gr_read): Likewise.
17664 (grub_vga_cr_write): Likewise.
17665 (grub_vga_cr_read): Likewise.
17666 (grub_vga_sr_write): Likewise.
17667 (grub_vga_sr_read): Likewise.
17668 (grub_vga_palette_read): Likewise.
17669 (grub_vga_palette_write): Likewise.
17670 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17671 (grub_sm712_sr_read): New function.
17672 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17673 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17674
07f360e9
RM
176752010-08-09 Robert Millan <rmh@gnu.org>
17676
17677 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17678 out unused variables on non-ZFS build.
17679
346c2072
RM
176802010-08-08 Robert Millan <rmh@gnu.org>
17681
17682 Fix path generation for sub-filesystems in ZFS.
17683
17684 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17685 missing slash.
17686
71175420
RM
176872010-08-08 Robert Millan <rmh@gnu.org>
17688
17689 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17690
0d8286f3
RM
176912010-08-08 Robert Millan <rmh@gnu.org>
17692
17693 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17694 exist, issue a proper error message (rely on `ls' for translated
17695 strings).
17696
55dd2924
RM
176972010-08-08 Robert Millan <rmh@gnu.org>
17698
17699 Fix grub-probe invocation.
17700
17701 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17702
d3dd9e80
RM
177032010-08-04 Robert Millan <rmh@gnu.org>
17704
17705 * configure.ac: Remove checks for getfsstat() and getmntany().
17706 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17707 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17708 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17709 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17710 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17711 function.
17712 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17713 via find_mount_point_from_dir() and getfsstat() / getmntany().
17714
0de22aa9
RM
177152010-08-04 Robert Millan <rmh@gnu.org>
17716
17717 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17718 (grub_find_zpool_from_mount_point): Merge into ...
17719 (grub_find_zpool_from_dir): ... this.
17720 * kern/emu/misc.c: Likewise.
17721
17722 * kern/emu/misc.c
17723 (grub_make_system_path_relative_to_its_root): Replace
17724 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17725 with grub_find_zpool_from_dir().
17726 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17727
62858144
RM
177282010-08-04 Robert Millan <rmh@gnu.org>
17729
17730 Support OpenSolaris in ZFS device resolution.
17731
17732 * configure.ac: Check for getmntany().
17733 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17734 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17735 support.
17736
9dd6fd50
RM
177372010-08-03 Robert Millan <rmh@gnu.org>
17738
17739 Fix grub-emu build.
17740
17741 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17742 * include/grub/emu/misc.h: ... here.
17743
17744 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17745 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17746
17747 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17748 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17749 (grub_get_libzfs_handle): Move to ...
17750 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17751 (grub_get_libzfs_handle): ... here.
17752
c9f7ff97
BC
177532010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17754
17755 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17756 as command name case.
17757
a870a783
CW
177582010-08-02 Colin Watson <cjwatson@ubuntu.com>
17759
17760 * disk/raid.c (insert_array): Select unique numbers for named arrays
17761 as well, for use as keys in the disk cache.
17762
c7db243b
RM
177632010-08-01 Robert Millan <rmh@gnu.org>
17764
17765 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17766 kFreeBSD device name, except on ZFS where the filesystem label is
17767 used.
17768 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17769 `/boot/zfs/zpool.cache'.
17770 Set mountfrom kernel variable using ${kfreebsd_device}.
17771
f7abdefb
RM
177722010-08-01 Robert Millan <rmh@gnu.org>
17773
17774 Make it even harder to use uninitialized `libzfs_handle' (and
17775 make the interface a bit simpler).
17776
17777 * include/grub/util/misc.h (grub_util_init_libzfs)
17778 (libzfs_handle): Remove.
17779 (grub_get_libzfs_handle): New prototype.
17780
17781 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17782 attribute.
17783 (grub_util_init_libzfs): Remove.
17784 (grub_get_libzfs_handle): New function.
17785
17786 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17787 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17788 accessing `libzfs_handle' directly.
17789
c882acc0
RM
177902010-08-01 Robert Millan <rmh@gnu.org>
17791
17792 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17793 (grub_find_zpool_from_mount_point): New function prototypes.
17794
17795 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17796 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17797
17798 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17799 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17800 `static' attribute.
17801
17802 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17803 finding zpool from mount point into ...
17804 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17805
17806 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17807 requested path is part of a ZFS pool, use
17808 grub_find_zpool_from_mount_point() to detect its filesystem name,
17809 and generate a path with `/fsname@path' syntax.
17810
8bfe31d8
CW
178112010-08-01 Colin Watson <cjwatson@ubuntu.com>
17812
17813 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17814 (void) rather than () so that this is a proper prototype.
17815
553df63d
VS
178162010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17819
8687cf07
VS
178202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17823 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17824
ea9be8ea
CW
178252010-08-01 Colin Watson <cjwatson@ubuntu.com>
17826
17827 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17828
6eea041a
CW
178292010-08-01 Colin Watson <cjwatson@ubuntu.com>
17830
17831 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17832
2cfb45df
CW
178332010-08-01 Colin Watson <cjwatson@ubuntu.com>
17834
17835 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17836 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17837 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17838 disable gfxpayload.
17839 (Shell-like scripting): Add real content.
17840 (Serial terminal): Suggest `terminal_input serial; terminal_output
17841 serial' rather than putting the two commands on separate lines,
17842 since console input will be inoperative after the first command.
17843 (menuentry): Document --class, --users, and --hotkey options.
17844 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17845 Vladimir Serbinenko).
17846
7decd202
VS
178472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
178482010-08-01 Colin Watson <cjwatson@ubuntu.com>
17849
17850 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17851
c882acc0
RM
178522010-08-01 Robert Millan <rmh@gnu.org>
17853
17854 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17855 (grub_find_zpool_from_mount_point): New function prototypes.
17856
17857 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17858 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17859
17860 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17861 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17862 `static' attribute.
17863
17864 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17865 finding zpool from mount point into ...
17866 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17867
17868 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17869 requested path is part of a ZFS pool, use
17870 grub_find_zpool_from_mount_point() to detect its filesystem name,
17871 and generate a path with `/fsname@path' syntax.
17872
deb0caa3
RM
178732010-08-01 Robert Millan <rmh@gnu.org>
17874
17875 Prevent accidental use of uninitialized libzfs_handle.
17876
17877 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17878 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17879 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17880
ce04ef47
CW
178812010-08-01 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17884 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17885
ebf53056
RM
178862010-08-01 Robert Millan <rmh@gnu.org>
17887
17888 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17889
3710bb6b
RM
178902010-07-31 Robert Millan <rmh@gnu.org>
17891
17892 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17893
8072efeb
RM
178942010-07-31 Robert Millan <rmh@gnu.org>
17895
17896 * kern/emu/misc.c: Add missing license header.
17897
3169f4c7
RM
178982010-07-31 Robert Millan <rmh@gnu.org>
17899
17900 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17901
17902 * include/grub/util/libnvpair.h: Include `<config.h>'.
17903 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17904 declaring libnvpair prototypes ourselves.
17905 * include/grub/util/libzfs.h: Include `<config.h>'.
17906 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17907 declaring libzfs prototypes ourselves.
17908
17909 (libzfs_handle): Moved to ...
17910 * include/grub/util/misc.h (libzfs_handle): ... here.
17911 Include `<grub/util/libzfs.h>'.
17912
c9a00aee
RM
179132010-07-30 Robert Millan <rmh@gnu.org>
17914
17915 * include/grub/emu/misc.h: Add missing license header.
17916
a184f9c8
RM
179172010-07-30 Robert Millan <rmh@gnu.org>
17918
17919 Enable `grub-probe -t device' resolution on ZFS.
17920
17921 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17922 * include/grub/util/libnvpair.h: New file.
17923 * include/grub/util/libzfs.h: New file.
17924
17925 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17926 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17927 `<grub/util/libnvpair.h>'.
17928 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17929
17930 (find_mount_point_from_dir): New static function.
17931 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17932 function.
17933 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17934 find_root_device_from_libzfs() before ressorting to find_root_device().
17935
17936 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17937 prototype.
17938 * util/misc.c: Include `<grub/util/libzfs.h>'.
17939 (grub_util_init_libzfs): New function.
17940 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17941 [HAVE_LIBZFS] (fini_libzfs): New static function.
17942 (grub_util_init_libzfs): New function.
17943 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17944
f7790cdd
RM
179452010-07-30 Robert Millan <rmh@gnu.org>
17946
17947 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17948 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17949 `warn_unused_result' attribute.
17950 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17951 (grub_xasprintf, grub_xvasprintf): Likewise.
17952 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17953
0806b63c
RM
179542010-07-29 Robert Millan <rmh@gnu.org>
17955
17956 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17957 (probe): Handle `PRINT_FS_LABEL'.
17958 (main): Handle `-t fs_label'.
17959
9f841f5c
RM
179602010-07-29 Robert Millan <rmh@gnu.org>
17961
17962 * configure.ac: Remove grub-mkisofs checks.
17963
46371121
VS
179642010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17967 Reported by: Lennart Sorensen.
17968
179692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17972 prior to terminal_input/terminal_output separation. It's been over 1.5
17973 years and those versions weren't widely deployed.
17974
a9600892
CW
179752010-07-22 Colin Watson <cjwatson@ubuntu.com>
17976
17977 * disk/raid.c (insert_array): Don't count named arrays when looking
17978 for unused array numbers.
697e053c 17979 Reported and tested by: Michael Guntsche.
a9600892 17980
c03507df
CW
179812010-07-20 Colin Watson <cjwatson@ubuntu.com>
17982
17983 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17984 implementation of this so that grub-emu links again, with a note
17985 that this should support hotplugging in the future.
17986
b26f1c11
CW
179872010-07-20 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17990
efc9d7f1
CW
179912010-07-20 Colin Watson <cjwatson@ubuntu.com>
17992
17993 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17994 handle on failure.
17995 (grub_loopback_close): Remove empty function.
17996 (grub_loopback_dev): Remove close method.
17997
dd8ff5c9
CW
179982010-07-20 Colin Watson <cjwatson@ubuntu.com>
17999
18000 Disable EFI cursor when the EFI console becomes inactive.
18001
18002 * term/efi/console.c (grub_efi_console_init): New function.
18003 (grub_efi_console_fini): New function.
18004 (grub_console_term_output): Register init and fini methods.
18005
5e3bec67
VS
180062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18009 sh script.
18010
afaec079
VS
180112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 * disk/loopback.c (grub_loopback): Replace filename with file.
18014 (delete_loopback): Handle new semantics.
18015 (grub_cmd_loopback): Likewise.
18016 (grub_loopback_iterate): Likewise.
18017 (grub_loopback_close): Likewise.
18018
a6a11f3c
VS
180192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18022 with -p "".
18023 Reported by: Tito Keitel.
18024
64a638b0
VS
180252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * docs/grub.texi (Naming convention): Document new naming convention.
18028
ab8ba957
VS
180292010-07-20 Vadim Solomin <vadic052@gmail.com>
180302010-07-20 Colin Watson <cjwatson@ubuntu.com>
18031
18032 Generate device.map in something closer to the old ordering.
18033
18034 * util/deviceiter.c (struct device): New declaration.
18035 (compare_file_names): Rename to ...
18036 (compare_devices): ... this. Sort by kernel name in preference to
18037 the stable by-id name, but keep the latter as a fallback comparison.
18038 Update header comment.
18039 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18040 of `struct device' rather than of plain file names.
18041
a29d6a4b
TF
180422010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18043
18044 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18045 on i386.
18046
39d824e8
VS
180472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18050 hardcoding size.
18051 (setv1table): Likewise.
18052
f058276b
FZ
180532010-07-20 Colin Watson <cjwatson@ubuntu.com>
18054
18055 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18056 removing the homehost if present.
18057 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18058 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18059 removing the homehost if present.
18060 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18061 if possible.
18062 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18063
18064 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18065 parameter. Set its pointer target to 0.
18066 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18067 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18068 `data_offset' value from the superblock for 1.x metadata.
18069 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18070 data on the device.
18071 (insert_array): Record the start sector of data on the device.
18072 (grub_raid_register): Pass start_sector parameters to
18073 grub_raid_list->detect and insert_array.
18074 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18075 member.
18076 (struct grub_raid): Add start_sector parameter to `detect'.
18077
18078 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18079 __attribute__ ((packed)), leaving a comment.
18080 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18081 (grub_mdraid_detect_09): ... here and ...
18082 (grub_mdraid_detect_1x): ... here.
18083
180842010-07-20 Peter Henn <peter.henn@web.de>
18085
18086 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18087 chunk size and disk size, which are already given as sector counts
18088 as distinct from the 0.90 units. Fetch the correct device number
18089 from the role table instead of using the table index.
18090
180912010-07-20 Felix Zielcke <fzielcke@z-51.de>
18092
18093 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18094 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18095 (WriteMostly1): New macro.
18096 Set array->name to NULL for metadata format 0.90. Add support for
18097 metadata 1.x. Fix some comments.
18098 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18099 few comments.
18100 * util/getroot.c (grub_util_get_grub_dev): Add support for
18101 /dev/md/name style devices.
18102
4b761da9
CW
181032010-07-20 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * .bzrignore: Ignore 20_linux_xen.
18106
5771289a
CW
181072010-07-17 Colin Watson <cjwatson@ubuntu.com>
18108
18109 * util/import_unicode.py: Remove unnecessary imports.
18110
5dab68df
AN
181112010-07-17 Aleš Nesrsta <starous@volny.cz>
18112
18113 Hotplugging and USB hub support.
18114
18115 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18116 (grub_ohci): Likewise.
18117 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18118 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18119 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18120 (GRUB_OHCI_CTRL_EDS): Likewise.
18121 (GRUB_OHCI_BULK_EDS): Likewise.
18122 (GRUB_OHCI_TDS): Likewise.
18123 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18124 (grub_ohci_ed_phys2virt): New function.
18125 (grub_ohci_virt_to_phys): Likewise.
18126 (grub_ohci_td_phys2virt): Likewise.
18127 (grub_ohci_td_virt2phys): Likewise.
18128 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18129 attachment.
18130 (grub_ohci_find_ed): New function.
18131 (grub_ohci_alloc_td): Likewise.
18132 (grub_ohci_free_td): Likewise.
18133 (grub_ohci_free_tds): Likewise.
18134 (grub_ohci_transfer): Use previously allocated memory.
18135 (grub_ohci_portstatus): Reset status changed bit.
18136 (grub_ohci_detect_dev): Supply status changed.
18137 (grub_ohci_fini_hw): Free memory.
18138 (grub_ohci_restore_hw): Reallocate memory.
18139 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18140 Reset status change.
18141 (grub_uhci_detect_dev): Supply status_change.
18142 * bus/usb/usb.c (attach_hooks): New var.
18143 (grub_usb_device_attach): New function.
18144 (grub_usb_register_attach_hook_class): Likewise.
18145 (grub_usb_unregister_attach_hook_class): Likewise.
18146 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18147 (grub_usb_add_hub): Reset connection changed bit.
18148 (attach_root_port): New function.
18149 (grub_usb_root_hub): Likewise.
18150 (poll_nonroot_hub): Likewise.
18151 (grub_usb_poll_devices): Likewise.
18152 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18153 * disk/usbms.c (grub_usbms_open): Use device hooks.
18154 (grub_usbms_iterate) :Poll devices.
18155 (grub_usbms_finddevs): Split into ...
18156 (grub_usbms_attach): ... this ...
18157 (grub_usbms_attach): ... and this.
18158 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18159 in detect_dev.
18160 (grub_usb_interface): New fields attached and detach_hook.
18161 (grub_usb_attach_hook_class): New type.
18162 (grub_usb_attach_desc): New struct.
18163 (grub_usb_register_attach_hook_class): New function.
18164 (grub_usb_unregister_attach_hook_class): Likewise.
18165 (grub_usb_poll_devices): Likewise.
18166 (grub_usb_device_attach): Likewise.
18167 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18168 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18169
3222efaf
VS
181702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18173 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18174 delta determination style. Works with most NetBSD partitions too.
18175
139b714a
VS
181762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18179 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18180
986aad56
VS
181812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18184
99be513c
AB
181852010-07-14 Anton Blanchard <anton@samba.org>
18186
18187 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18188 ET_DYN files.
18189
18075f62
GS
181902010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18191
18192 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18193
8d9a5b15
GS
181942010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18195
18196 * kern/partition.c (grub_partition_check_containment): New function to
18197 check that a partition is physically contained in a parent. Since
18198 offsets are relative (and non-negative), this reduces to checking that
18199 the partition ends before its parent.
18200 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18201 (grub_partition_iterate): Likewise.
18202 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18203 comments.
18204 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18205 partitions that start before their parent, and add debug printfs.
18206
19563c25
CW
182072010-07-13 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * Makefile.in (.SUFFIX): Spell correctly, as ...
18210 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18211 bare module name without `.mod', e.g. `test') tried to invoke a
18212 Modula-2 compiler.
18213
1a1f1e67
CW
182142010-07-13 Colin Watson <cjwatson@ubuntu.com>
18215
18216 * README: Point to the Info manual.
18217
811b0dca
JS
182182010-07-13 Jiro SEKIBA <jir@unicus.jp>
18219
18220 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18221 2nd superblock position from partition size.
18222
e4f4eafc
CW
182232010-07-10 Colin Watson <cjwatson@ubuntu.com>
18224
18225 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18226 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18227 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18228 outputs.
18229
4274c30f
VS
182302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Restructure SCSI .id handling.
18233 Reported and tested by: Aleš Nesrsta.
18234
18235 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18236 (grub_atapi_dev): Changed .name to "ata". New field .id.
18237 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18238 (grub_usbms_dev): New field .id.
18239 * disk/scsi.c (grub_scsi_iterate): Generate name.
18240 (grub_scsi_open): Parse name.
18241 * include/grub/scsi.h (grub_make_scsi_id): New function.
18242 (grub_scsi_dev): Change iterate and open to number instead of naming
18243 busses. All users updated.
18244 (grub_scsi): Remove name. Add .bus.
18245
5bc24388
VS
182462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * commands/help.c (grub_cmd_help): Fix a typo.
18249
249975ba
VS
182502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18253 Reported and tested by: Colin Watson.
18254
3eaac1a1
VS
182552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18258 in this context.
18259
becce1b1
VS
182602010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18263
f7bf0918
CW
182642010-07-07 Colin Watson <cjwatson@ubuntu.com>
18265
18266 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18267 indentation.
18268
0b0f9620
CW
182692010-07-06 Colin Watson <cjwatson@ubuntu.com>
18270
18271 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18272 and disk/raid6_recover.c.
18273 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18274 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18275
1e545469
CW
182762010-07-06 Colin Watson <cjwatson@ubuntu.com>
18277
18278 * term/gfxterm.c (repaint_schedulded): Rename to ...
18279 (repaint_scheduled): ... this. Update all callers.
18280 (repaint_was_schedulded): Rename to ...
18281 (repaint_was_scheduled): ... this. Update all callers.
18282
5357687a
CW
182832010-07-06 Colin Watson <cjwatson@ubuntu.com>
18284
18285 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18286 which we expect to be handled by upper layers.
18287
29d7e783
BC
182882010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18289
18290 * bus/usb/usbhub.c: #include time.h header.
18291
37582066
CW
182922010-07-06 Colin Watson <cjwatson@ubuntu.com>
18293
18294 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18295 entry_name also for entries without stat blocks (e.g. ".."); fixes
18296 corruption of the first entry in a directory.
18297
c8c06953
CW
182982010-07-06 Colin Watson <cjwatson@ubuntu.com>
18299
18300 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18301 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18302 doesn't work otherwise.
18303
e75056f1
CW
183042010-07-05 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * docs/grub.texi (Features): Update list of supported file systems.
18307 (GNU/Linux): Update for GRUB 2.
18308 (Serial terminal): Remove mention of --disable-serial, which was a
18309 GRUB Legacy configure option. Update instructions to use
18310 `terminal_input' and `terminal_output' rather than `terminal'.
18311 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18312 configuration' and `Installing GRUB using grub-install'.
18313 (Menu entry editor): Update for GRUB 2.
18314 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18315 Document new -a, -u, and -v options.
18316 (initrd): New section.
18317 (initrd16): New section.
18318 (linux): New section.
18319 (linux16): New section.
18320 (search): The `var' argument to `--set' is optional.
18321 (GRUB only offers a rescue shell): Go into a little more detail on
18322 drive ordering.
18323
5cf69151
CW
183242010-07-05 Colin Watson <cjwatson@ubuntu.com>
18325
18326 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18327
e3f90044
CW
183282010-07-05 Colin Watson <cjwatson@ubuntu.com>
18329
18330 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18331 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18332
38d8f4f3
CW
183332010-07-05 Colin Watson <cjwatson@ubuntu.com>
18334
18335 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18336 install_prefix, in line with install_dos_part and install_bsd_part.
18337 Add new prefix variable, which is copied to install_prefix after
18338 comparing core.img in memory with the one read from disk in the
18339 no-embedding case, and use that rather than overwriting
18340 install_prefix immediately when installing to a partition.
18341 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18342 Bicakci.
18343
57ebd41e
GS
183442010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18345
18346 * configure.ac: Avoid == in test command, it's not portable.
18347 * util/grub.d/30_os-prober.in: Likewise.
18348
cb7f64b2
CW
183492010-07-04 Colin Watson <cjwatson@ubuntu.com>
18350
18351 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18352
6b654bb0
GS
183532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18354
18355 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18356 multiple (top-level) partmaps.
18357
72a2026d
VS
183582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18361 Reported by: Tino Keitel.
72a2026d 18362
df3eb88f
VS
183632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 Bidi and diacritics support.
18366
18367 * Makefile.in (widthspec.bin): New target.
18368 (widthspec.h): Likewise.
18369 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18370 * autogen.sh: Generate unidata.c.
18371 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18372 * commands/ls.c (grub_ls_list_devices): Likewise.
18373 (grub_ls_list_files): Likewise.
18374 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18375 (grub_mini_cmd_lsmod): Likewise.
18376 * commands/read.c: Likewise.
18377 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18378 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18379 * lib/arg.c (grub_arg_show_help): Likewise.
18380 * lib/crypto.c (grub_password_get): Likewise.
18381 * normal/auth.c (grub_username_get): Likewise.
18382 * normal/misc.c (grub_normal_print_device_info): Likewise.
18383 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18384 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18385 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18386 (normal/charset.c_DEPENDENCIES): New variable.
18387 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18388 (pkglib_MODULES): Remove charset.mod.
18389 (charset_mod_SOURCES): Removed.
18390 (charset_mod_CFLAGS): Likewise.
18391 (charset_mod_LDFLAGS): Likewise.
18392 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18393 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18394 and term/tparm.c.
18395 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18396 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18397 (kernel_img_HEADERS): Add terminfo.h.
18398 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18399 Fill ->font. Reverse ascii bitmaps.
18400 (grub_font_get_xheight): New function.
18401 * font/font.c (grub_font_get_string_width): Moved from here ...
18402 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18403 * font/font.c (grub_font_draw_string): Moved from here ...
18404 * gfxmenu/font.c (grub_font_draw_string): ... here.
18405 * font/font.c (grub_font_dup_glyph): New function.
18406 (grub_font_blit_glyph): Likewise.
18407 (grub_font_blit_glyph_mirror): Likewise.
18408 (blit_comb): Likewise.
18409 (grub_font_construct_dry_run): Likewise.
18410 (grub_font_get_constructed_device_width): Likewise.
18411 (grub_font_construct_glyph): Likewise.
18412 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18413 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18414 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18415 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18416 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18417 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18418 (grub_font_get_xheight): New proto.
18419 (grub_font_get_constructed_device_width): Likewise.
18420 (grub_font_construct_glyph): Likewise.
18421 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18422 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18423 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18424 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18425 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18426 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18427 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18428 (grub_console_getcharwidth): Likewise.
18429 * include/grub/misc.h (grub_xputs): New proto.
18430 (grub_puts): Inlined.
18431 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18432 (grub_normal_get_line_counter): Removed.
18433 (grub_install_newline_hook): Likewise.
18434 (grub_normal_get_char_counter): New proto.
18435 (grub_normal_reset_more): Likewise.
18436 (grub_xputs_normal): Likewise.
18437 * include/grub/powerpc/ieee1275/console.h: Removed.
18438 * include/grub/sparc64/ieee1275/console.h: Likewise.
18439 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18440 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18441 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18442 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18443 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18444 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18445 (grub_term_input): Pass reference to self. All users updated.
18446 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18447 Pass reference to self. New fields normal_color, highlight_color and
18448 data. All users updated.
18449 (grub_putchar): Removed.
18450 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18451 (grub_unicode_estimate_width): New function.
18452 (grub_term_getcharwidth): Add defaults.
18453 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18454 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18455 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18456 (grub_cls): Remove EXPORT_FUNC.
18457 (grub_setcolorstate): Inline.
18458 (grub_newline_hook): Removed.
18459 * include/grub/terminfo.h: Rewritten. All users updated.
18460 * include/grub/unicode.h: New file.
18461 * include/grub/video.h (grub_video_signed_rect): New type.
18462 * kern/emu/console.c (grub_console_highlight_color): Removed.
18463 (grub_console_normal_color): Likewise.
18464 (grub_console_standard_color): Made static.
18465 (grub_ncurses_putchar): Remove mapping.
18466 (grub_ncurses_getcharwidth): Removed.
18467 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18468 (grub_ncurses_setcolor): Removed.
18469 (grub_ncurses_getcolor): Likewise.
18470 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18471 (grub_console_putchar): ... this.
18472 (grub_console_putchar): Handle argument difference.
18473 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18474 console_init_early and console_init_lately.
18475 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18476 * kern/misc.c (grub_puts): Removed.
18477 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18478 (grub_vsnprintf_real): Remove str = NULL support.
18479 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18480 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18481 * kern/term.c (grub_putcode): Renamed to ...
18482 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18483 (grub_putchar): Removed.
18484 (grub_xputs_dumb): New function.
18485 (grub_xputs): New variable.
18486 * lib/charset.c: Move from here ...
18487 * normal/charset.c: ... to here.
18488 (grub_ucs4_to_utf8): New function.
18489 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18490 (join_types): New variable.
18491 (unpack_join): New function.
18492 (bidi_types): New variable.
18493 (unpack_bidi): New function.
18494 (get_bidi_type): Likewise.
18495 (get_join_type): Likewise.
18496 (is_mirrored): Likewise.
18497 (grub_unicode_get_comb_type): Likewise.
18498 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18499 (is_type_after): Likewise.
18500 (grub_unicode_aglomerate_comb): Likewise.
18501 (bidi_line_wrap): Likewise.
18502 (grub_bidi_line_logical_to_visual): Likewise.
18503 (grub_bidi_logical_to_visual): Likewise.
18504 (grub_unicode_mirror_code): Likewise.
18505 (grub_unicode_shape_code): Likewise.
18506 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18507 Don't use grub_putchar.
18508 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18509 (grub_normal_reader_init): Likewise.
18510 (grub_xputs_saved): New variable.
18511 (GRUB_MOD_INIT): Set grub_xputs.
18512 (GRUB_MOD_FINI): Restore grub_xputs.
18513 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18514 (menu_init): Avoid printing gfxmenu error.
18515 (show_menu): Use grub_normal_get_char_counter.
18516 * normal/menu_entry.c (update_screen): Fix out-of-array.
18517 (complete): Avoid NULL dereferencing.
18518 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18519 * normal/menu_text.c (print_spaces): Removed.
18520 (grub_print_ucs4): Likewise.
18521 (grub_print_message_indented): Use grub_print_ucs4.
18522 (print_message): Use grub_putcode.
18523 (print_entry): Hanlde diacritics.
18524 * normal/term.c (term_state): New type.
18525 (grub_more_lines): Removed.
18526 (term_states): New variable.
18527 (grub_normal_line_counter): Renamed to ..
18528 (grub_normal_char_counter): ...this. All users updated.
18529 (grub_normal_get_line_counter): Renamed to ...
18530 (grub_normal_get_char_counter): ... this.
18531 (grub_normal_reset_more): New function.
18532 (process_newline): Removed.
18533 (print_more): New function.
18534 (grub_install_newline_hook): Removed.
18535 (map_code): New function.
18536 (grub_puts_terminal): Use grub_print_ucs4.
18537 (putglyph): New function.
18538 (putcode_real): Likewise.
18539 (grub_putcode): Use putcode_real.
18540 (get_maxwidth): New function.
18541 (get_startwidth): Likewise.
18542 (print_ucs4_terminal): Likewise.
18543 (find_term_state): Likewise.
18544 (put_glyphs_terminal): Likewise.
18545 (print_backlog): Likewise.
18546 (print_ucs4_real): Likewise.
18547 (grub_print_ucs4): Likewise.
18548 (grub_xputs_normal): Likewise.
18549 * term/efi/console.c (grub_console_putchar): Output diacritics.
18550 (grub_console_getcharwidth): Removed.
18551 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18552 * term/gfxterm.c (clear_char): Free chars.
18553 (scroll_up): Avoid leaking memory.
18554 (grub_gfxterm_putchar): Support diacritics.
18555 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18556 * term/i386/pc/console.c (grub_console_term_output): Declare as
18557 GRUB_TERM_CODE_TYPE_VGA.
18558 * term/i386/pc/vga.c (grub_vga_term): Declare as
18559 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18560 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18561 GRUB_TERM_CODE_TYPE_VGA.
18562 * term/i386/vga_common.c (map_char): Removed.
18563 (grub_console_putchar): Likewise.
18564 (grub_console_getcharwidth): Likewise.
18565 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18566 (colors): Reordered to match terminfo.
18567 (grub_ofconsole_normal_color): Removed.
18568 (grub_ofconsole_writeesc): Likewise.
18569 (grub_ofconsole_highlight_color): Likewise.
18570 (grub_ofconsole_getcharwidth): Likewise.
18571 (grub_ofconsole_setcolorstate): Likewise.
18572 (grub_ofconsole_setcolor): Likewise.
18573 (grub_ofconsole_getcolor): Likewise.
18574 (grub_ofconsole_readkey): Renamed to ...
18575 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18576 key.
18577 (grub_ofconsole_checkkey): Removed.
18578 (grub_ofconsole_getkey): Likewise.
18579 (grub_ofconsole_getxy): Likewise.
18580 (grub_ofconsole_gotoxy): Likewise.
18581 (grub_ofconsole_cls): Likewise.
18582 (grub_ofconsole_refresh): Likewise.
18583 (grub_ofconsole_terminfo_input): New struct.
18584 (grub_ofconsole_terminfo_output): Likewise.
18585 (grub_ofconsole_term_input): Use terminfo.
18586 (grub_ofconsole_term_output): Likewise.
18587 (grub_console_init): Split into ...
18588 (grub_console_init_early): ...this and ...
18589 (grub_console_init_lately): ...this. Use terminfo.
18590 (grub_ofconsole_putchar): Renamed to ...
18591 (put): ... this. Remove mapping.
18592 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18593 * term/serial.c: Simplify using terminfo.
18594 (xpos): Removed.
18595 (ypos): Likewise.
18596 (keep_track): Likewise.
18597 (registered): Likewise.
18598 (input_buf): Likewise.
18599 (npending): Likewise.
18600 (serial_translate_key_sequence): Likewise.
18601 (fill_input_buf): Likewise.
18602 (grub_serial_checkkey): Likewise.
18603 (grub_serial_getkey): Likewise.
18604 (grub_serial_getxy): Likewise.
18605 (grub_serial_gotoxy): Likewise.
18606 (grub_serial_putchar): Likewise.
18607 (grub_serial_cls): Likewise.
18608 (grub_serial_setcolorstate): Likewise.
18609 (grub_serial_setcursor): Likewise.
18610 (serial_hw_init): Use serial_hw_fetch.
18611 (grub_serial_terminfo_input): New variable.
18612 (grub_serial_terminfo_output): Likewise.
18613 (grub_serial_term_input): Use terminfo.
18614 (grub_serial_term_output): Likewise.
18615 * term/terminfo.c (putstr): Use put.
18616 (grub_terminfo_all_free): New function
18617 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18618 (grub_terminfo_output_register): New function.
18619 (grub_terminfo_output_unregister): Likewise.
18620 (grub_terminfo_getxy): Likewise.
18621 (grub_terminfo_readkey): Likewise.
18622 (grub_terminfo_checkkey): Likewise.
18623 (grub_terminfo_getkey): Likewise.
18624 (grub_terminfo_input_init): Likewise.
18625 (print_terminfo): Likewise.
18626 (grub_cmd_terminfo): Handle encoding.
18627 (grub_terminfo_gotoxy): Track position.
18628 (grub_terminfo_cls): Likewise.
18629 (grub_terminfo_putchar): Likewise.
18630 (grub_terminfo_setcolorstate): Handle colors
18631 (grub_terminfo_cursor_on): This ...
18632 (grub_terminfo_cursor_off): ... and this merged into ...
18633 (grub_terminfo_setcursor): ... this.
18634 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18635 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18636 * unicode/BidiMirroring.txt: Likewise.
18637 * unicode/UnicodeData.txt: Likewise.
18638 * unicode/COPYING: Likewise.
18639 * util/grub-editenv.c (grub_putchar): Removed.
18640 (grub_xputs_real): New function.
18641 (grub_xputs): New variable.
18642 * util/grub-fstest.c (grub_putchar): Removed.
18643 (grub_xputs_real): New function.
18644 (grub_xputs): New variable.
18645 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18646 (grub_xputs_real): New function.
18647 (grub_xputs): New variable.
18648 * util/grub-probe.c (grub_putchar): Removed.
18649 (grub_xputs_real): New function.
18650 (grub_xputs): New variable.
18651 * util/grub-script-check.c (grub_putchar): Removed.
18652 (grub_xputs_real): New function.
18653 (grub_xputs): New variable.
18654 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18655 (grub_xputs_real): New function.
18656 (grub_xputs): New variable.
18657 * util/import_unicode.py: New file.
18658 * util/grub-mkfont.c (ft_errmsgs): New array.
18659 (grub_glyph_info): Make bitmap a pointer.
18660 (file_formats): New type WIDTH_SPEC.
18661 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18662 (options): Add width-spec.
18663 (help): Likewise.
18664 (add_char): Renamed to ...
18665 (add_glyph): ... this.
18666 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18667 (glyph_replace): New type.
18668 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18669 (add_char): New function.
18670 (add_subst): Likewise.
18671 (process_cursive): Likewise.
18672 (add_font): Handle GSUB.
18673 (write_font_width_spec): New function.
18674 (main): Sort glyphs.
18675 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18676 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18677 * kern/term.c (grub_cls): Moved from here...
18678 * normal/term.c (grub_cls): ... here.
18679
50f0bcda
CW
186802010-07-02 Colin Watson <cjwatson@ubuntu.com>
18681
18682 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18683 suitable for using within the format argument of printf when
18684 converting grub_size_t.
18685 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18686 "x" to convert grub_size_t arguments.
18687
40372103
VS
186882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18691 too long captions.
18692 (list_get_minimal_size): Take selection box into account.
18693
942a10c7
VS
186942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18697 NULL font.
18698
2bdb2892
CW
186992010-07-02 Colin Watson <cjwatson@ubuntu.com>
18700
18701 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18702 devices when iterating over /dev/disk/by-id; they will be handled
18703 later if appropriate, which they aren't always (e.g. LVM).
18704
e03ed6c1
CW
187052010-07-02 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18708 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18709 fails.
18710 (grub_halt): Likewise.
18711 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18712 reset-all fails.
18713 (grub_halt): Don't return, even if all of shut-down, power-off, and
18714 poweroff fail.
18715
47695765
CW
187162010-07-02 Colin Watson <cjwatson@ubuntu.com>
18717
18718 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18719 arguments, not three.
18720
507736c8
CW
187212010-07-02 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18724 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18725 LVM-on-RAID is handled correctly.
18726
e3c8cd37
CW
187272010-07-02 Colin Watson <cjwatson@ubuntu.com>
18728
18729 * docs/grub.texi (Changes from GRUB Legacy): New section.
18730 (Future): Fix typo.
18731
8d4a2fec
CW
187322010-07-02 Colin Watson <cjwatson@ubuntu.com>
18733
18734 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18735 grub.d/README accidentally ends up executable for one reason or
18736 another. Ignore it.
18737
1c4827be
VS
187382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18741 (gpt_partition_map_iterate): Support non-512B sectors.
18742
d9a0c941
VS
187432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18746 Tested by: Seth Goldberg.
18747
48f27e87
VS
187482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18751 Properly align mbi.
18752 Reported by: Seth Goldberg.
18753
b0c4f956
VS
187542010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * util/grub-mkrescue.in: Avoid module duplication.
18757
105a2e8c
SF
187582010-07-01 Sean Finney <seanius@seanius.net>
18759
18760 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18761
5944958c
SF
187622010-07-01 Sean Finney <seanius@seanius.net>
18763
18764 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18765
187662010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * disk/lvm.c (grub_lvm_checkvalue): New function.
18769 (grub_lvm_check_flag): Likewise.
18770
b79889ba
RM
187712010-07-01 Robert Millan <rmh@gnu.org>
18772
18773 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18774 Support 'p' as partition separator on kernel of FreeBSD (used
18775 with GPT labels).
18776 (grub_util_biosdisk_get_grub_dev): Likewise.
18777
ec1d04f1
VS
187782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 Yeeloong firmware port.
18781
18782 * boot/mips/yeeloong/fwstart.S: New file.
18783 * bus/cs5536.c (gpiodump): New const.
18784 (set_io_space): New function.
18785 (set_iod): Likewise.
18786 (set_p2d): Likewise.
18787 (grub_cs5536_init_geode): Likewise.
18788 * commands/mips/yeeloong/lsspd.c: New file.
18789 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18790 (serial_mod_SOURCES): New variable.
18791 (serial_mod_CFLAGS): Likewise.
18792 (serial_mod_LDFLAGS): Likewise.
18793 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18794 term/terminfo.c and term/tparm.c.
18795 (pkglib_IMAGES): Add fwstart.img.
18796 (fwstart_img_SOURCES): New variable.
18797 (fwstart_img_CFLAGS): Likewise.
18798 (fwstart_img_ASFLAGS): Likewise.
18799 (fwstart_img_LDFLAGS): Likewise.
18800 (fwstart_img_FORMAT): Likewise.
18801 (pkglib_MODULES): Add lsspd.mod.
18802 (lsspd_mod_SOURCES): New variable.
18803 (lsspd_mod_CFLAGS): Likewise.
18804 (lsspd_mod_LDFLAGS): Likewise.
18805 (pkglib_MODULES): Add halt.mod.
18806 (halt_mod_SOURCES): New variable.
18807 (halt_mod_CFLAGS): Likewise.
18808 (halt_mod_LDFLAGS): Likewise.
18809 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18810 (serial_mod_SOURCES): Removed.
18811 (serial_mod_CFLAGS): Likewise.
18812 (serial_mod_LDFLAGS): Likewise.
18813 * disk/ata.c (check_device): New function.
18814 (grub_ata_device_initialize): Use check_device.
18815 (grub_ata_iterate): Recheck devices.
18816 (grub_ata_open): Likewise.
18817 (grub_atapi_iterate): Likewise.
18818 (grub_atapi_open): Likewise.
18819 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18820 (GRUB_ATA_CH1_PORT1): Likewise.
18821 (GRUB_ATA_CH0_PORT2): Likewise.
18822 (GRUB_ATA_CH1_PORT2): Likewise.
18823 * include/grub/mips/loongson.h: New file.
18824 * include/grub/mips/yeeloong/ec.h: Likewise.
18825 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18826 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18827 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18828 * include/grub/misc.h (grub_halt): Declare as noreturn.
18829 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18830 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18831 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18832 (UART_ENABLE_DTRRTS): Likewise.
18833 (UART_ENABLE_MODEM): Removed.
18834 (UART_ENABLE_OUT2): New const.
18835 * include/grub/term.h (grub_term_register_input_active): New function.
18836 (grub_term_register_output_active): Likewise.
18837 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18838 argument.
18839 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18840 (init_pci): New function.
18841 (grub_machine_init): Execute platform init when firmware. Init serial.
18842 (grub_halt): Implement.
18843 (grub_exit): Likewise.
18844 (grub_reboot): Likewise.
18845 * term/serial.c (serial_hw_init): Update macros.
18846 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18847 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18848 (image_targets): New target mipsel-yeeloong-flash.
18849 (generate_image): Support IMAGE_YEELOONG_FLASH.
18850 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18851 (grub_video_sm712_setup): Init card.
18852 (grub_video_sm712_set_palette): Removed.
18853 * video/sm712_init.c: New file.
18854
ff4a70d2
CW
188552010-06-30 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18858 PATH when running help2man and then run it on the unadorned
18859 executable names, rather than passing $(builddir)/* paths to
18860 help2man. This avoids the build directory ending up in generated
18861 manual pages.
18862
1246efeb
CW
188632010-06-29 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18866 to avoid accidents when debugging with 'sh -x'.
18867 * util/grub-mkrescue.in: Likewise.
18868 * util/grub.d/00_header.in: Likewise.
18869 * util/grub.d/10_hurd.in: Likewise.
18870 * util/grub.d/10_kfreebsd.in: Likewise.
18871 * util/grub.d/10_linux.in: Likewise.
18872 * util/grub.d/10_netbsd.in: Likewise.
18873 * util/grub.d/10_windows.in: Likewise.
18874 * util/grub.d/20_linux_xen.in: Likewise.
18875 * util/grub.d/30_os-prober.in: Likewise.
18876 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18877
1ba9b889
CW
188782010-06-29 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18881 last character in the buffer.
18882 Reported by: Vladimir Serbinenko.
18883
dccaf99d
RM
188842010-06-29 Robert Millan <rmh@gnu.org>
18885
18886 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18887 (Command-line and menu entry commands): Document `badram' command.
18888
d500ed12
RM
188892010-06-28 Robert Millan <rmh@gnu.org>
18890
18891 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18892 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18893 command using ${GRUB_BADRAM} as parameter.
18894
20bc84a6
CW
188952010-06-28 Colin Watson <cjwatson@ubuntu.com>
18896
18897 * docs/grub.texi (Device map): New section.
18898 (Themes): New section (stub).
18899 * Makefile.in (docs/grub.info): The info documentation now builds
18900 without errors. Make sure it stays that way.
18901
4045dee1
VS
189022010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 Use normal parser for menu entries.
18905 Reported by: Thomas Frauendorfer
18906
18907 * include/grub/parser.h (grub_parser_execute): Don't export.
18908 * normal/menu.c (grub_menu_execute_entry_real): New function.
18909 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18910
bca58c7b
CW
189112010-06-28 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * docs/grub.texi (Embedded configuration): New section (replacing
18914 old "Preset Menu" stub).
18915 (Images): New section.
18916 (configfile): Note that any menu entries defined in `file' are shown
18917 immediately.
18918
dec53e63
JT
189192010-06-28 Josh Triplett <josh@joshtriplett.org>
18920
18921 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18922
c06e40f7
CW
189232010-06-28 Colin Watson <cjwatson@ubuntu.com>
18924
18925 * util/grub-install.in: Add --debug-image= option.
18926
cb88052b
CW
189272010-06-28 Colin Watson <cjwatson@ubuntu.com>
18928
18929 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18930 possible on Linux.
18931
18932 * util/deviceiter.c (check_device): Rename to ...
18933 (check_device_readable_unique): ... this. Update all callers.
18934 Maintain and check a list of which devices (by canonicalized name)
18935 have already been seen.
18936 (clear_seen_devices): New function.
18937 (compare_file_names) [__linux__]: New function.
18938 (grub_util_iterate_devices): Clear the list of seen devices on exit
18939 and (just in case) on entry.
18940 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18941 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18942 seen-devices list, superseded by general code in check_device.
18943
bbe34652
CW
189442010-06-28 Colin Watson <cjwatson@ubuntu.com>
18945
18946 * commands/cat.c (options): New variable.
18947 (grub_cmd_cat): Parse options. If the --dos option is given, print
18948 DOS-style "\r\n" line endings as simple newlines (Debian bug
18949 #586358).
18950 (GRUB_MOD_INIT): Use extcmd.
18951 (GRUB_MOD_FINI): Likewise.
18952 * docs/grub.texi (cat): Document --dos.
18953
412e09f3
VS
189542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 XEN with Linux grub-mkconfig support.
18957
18958 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18959 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18960 GRUB_CMDLINE_XEN_DEFAULT.
18961 * util/grub.d/20_linux_xen.in: New file.
18962
53f3ef38 189632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18964
18965 Initialise VGA video on qemu ourselves.
18966
18967 * boot/i386/qemu/boot.S: Don't call 0xc000.
18968 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18969 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18970 (kernel_img_HEADERS): Add pci.h.
18971 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18972 * configure.ac: Force unifont on qemu and yeeloong.
18973 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18974 (grub_vga_palette_write): Use correct register.
18975 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18976 Call grub_qemu_init_cirrus.
18977 * kern/i386/qemu/init.c: New file.
18978 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18979
18980 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18981
c75be4fb
PR
189822010-06-26 Pavel Roskin <proski@gnu.org>
18983
18984 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18985 13.
18986
d8034603
CW
189872010-06-26 Colin Watson <cjwatson@ubuntu.com>
18988
18989 * docs/grub.texi (Simple configuration): Explain that
18990 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18991 set to `true' to disable their respective recovery entries, not
18992 merely set.
18993
3fa06487
CW
189942010-06-26 Colin Watson <cjwatson@ubuntu.com>
18995
18996 Make the `source' command slightly faster.
18997
18998 * normal/main.c (grub_normal_execute): Don't re-read list files when
18999 nested.
19000
e9b29642
CW
190012010-06-23 Colin Watson <cjwatson@ubuntu.com>
19002
19003 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19004 field position and mask size to red fields from mode_info, not
19005 green.
19006 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19007 Remove redundant tag->common.framebuffer_type assignment.
19008 Reported by: Seth Goldberg.
19009
e726542f
CW
190102010-06-23 Colin Watson <cjwatson@ubuntu.com>
19011
19012 Sync up other versions of the Linux loader with Robert Millan's
19013 change of 2010-01-09, "Make loader output a bit more user-friendly".
19014
19015 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19016 grub_dprintf().
19017 (grub_cmd_linux): Likewise.
19018 (grub_cmd_initrd): Likewise.
19019 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19020 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19021
d6e98a17
CW
190222010-06-21 Colin Watson <cjwatson@ubuntu.com>
19023
19024 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19025 larger than MEMORY_MAP_SIZE.
19026
14d3f08e
BC
190272010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19028
19029 Fix parallel build.
19030
19031 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19032 dependency.
19033 * script/parser.y: #include grub_script.tab.h header.
19034
4f9613a3
VS
190352010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 Support >3GiB and <16MiB RAM in i386-qemu.
19038
19039 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19040 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19041 (grub_lower_mem): Removed.
19042 (grub_upper_mem): Likewise.
19043 (mem_size): Made static.
19044 (above_4g): New variable.
19045 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19046 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19047 support.
19048
05e51879
VS
190492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 Cirrus 5446 and Bochs video cards support.
19052
19053 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19054 video_bochs.mod
19055 (video_cirrus_mod_SOURCES): New variable.
19056 (video_cirrus_mod_CFLAGS): Likewise.
19057 (video_cirrus_mod_LDFLAGS): Likewise.
19058 (video_bochs_mod_SOURCES): Likewise.
19059 (video_bochs_mod_CFLAGS): Likewise.
19060 (video_bochs_mod_LDFLAGS): Likewise.
19061 * include/grub/vga.h: New file.
19062 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19063 (grub_video_fb_set_page_t): New type.
19064 (grub_video_fb_setup): New prototype.
19065 (grub_video_fb_swap_buffers): Likewise.
19066 (grub_video_fb_get_info_and_fini): Likewise.
19067 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19068 (CRTC_DATA_PORT): Likewise.
19069 (CRTC_CURSOR): Likewise.
19070 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19071 (CRTC_CURSOR_ADDR_LOW): Likewise.
19072 (CRTC_CURSOR_DISABLE): Likewise.
19073 (update_cursor): Use grub_vga_cr_write.
19074 (grub_vga_text_setcursor): Likewise.
19075 * video/bochs.c: New file.
19076 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19077 (palette): Likewise.
19078 (palette_size): Likewise.
19079 (framebuffer): New variable.
19080 (grub_video_fb_init): Use 'framebuffer'.
19081 (grub_video_fb_fini): Likewise.
19082 (grub_video_fb_get_info): Likewise.
19083 (grub_video_fb_get_palette): Likewise.
19084 (grub_video_fb_set_palette): Likewise.
19085 (grub_video_fb_set_viewport): Likewise.
19086 (grub_video_fb_get_viewport): Likewise.
19087 (grub_video_fb_map_color): Likewise.
19088 (grub_video_fb_map_rgb): Likewise.
19089 (grub_video_fb_map_rgba): Likewise.
19090 (grub_video_fb_unmap_color): Likewise.
19091 (grub_video_fb_unmap_color_int): Likewise.
19092 (grub_video_fb_fill_rect): Likewise.
19093 (grub_video_fb_blit_bitmap): Likewise.
19094 (grub_video_fb_blit_render_target): Likewise.
19095 (grub_video_fb_scroll): Likewise.
19096 (grub_video_fb_create_render_target): Likewise.
19097 (grub_video_fb_doublebuf_blit_init): Likewise.
19098 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19099 (doublebuf_pageflipping_update_screen): New function.
19100 (doublebuf_pageflipping_init): Likewise.
19101 (grub_video_fb_setup): Likewise.
19102 (grub_video_fb_swap_buffers): Likewise.
19103 (grub_video_fb_get_info_and_fini): Likewise.
19104 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19105 All users updated.
19106 (doublebuf_pageflipping_commit): Restructured into ...
19107 (doublebuf_pageflipping_set_page): ... this.
19108 (doublebuf_pageflipping_update_screen): Removed.
19109 (doublebuf_pageflipping_init): Likewise.
19110 (double_buffering_init): Likewise.
19111 (grub_video_vbe_setup): Use grub_video_fb_setup.
19112 (grub_video_vbe_swap_buffers): Removed.
19113 (grub_video_vbe_set_active_render_target): Likewise.
19114 (grub_video_vbe_get_active_render_target): Likewise.
19115 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19116 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19117 grub_video_fb_set_active_render_target and
19118 grub_video_fb_get_active_render_target.
19119 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19120 (SEQUENCER_DATA_PORT): Likewise.
19121 (MAP_MASK_REGISTER): Likewise.
19122 (CRTC_ADDR_PORT): Likewise.
19123 (CRTC_DATA_PORT): Likewise.
19124 (START_ADDR_HIGH_REGISTER): Likewise.
19125 (START_ADDR_LOW_REGISTER): Likewise.
19126 (GRAPHICS_ADDR_PORT): Likewise.
19127 (GRAPHICS_DATA_PORT): Likewise.
19128 (READ_MAP_REGISTER): Likewise.
19129 (INPUT_STATUS1_REGISTER): Likewise.
19130 (INPUT_STATUS1_VERTR_BIT): Likewise.
19131 (get_map_mask): Use grub_vga_sr_read.
19132 (set_map_mask): Use grub_vga_sr_write.
19133 (set_read_map): Use grub_vga_gr_write.
19134 (set_start_address): Use grub_vga_cr_write.
19135 * video/sm712.c (framebuffer): Remove leftover fields.
19136
4321c64a
CW
191372010-06-20 Colin Watson <cjwatson@ubuntu.com>
19138
19139 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19140 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19141 instead. Replace the gfxterm backend check with a check that
19142 ${GRUB_PREFIX}/video.lst is non-empty.
19143 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19144 again.
19145 (load_video): New generated function. Call it before loading
19146 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19147 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19148 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19149 * docs/grub.texi (Simple configuration): Document
19150 GRUB_VIDEO_BACKEND.
19151
191522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 Use video functions in linux and xnu loaders.
19155
19156 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19157 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19158 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19159 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19160 loader/i386/pc/linux.c.
19161 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19162 (find_line_len): Removed.
19163 (find_framebuf): Likewise.
19164 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19165 * loader/i386/efi/xnu.c: Removed.
19166 * loader/i386/pc/xnu.c: Moved from here...
19167 * loader/i386/xnu.c: ...here.
19168
19169 Enable priorities in video drivers.
19170
19171 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19172 (grub_video_adapter): New field prio.
19173 (grub_video_register): Respect prio when inserting.
19174 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19175 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19176 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19177 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19178 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19179 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19180 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19181
19182 Fix SDL driver ID.
19183
19184 * include/grub/video.h (grub_video_driver_id_t): New value
19185 GRUB_VIDEO_DRIVER_SDL.
19186 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19187
7d24e434
CW
191882010-06-17 Colin Watson <cjwatson@ubuntu.com>
19189
19190 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19191 argument to printf.
19192 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19193
c88a83f6
CW
191942010-06-17 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19197 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19198
094dfb69
CW
191992010-06-17 Colin Watson <cjwatson@ubuntu.com>
19200
19201 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19202 directly, and recommend grub-install instead.
19203 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19204
2164da6b
CW
192052010-06-17 Colin Watson <cjwatson@ubuntu.com>
19206
19207 Fix i386-pc prefix handling with nested partitions (Debian bug
19208 #585068). Note that the case where the core image is booted using
19209 multiboot and relocated from its original location still requires
19210 more work.
19211
19212 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19213 with "(,", fill the boot drive in between those two characters, but
19214 expect that a full partition specification including partition map
19215 names will follow.
19216 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19217 specified, write a prefix without the drive name but including a
19218 full partition specification.
19219
044e2e60
CW
192202010-06-16 Colin Watson <cjwatson@ubuntu.com>
19221
19222 * util/grub-mkconfig.in: Ignore non-option arguments, for
19223 compatibility with older versions (before 2010-06-12) which did the
19224 same. In particular, this makes it easier to ship an update-grub
19225 wrapper which is compatible with that used with GRUB Legacy (Debian
19226 bug #586056).
19227
5591324f
GS
192282010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19229
19230 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19231 for manual page generation.
19232
662e24d5
GS
192332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19234
19235 * po/POTFILES: Remove leftover commands/handler.c.
19236
8d70754e
CW
192372010-06-14 Colin Watson <cjwatson@ubuntu.com>
19238
19239 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19240 left this script non-functional.
19241
41160e2e
CW
192422010-06-14 Colin Watson <cjwatson@ubuntu.com>
19243
19244 * docs/man/grub-emu.h2m: New file.
19245
b5309cc1
CW
192462010-06-13 Colin Watson <cjwatson@ubuntu.com>
19247
19248 * docs/grub.texi (Commands): Document reduced command set in rescue
19249 mode.
19250 (cpuid): New section.
19251
fcb2d090
GS
192522010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19253
19254 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19255 new partition naming style.
19256 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19257
96e5c556
BC
192582010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19259
19260 Add "-o grub.iso" like cmdline options support.
19261
19262 * util/grub-install.in: Improve cmdline option parsing.
19263 * util/grub-mkconfig.in: Likewise.
19264 * util/grub-mkrescue.in: Likewise.
19265 * util/grub-reboot.in: Likewise.
19266 * util/grub-set-default.in: Likewise.
19267 * util/i386/efi/grub-install.in: Likewise.
19268 * util/ieee1275/grub-install.in: Likewise.
19269 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19270
c16be99b
CW
192712010-06-12 Colin Watson <cjwatson@ubuntu.com>
19272
19273 * .bzrignore: Ignore 41_custom.
19274
ce08a9fb
TS
192752010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19276
19277 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19278
7beac90c
CW
192792010-06-12 Colin Watson <cjwatson@ubuntu.com>
19280
19281 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19282 prototype declarations.
19283
19284 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19285 generating fs, partmap, and video lists.
19286 * include/grub/fs.h (grub_fs_register): Omit prototype if
19287 GRUB_LST_GENERATOR is defined.
19288 * include/grub/partition.h (grub_partition_map_register): Likewise.
19289 * include/grub/video.h (grub_video_register): Likewise.
19290
1c8f0f8d
JM
192912010-06-12 Javier Martín <lordhabbit@gmail.com>
19292
19293 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19294
a6085973
TS
192952010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19296
19297 * util/grub-mkrescue.in: Support --xorriso argument.
19298
25c56d29
VS
192992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19302 Suggested by: Thomas Schmitt.
19303
e03e4b24
VS
193042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19307 Suggested by: Thomas Schmitt.
19308
57711df6
VS
193092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 custom.cfg support.
19312
19313 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19314 * util/grub.d/41_custom.in: New file.
19315
ee62c427
CW
193162010-06-12 Colin Watson <cjwatson@ubuntu.com>
19317
19318 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19319 been merged back into normal.
19320
283af07a
CW
193212010-06-11 Colin Watson <cjwatson@ubuntu.com>
19322
19323 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19324 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19325
56a0d956
CW
193262010-06-11 Colin Watson <cjwatson@ubuntu.com>
19327
19328 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19329 when generating manual pages.
19330 * docs/man/grub-bin2h.h2m: New file.
19331 * docs/man/grub-editenv.h2m: New file.
19332 * docs/man/grub-fstest.h2m: New file.
19333 * docs/man/grub-install.h2m: New file.
19334 * docs/man/grub-macho2img.h2m: New file.
19335 * docs/man/grub-mkconfig.h2m: New file.
19336 * docs/man/grub-mkdevicemap.h2m: New file.
19337 * docs/man/grub-mkfont.h2m: New file.
19338 * docs/man/grub-mkimage.h2m: New file.
19339 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19340 * docs/man/grub-mkrelpath.h2m: New file.
19341 * docs/man/grub-mkrescue.h2m: New file.
19342 * docs/man/grub-ofpathname.h2m: New file.
19343 * docs/man/grub-pe2elf.h2m: New file.
19344 * docs/man/grub-probe.h2m: New file.
19345 * docs/man/grub-reboot.h2m: New file.
19346 * docs/man/grub-script-check.h2m: New file.
19347 * docs/man/grub-set-default.h2m: New file.
19348 * docs/man/grub-setup.h2m: New file.
19349
3a37e322
VS
193502010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 Use FOR_* macros instead of *_iterate whenever possible.
19353
19354 * commands/handler.c: Removed.
19355 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19356 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19357 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19358 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19359 (grub_probe_SOURCES): Remove kern/parser.c.
19360 (util/grub-script-check.c_DEPENDENCIES): Removed.
19361 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19362 and grub_script_check_init.c.
19363 (grub_script_check_init.lst): Removed.
19364 (grub_script_check_init.h): Likewise.
19365 (grub_script_check_init.c): Likewise.
19366 (pkglib_MODULES): Remove handler.mod and sh.mod.
19367 (handler_mod_SOURCES): Removed.
19368 (handler_mod_CFLAGS): Likewise.
19369 (handler_mod_LDFLAGS): Likewise.
19370 (normal_mod_SOURCES): Remove normal/handler.c.
19371 Add script/main.c, script/script.c, script/execute.c,
19372 script/function.c, script/lexer.c, grub_script.tab.c
19373 and grub_script.yy.c.
19374 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19375 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19376 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19377 (grub_setup_SOURCES): Remove kern/parser.c.
19378 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19379 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19380 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19381 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19382 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19383 (grub_setup_SOURCES): Remove kern/parser.c.
19384 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19385 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19386 * include/grub/command.h (grub_command_iterate): Removed.
19387 (FOR_COMMANDS): New macro.
19388 * include/grub/dl.h (grub_dl): New member next.
19389 (grub_dl_iterate): Removed.
19390 (grub_dl_head): New variable declaration.
19391 (FOR_DL_MODULES): New macro.
19392 * include/grub/fs.h: Include list.h.
19393 (grub_fs): Make next first element.
19394 (grub_fs_list): New variable declaration.
19395 (grub_fs_register): Make inline.
19396 (grub_fs_unregister): Likewise.
19397 (grub_fs_iterate): Removed.
19398 (FOR_FILESYSTEMS): New macro.
19399 * include/grub/handler.h: Removed.
19400 * include/grub/list.h (grub_list_hook_t): Removed.
19401 (grub_list_test_t): Likewise.
19402 (grub_list_pop): Likewise.
19403 (grub_list_iterate): Likewise.
19404 (grub_list_insert): Likewise.
19405 (FOR_LIST_ELEMENTS): New macro.
19406 * include/grub/parser.h (grub_parser_class): Removed.
19407 (grub_parser_register): Likewise.
19408 (grub_parser_unregister): Likewise.
19409 (grub_parser_get_current): Likewise.
19410 (grub_parser_set_current): Likewise.
19411 (grub_register_rescue_parser): Likewise.
19412 (grub_rescue_parse_line): New function.
19413 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19414 * include/grub/script_sh.h (grub_script_function_list): New variable
19415 declaration.
19416 (FOR_SCRIPT_FUNCTIONS): New macro.
19417 (grub_script_function_iterate): Removed.
19418 (grub_normal_parse_line): New prototype.
19419 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19420 (FOR_DISABLED_TERM_INPUTS): Likewise.
19421 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19422 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19423 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19424 element.
19425 (grub_video_register): Inline.
19426 (grub_video_unregister): Likewise.
19427 (grub_video_adapter_list): New variable declaration.
19428 (grub_video_iterate): Removed.
19429 (FOR_VIDEO_ADAPTERS): New macro.
19430 * kern/dl.c (grub_dl_list): Removed. All users updated.
19431 (grub_dl_iterate): Removed.
19432 * kern/fs.c (grub_fs_list): Make global.
19433 (grub_fs_register): Removed.
19434 (grub_fs_unregister): Likewise.
19435 (grub_fs_iterate): Likewise.
19436 * kern/handler.c: Removed.
19437 * kern/list.c (grub_list_pop): Removed.
19438 (grub_list_iterate): Likewise.
19439 (grub_list_insert): Likewise.
19440 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19441 (grub_prio_list_insert): Don't use grub_list_insert.
19442 * kern/main.c (grub_register_rescue_parser): Don't call
19443 grub_register_rescue_parser.
19444 * kern/parser.c (grub_parser_class): Removed.
19445 (grub_parser_execute): Use grub_rescue_parse_line.
19446 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19447 (grub_rescue_parser): Removed.
19448 (grub_register_rescue_parser): Likewise.
19449 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19450 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19451 (grub_auth_check_authentication): Likewise.
19452 * normal/completion.c (iterate_command): Removed.
19453 (grub_normal_do_completion): Use FOR_COMMANDS.
19454 * normal/handler.c: Removed.
19455 * normal/main.c (read_config_file): Remove parser changing.
19456 (grub_normal_execute): Don't call read_handler_list.
19457 (grub_normal_read_line_real): Statically allocate prompt.
19458 (grub_cmdline_run): Use grub_normal_parse_line.
19459 (GRUB_MOD_FINI): Don't call free_handler_list.
19460 * normal/menu_entry.c (run): Likewise.
19461 * script/function.c (grub_script_function_list): Make global.
19462 (grub_script_function_iterate): Removed.
19463 * script/main.c (grub_normal_parse_line): Make global.
19464 (grub_sh_parser): Removed.
19465 (GRUB_MOD_INIT): Likewise.
19466 (GRUB_MOD_FINI): Likewise.
19467 * tests/lib/functional_test.c (grub_functional_test): Use
19468 FOR_LIST_ELEMENTS.
19469 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19470 (grub_test_run): Use FOR_LIST_ELEMENTS.
19471 * tests/lib/unit_test.c (main): Likewise.
19472 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19473 grub_list_pop.
19474 * util/grub-fstest.c (grub_term_input_class): Removed.
19475 (grub_term_output_class): Likewise.
19476 * util/grub-probe.c: Likewise.
19477 * util/i386/pc/grub-setup.c: Likewise.
19478 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19479 * util/grub-script-check.c (main): Don't call grub_init_all and
19480 grub_fini_all.
19481 * video/video.c (grub_video_adapter_list): Make global.
19482 (grub_video_register): Removed.
19483 (grub_video_unregister): Likewise.
19484 (grub_video_iterate): Likewise.
19485
6289c3a7
VS
194862010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19489 reported by Henrique Ferreiro.
19490
91460247
RM
194912010-06-09 Robert Millan <rmh@gnu.org>
19492
19493 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19494 ones, when both are available.
19495
0ea7c4f9
GS
194962010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19497
19498 Make --version uniform and avoid hard-coded program name.
19499
19500 * util/grub-mkimage.c (main): Use `program_name' instead of
19501 hard-coded string.
19502 * util/i386/pc/grub-setup.c (main): Likewise.
19503 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19504 * util/grub-install.in: Save the basename of $0 in $self, and use the
19505 latter in informational messages. Use the same format for --version
19506 as the binary programs.
19507 * util/grub-mkconfig.in: Likewise.
19508 * util/grub-mkrescue.in: Likewise.
19509 * util/grub-reboot.in: Likewise.
19510 * util/grub-set-default.in: Likewise.
19511 * util/i386/efi/grub-install.in: Likewise.
19512 * util/ieee1275/grub-install.in: Likewise.
19513 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19514
e8a6f3b6
GS
195152010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19516
19517 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19518 embedding area. Use <= instead of == when checking for non-emptiness.
19519
f4d095d7
GS
195202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19521
19522 * configure.ac: Add `.' to the directories searched for unifont.
19523
50e532ca
CW
195242010-06-08 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19527 grub_script.yy.h.
19528
d39f3dec
CW
195292010-06-08 Colin Watson <cjwatson@ubuntu.com>
19530
19531 * docs/grub.texi (History): Expand to cover GRUB 2.
19532 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19533 commands, not `terminal'.
19534 (serial): Likewise.
19535 (terminal_input): New section.
19536 (terminal_output): New section.
19537 (uppermem): New section (stub).
19538 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19539
6ef0ddb4
CW
195402010-06-08 Colin Watson <cjwatson@ubuntu.com>
19541
19542 * docs/grub.texi (Security): Menu entries are unrestricted by
19543 default, not restricted to superusers as I had previously thought.
19544 Reword to account for this.
19545
e0f4c438
CW
195462010-06-07 Colin Watson <cjwatson@ubuntu.com>
19547
19548 * kern/emu/misc.c (device_mapper_null_log): New function.
19549 (grub_device_mapper_supported): New function.
19550 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19551 prototype.
19552 * kern/emu/hostdisk.c (find_partition_start): Check whether
19553 device-mapper is supported before trying to use it.
19554 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19555
da908200
CW
195562010-06-07 Colin Watson <cjwatson@ubuntu.com>
19557
19558 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19559 (File name syntax): Likewise.
19560 (help): --all is no longer supported in GRUB 2. Be more precise
19561 about pattern matching.
19562
fb55c3ac
CW
195632010-06-07 Colin Watson <cjwatson@ubuntu.com>
19564
19565 * normal/completion.c (grub_normal_do_completion): When completing
19566 arguments to "set" and the current word contains an equals sign,
19567 skip to after the equals sign before starting completion.
19568
258c2573
CW
195692010-06-07 Colin Watson <cjwatson@ubuntu.com>
19570
19571 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19572
ee75515e
CW
195732010-06-07 Colin Watson <cjwatson@ubuntu.com>
19574
19575 * docs/grub.texi (Network): New section.
19576 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19577 `(nd)' as in GRUB Legacy.
19578 (pxe_unload): New section.
19579
a6a700aa
CW
195802010-06-07 Colin Watson <cjwatson@ubuntu.com>
19581
19582 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19583 in the rescue shell, so recommend using `set' instead. Thanks,
19584 Jordan Uggla.
19585
4003dd38
CW
195862010-06-07 Colin Watson <cjwatson@ubuntu.com>
19587
19588 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19589 (password): New section.
19590 (password_pbkdf2): New section.
19591 (search): New section.
19592 (Security): New section.
19593 (Troubleshooting): New section, currently very incomplete.
19594 (Invoking grub-mkpasswd-pbkdf2): New section.
19595 (Internals): New section, currently very incomplete.
19596
e1cbcc40
CW
195972010-06-07 Colin Watson <cjwatson@ubuntu.com>
19598
19599 * util/grub.d/00_header.in: Add some more quoting (of
19600 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19601 work again.
19602 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19603
db8fa1ad
CW
196042010-06-07 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19607 to `count', fixing variable shadowing that broke the -c option.
19608
196092010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19610
19611 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19612 in case they contain spaces.
19613
f28a9212
CW
196142010-06-04 Colin Watson <cjwatson@ubuntu.com>
19615
19616 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19617 "part_" to partmap module names, in line with grub-install.
19618 Reported by: Jindřich Makovička (Debian bug #584426).
19619
9cdfe32f
CW
196202010-06-04 Colin Watson <cjwatson@ubuntu.com>
19621
19622 * util/grub-mkimage.c: Make target-related error messages slightly
19623 more helpful; -O talks about "format". Explicitly point to the use
19624 of -O if no target is specified.
19625 Reported by: Didier Raboud (Debian bug #584415).
19626
795b593a
CW
196272010-06-03 Colin Watson <cjwatson@ubuntu.com>
19628
19629 * INSTALL: Document several build requirements for optional features
19630 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19631
9d9b5833
GS
196322010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19633
19634 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19635 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19636 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19637
0819fec8
CW
196382010-06-02 Colin Watson <cjwatson@ubuntu.com>
19639
19640 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19641 Thanks to Jordan Uggla for spotting this.
19642
49396b4f
VS
196432010-06-02 Aleš Nesrsta <starous@volny.cz>
19644
19645 Finally make USB usable.
19646
19647 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19648 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19649 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19650 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19651 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19652 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19653 (GRUB_OHCI_FSMPS): Likewise.
19654 (GRUB_OHCI_PERIODIC_START): Likewise.
19655 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19656 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19657 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19658 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19659 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19660 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19661 (grub_ohci_transaction): Likewise.
19662 (grub_ohci_transfer): Improve condition detection algorithms.
19663 Handle toggle property. Program the transactions correctly.
19664 Improve error handling. Various important fixups.
19665 (grub_ohci_portstatus): Put register writes in right order.
19666 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19667 (grub_uhci_transfer): Don't show "failed" message on success.
19668 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19669 array.
19670 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19671 determine its size.
19672 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19673 before initialization is completed. Use IN direction for empty
19674 transfers. Use last_trans and compute toggle.
19675 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19676 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19677 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19678 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19679 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19680 (grub_usb_device): Increase toggle to 256.
19681 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19682 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19683 GRUB_USBMS_SUBCLASS_SFF8070.
19684 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19685 (grub_scsi_inquiry): New member page and alloc_length.
19686 (grub_scsi_request_sense): New structure.
19687 (grub_scsi_request_sense_data): Likewise.
19688 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19689 control.
19690 * disk/scsi.c (grub_scsi_request_sense): New function.
19691 (grub_scsi_test_unit_ready): Likewise.
19692 (grub_scsi_inquiry): Fill new fields.
19693 (grub_scsi_read_capacity): Likewise.
19694 (grub_scsi_read10): Add request sense at the end.
19695 (grub_scsi_read12): Likewise.
19696 (grub_scsi_write10): Likewise.
19697 (grub_scsi_write12): Likewise.
19698 (grub_scsi_open): Add Test Unit Ready.
19699 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19700 Support additional subclasses. Con't clear halt yet. Activate the
19701 proper config. Calculate LUNs correctly.
19702 (grub_usbms_transfer): Various important fixups.
19703
197042010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19707 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19708 (grub_ohci_fini_hw): New function.
19709 (grub_ohci_restore_hw): Likewise.
19710 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19711 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19712 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19713
197142010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 Dedicated DMA allocations.
19717
19718 * bus/pci.c (grub_memalign_dma32): New function
19719 (grub_dma_free): Likewise.
19720 (grub_dma_get_virt): Likewise.
19721 (grub_dma_get_phys): Likewise.
19722 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19723 (grub_ohci_pci_iter): Use dma32_alloc.
19724 (grub_ohci_transfer): Likewise.
19725 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19726 (grub_usb_bulk_readwrite): Likewise.
19727 * include/grub/pci.h: Add declarations.
19728
197292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 CS5536 support.
19732
19733 * bus/cs5536.c: New file.
19734 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19735 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19736 (cs5536_mod_SOURCES): New variable.
19737 (cs5536_mod_CFLAGS): Likewise.
19738 (cs5536_mod_LDFLAGS): Likewise.
19739 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19740 machine/pci.h.
19741 (kernel_img_SOURCES): Add bus/cs5536.c.
19742 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19743 usb_keyboard.mod.
19744 (usb_mod_SOURCES): New variable.
19745 (usb_mod_CFLAGS): New variable.
19746 (usb_mod_LDFLAGS): New variable.
19747 (usbtest_mod_SOURCES): New variable.
19748 (usbtest_mod_CFLAGS): New variable.
19749 (usbtest_mod_LDFLAGS): New variable.
19750 (ohci_mod_SOURCES): New variable.
19751 (ohci_mod_CFLAGS): New variable.
19752 (ohci_mod_LDFLAGS): New variable.
19753 (usbms_mod_SOURCES): New variable.
19754 (usbms_mod_CFLAGS): New variable.
19755 (usbms_mod_LDFLAGS): New variable.
19756 (usb_keyboard_mod_SOURCES): New variable.
19757 (usb_keyboard_mod_CFLAGS): New variable.
19758 (usb_keyboard_mod_LDFLAGS): New variable.
19759 * include/grub/smbus.h: New file.
19760 * include/grub/cs5536.h: New file.
19761
0b35b2a9
CW
197622010-06-02 Colin Watson <cjwatson@ubuntu.com>
19763
19764 * util/grub.d/00_header.in: Add safety check to make sure that
19765 ${locale_dir} exists before trying to probe it.
19766
ca0afd5b
CW
197672010-06-02 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19770 per the GNU Coding Standards; this is now too obscure to be worth
19771 documenting.
19772 (QNX): Likewise.
19773 (chainloader): Remove cross-reference to `SCO UnixWare'.
19774
1c41aa78
CW
197752010-06-02 Colin Watson <cjwatson@ubuntu.com>
19776
19777 * docs/grub.texi (Chain-loading): New section.
19778 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19779 adjusted for GRUB 2.
19780 (SCO UnixWare): Likewise.
19781 (QNX): Likewise.
19782 (chainloader): Add reference to `Block list syntax'.
19783 (drivemap): New section.
19784 (parttool): New section.
19785
bb8ea0f5
CW
197862010-06-02 Colin Watson <cjwatson@ubuntu.com>
19787
19788 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19789 the grub shell'.
19790 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19791 (Installing GRUB using grub-install): Remove reference to the grub
19792 shell; mention `grub-mkimage' and `grub-setup' instead.
19793 (Invoking grub-install): Likewise.
19794 (Interface): Add reference to `Menu entry editor'.
19795 (serial): Remove `--device' option.
19796
288dd6ed
CW
197972010-06-02 Colin Watson <cjwatson@ubuntu.com>
19798
19799 * docs/grub.texi (Configuration): New section, documenting
19800 configuration file generation using grub-mkconfig. I've left a slot
19801 for documenting the full shell scripting format but have not yet
19802 started on writing that up.
19803 (Invoking grub-mkconfig): New section.
19804
34c9f0e9
CW
198052010-06-02 Colin Watson <cjwatson@ubuntu.com>
19806
19807 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19808 (GNU GRUB manual): Likewise.
19809 (General commands): Update description of `terminfo' for GRUB 2.
19810
9121567e
CW
198112010-06-02 Colin Watson <cjwatson@ubuntu.com>
19812
19813 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19814 (GRUB_MOD_INIT): Fix capitalisation.
19815 * docs/grub.texi (Command-line and menu entry commands): Document
19816 gettext and gptsync commands.
19817
ab631611
CW
198182010-06-02 Colin Watson <cjwatson@ubuntu.com>
19819
19820 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19821 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19822
bde4a9ac
CW
198232010-06-01 Colin Watson <cjwatson@ubuntu.com>
19824
19825 Add btrfs probing support, currently only in the single-device case.
19826
19827 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19828 function.
19829 (grub_guess_root_device): Call find_root_device_from_mountinfo
19830 before looking in /dev.
19831
b1d17e10
VS
198322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19835 GRUB_DISK_SIZE_UNKNOWN.
19836 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19837
dfbfe004
JS
198382010-05-31 Jiro SEKIBA <jir@unicus.jp>
19839
19840 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19841 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19842 corrupted or not synced properly.
19843
c2ffc8e9
VS
198442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19847 Reported by: Seth Goldberg.
19848
56293166
VS
198492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19852 addition of dest.
19853 Reported by: Seth Goldberg.
19854
7620e7de
VS
198552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19858 Reported by: Seth Goldberg.
19859
c837af3f
VS
198602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19863 64-bit address as signed on MIPS.
19864
c7c75cf4
CW
198652010-05-28 Colin Watson <cjwatson@ubuntu.com>
19866
19867 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19868 to the empty string.
19869
fa4b8490
BC
198702010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19871
19872 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19873
19874 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19875 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19876 * kern/misc.c (__enable_execute_stack): Disable on
19877 GRUB_MACHINE_EMU.
19878
a33075b9
CW
198792010-05-28 Colin Watson <cjwatson@ubuntu.com>
19880
19881 Make grub-probe work with symbolic links under /dev/mapper as well
19882 as with real block devices. The Linux world seems to be (at best)
19883 in transition here, and GRUB shouldn't get caught in the middle.
19884
19885 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19886 /dev/mapper.
19887
d8708134
CW
198882010-05-27 Colin Watson <cjwatson@ubuntu.com>
19889
19890 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19891 input files (in which case exit zero).
19892
db2102a0
CW
198932010-05-27 Colin Watson <cjwatson@ubuntu.com>
19894
19895 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19896 return NULL for various reasons even if it has a maximum-length
19897 buffer: for example, there might be a symlink loop, or the path
19898 might exceed PATH_MAX. If this happens, return NULL.
19899
5fdba519
RM
199002010-05-27 Robert Millan <rmh@gnu.org>
19901
19902 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19903 partmap module to handle cross-partmap setups.
19904 Reported by Orestes Mas. Gràcies!
19905
d1d368e4
CW
199062010-05-27 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * util/grub-mkrescue.in: Initialise override_dir rather than
19909 assuming that it's unset or empty in the environment.
19910
95ac3c73
GS
199112010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19912
19913 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19914 variable index into p_index to suppress a warning with -Wshadow.
19915
7d8c0213
BC
199162010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19917
19918 * INSTALL: Added flex >= 2.5.35 requirement.
19919
db4d5813
VS
199202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19923
f24f4300
VS
199242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 cmostest support.
19927
19928 * commands/i386/cmostest.c: New file.
19929 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19930 (cmostest_mod_SOURCES): New variable.
19931 (cmostest_mod_CFLAGS): Likewise.
19932 (cmostest_mod_LDFLAGS): Likewise.
19933 * conf/i386-pc.rmk: Likewise.
19934 * docs/grub.texi (Vendor power-on keys): New section.
19935 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19936 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19937 and GRUB_BUTTON_CMOS_ADDRESS.
19938 * util/grub.d/00_header.in: Handle powering-on by separate button.
19939
ad603f61
VS
199402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19943 Removed drawing_scrollbar argument. All users updated
19944 Fixes #29792.
19945 Reported by Jo Shields
19946
3ecb080a
VS
199472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19950 buffer since gfxterm handles double repaint.
19951
5f2316c1
VS
199522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19953
19954 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19955 * term/gfxterm.c (real_scroll): Likewise.
19956
9a25f885
VS
199572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19960 before calling BIOS.
19961
39fbb79a
VS
199622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * include/grub/i18n.h: Always enable grub_gettext.
19965
228cfa97
VS
199662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19969 partition naming style.
19970
21717c8f
CW
199712010-05-21 Colin Watson <cjwatson@ubuntu.com>
19972
19973 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19974 not the first option.
19975
c0f48e65
CW
199762010-05-20 Colin Watson <cjwatson@ubuntu.com>
19977
19978 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19979
96779aec
CW
199802010-05-20 Colin Watson <cjwatson@ubuntu.com>
19981
19982 * util/misc.c: Move inclusion of <limits.h> to ...
19983 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19984
fa9d256e
GS
199852010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19986
19987 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19988 Fix merge error in NetBSD code.
19989 (find_partition_start) [__NetBSD__]: Likewise.
19990
123b7a85
BC
199912010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19992
19993 Fix grub-mkrescue usage unit testing.
19994
19995 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19996
74276c0d
CF
199972010-05-18 Christian Franke <franke@computer.org>
19998
19999 * util/grub.d/10_windows.in: Use path names instead of
20000 drive letters to prevent warning from Cygwin 1.7.
20001 Add drivemap command to menuentry if needed.
20002
c4f7b523
ST
200032010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20004
20005 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20006 gnumach and gnumach.gz.
20007
95b97950
VS
200082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * include/grub/i18n.h (gettext): Inline instead of using #define.
20011 (grub_gettext): Likewise.
20012 (_): Likewise.
20013
01b8d2d7
VS
200142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20017 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20018 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20019 (main): Add a slash after pkglibdirroot.
20020
654e1d1e
VS
200212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * util/grub-install.in: Add missing "in" keyword.
20024
26966aeb
VS
200252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20028 Reported by: Seth Goldberg.
20029
75006747
VS
200302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20033
74cbf5bd
CW
200342010-05-18 Colin Watson <cjwatson@ubuntu.com>
20035
20036 * configure.ac: Check for Linux device-mapper support.
20037
20038 * util/hostdisk.c (device_is_mapped): New function.
20039 (find_partition_start): New function, partly broken out from
20040 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20041 device-mapper support added.
20042 (linux_find_partition): Use find_partition_start.
20043 (convert_system_partition_to_system_disk): Add `st' argument.
20044 Support Linux /dev/mapper/* devices if device-mapper support is
20045 available; only DM-RAID devices are understood at present.
20046 (find_system_device): Add `st' argument. Pass it to
20047 convert_system_partition_to_system_disk.
20048 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20049 find_system_device and convert_system_partition_to_system_disk. Use
20050 find_partition_start.
20051
20052 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20053 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20054 * util/deviceiter.c [__linux__]: Define MINOR.
20055 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20056 * util/mkdevicemap.c (grub_putchar): New function.
20057 (grub_getkey): New function.
20058 (grub_refresh): New function.
20059 (main): Set debug=all if -v -v is used.
20060
355b51e9
CW
200612010-05-18 Colin Watson <cjwatson@ubuntu.com>
20062
20063 Fix build with non-GNU libcs.
20064
20065 * util/misc.c (canonicalize_file_name): Move to ...
20066 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20067 grub_make_system_path_relative_to_its_root.
20068
7fb5c25f
CW
200692010-05-18 Colin Watson <cjwatson@ubuntu.com>
20070
20071 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20072 we handle finding grub-mkimage. Default to finding grub-mkimage in
20073 ${bindir} with program_transform_name applied, and provide a
20074 --grub-mkimage option to override this.
20075
1d3293d6
VS
200762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 Remove grub-mkisofs.
20079
20080 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20081 (grub_mkisofs_SOURCES): Removed.
20082 (grub_mkisofs_CFLAGS): Removed.
20083 * util/mkisofs/defaults.h: Removed.
20084 * util/mkisofs/eltorito.c: Likewise.
20085 * util/mkisofs/exclude.h: Likewise.
20086 * util/mkisofs/hash.c: Likewise.
20087 * util/mkisofs/include/: Likewise.
20088 * util/mkisofs/include/fctldefs.h: Likewise.
20089 * util/mkisofs/include/mconfig.h: Likewise.
20090 * util/mkisofs/include/prototyp.h: Likewise.
20091 * util/mkisofs/include/statdefs.h: Likewise.
20092 * util/mkisofs/iso9660.h: Likewise.
20093 * util/mkisofs/joliet.c: Likewise.
20094 * util/mkisofs/match.c: Likewise.
20095 * util/mkisofs/match.h: Likewise.
20096 * util/mkisofs/mkisofs.c: Likewise.
20097 * util/mkisofs/mkisofs.h: Likewise.
20098 * util/mkisofs/msdos_partition.h: Likewise.
20099 * util/mkisofs/multi.c: Likewise.
20100 * util/mkisofs/name.c: Likewise.
20101 * util/mkisofs/rock.c: Likewise.
20102 * util/mkisofs/tree.c: Likewise.
20103 * util/mkisofs/write.c: Likewise.
20104
5dde9afe
VS
201052010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 Unify grub-mkimage accross platforms.
20108
20109 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20110 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20111 (grub_mkelfimage_SOURCES): Removed.
20112 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20113 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20114 (bin_UTILITIES): Add grub-mkimage.
20115 (grub_mkimage_SOURCES): New variable.
20116 (kernel_img_HEADERS): Remove machine/kernel.h.
20117 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20118 (pkglib_PROGRAMS): Add kernel.img.
20119 (kernel_img_HEADERS): Add machine/kernel.h.
20120 (kernel_img_FORMAT): Removed.
20121 (bin_UTILITIES): Remove grub-mkimage.
20122 (grub_mkimage_SOURCES): Removed.
20123 (grub_mkimage_CFLAGS): Likewise.
20124 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20125 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20126 (pkglib_PROGRAMS): Add kernel.img.
20127 (bin_UTILITIES): Remove grub-mkimage.
20128 (grub_mkimage_SOURCES): Removed.
20129 (grub_mkimage_CFLAGS): Likewise.
20130 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20131 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20132 (pkglib_PROGRAMS): Add kernel.img.
20133 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20134 (pkglib_PROGRAMS): Add kernel.img.
20135 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20136 (grub_mkimage_SOURCES): Removed.
20137 (grub_mkimage_CFLAGS): Likewise.
20138 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20139 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20140 (pkglib_PROGRAMS): Add kernel.img.
20141 (bin_UTILITIES): Remove grub-mkimage.
20142 (grub_mkimage_SOURCES): Removed.
20143 (grub_mkimage_CFLAGS): Likewise.
20144 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20145 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20146 (grub_mkimage_SOURCES): Removed.
20147 (grub_mkimage_CFLAGS): Likewise.
20148 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20149 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20150 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20151 (grub_pe32_optional_header): ... this.
20152 (grub_pe64_optional_header): ... and this. All users updated.
20153 (GRUB_PE32_PE32_MAGIC): Split into ..
20154 (GRUB_PE32_PE32_MAGIC): .. this.
20155 (GRUB_PE32_PE64_MAGIC): .. and this.
20156 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20157 * include/grub/elf.h (PT_GNU_STACK): New definition.
20158 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20159 * include/grub/i386/efi/kernel.h: Likewise.
20160 * include/grub/i386/kernel.h: Likewise.
20161 * include/grub/i386/pc/kernel.h: Likewise.
20162 * include/grub/i386/qemu/boot.h: Likewise.
20163 * include/grub/mips/kernel.h: Likewise.
20164 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20165 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20166 * include/grub/powerpc/kernel.h: Likewise.
20167 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20168 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20169 * include/grub/sparc64/kernel.h: Likewise.
20170 * include/grub/x86_64/efi/kernel.h: Likewise.
20171 * include/grub/x86_64/kernel.h: Likewise.
20172 * include/grub/offsets.h: New file.
20173 * include/grub/kernel.h (grub_module_info): Split into ...
20174 (grub_module_info32): ... this.
20175 (grub_module_info64): ... and this.
20176 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20177 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20178 (grub_boot_blocklist): Moved from here ...
20179 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20180 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20181 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20182 * include/grub/types.h (grub_target_to_host16): Removed.
20183 (grub_target_to_host32): Likewise.
20184 (grub_target_to_host64): Likewise.
20185 (grub_host_to_target16): Likewise.
20186 (grub_host_to_target32): Likewise.
20187 (grub_host_to_target64): Likewise.
20188 (grub_host_to_target_addr): Likewise.
20189
20190 Support grub-mkrescue for efi, coreboot and qemu.
20191
20192 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20193 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20194 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20195 * util/grub-mkrawimage.c: Moved from here ...
20196 * util/grub-mkimage.c: ... here. All users updated.
20197 (ALIGN_ADDR): Use image_target.
20198 (TARGET_NO_FIELD): New const.
20199 (image_target_desc): New type.
20200 (image_targets): New array.
20201 (grub_target_to_host64): Use image_target.
20202 (grub_target_to_host32): Likewise.
20203 (grub_target_to_host16): Likewise.
20204 (grub_host_to_target64): Likewise.
20205 (grub_host_to_target32): Likewise.
20206 (grub_host_to_target16): Likewise.
20207 (grub_host_to_target_addr): Likewise.
20208 (generate_image): Handle multiimage.
20209 (main): Require -O parameter. All users updated.
20210 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20211 util/efi/grub-mkimage.c
20212 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20213 New option --rom-directory.
20214 Use xorriso.
20215 * util/i386/efi/grub-mkimage.c: Removed.
20216 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20217 (grub_target_to_host32): Likewise.
20218 (grub_target_to_host64): Likewise.
20219 (grub_host_to_target16): Likewise.
20220 (grub_host_to_target32): Likewise.
20221 (grub_host_to_target64): Likewise.
20222 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20223 (grub_target_to_host32): Likewise.
20224 (grub_target_to_host64): Likewise.
20225 (grub_host_to_target16): Likewise.
20226 (grub_host_to_target32): Likewise.
20227 (grub_host_to_target64): Likewise.
20228
f4fc97d0
BC
202292010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20230
20231 Source tree is reorganized for emu build.
20232
20233 * include/grub/util/console.h: Move from here...
20234 * include/grub/emu/console.h: ...to here.
20235 * include/grub/util/getroot.h: Move from here...
20236 * include/grub/emu/getroot.h: ...to here.
20237 * include/grub/util/hostdisk.h: Move from here...
20238 * include/grub/emu/hostdisk.h: ...to here.
20239 * util/console.c: Move from here...
20240 * kern/emu/console.c: ...to here.
20241 * util/getroot.c: Move from here...
20242 * kern/emu/getroot.c: ...to here.
20243 * util/grub-emu.c: Move from here...
20244 * kern/emu/main.c: ...to here.
20245 * util/hostdisk.c: Move from here...
20246 * kern/emu/hostdisk.c: ...to here.
20247 * util/hostfs.c: Move from here...
20248 * kern/emu/hostfs.c: ...to here.
20249 * util/mm.c: Move from here...
20250 * kern/emu/mm.c: ...to here.
20251 * util/pci.c: Move from here...
20252 * bus/emu/pci.c: ...to here.
20253 * util/sdl.c: Move from here...
20254 * video/emu/sdl.c: ...to here.
20255 * util/time.c: Move from here...
20256 * kern/emu/time.c: ...to here.
20257 * util/usb.c: Move from here...
20258 * bus/usb/emu/usb.c: ...to here.
20259
20260 * include/grub/emu/misc.h: New header for grub-emu functions.
20261 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20262
20263 * conf/any-emu.rmk: Rule updates for above renames.
20264 * conf/common.rmk: Likewise.
20265 * conf/i386-pc.rmk: Likewise.
20266 * conf/i386-qemu.rmk: Likewise.
20267 * conf/mips.rmk: Likewise.
20268 * conf/sparc64-ieee1275.rmk: Likewise.
20269 * conf/x86-efi.rmk: Likewise.
20270
20271 * disk/lvm.h: #include updates for above renames.
20272 * util/grub-mkrelpath.c: Likewise.
20273 * util/grub-probe.c: Likewise.
20274 * util/i386/pc/grub-setup.c: Likewise.
20275 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20276 * kern/emu/console.c: Likewise.
20277 * kern/emu/getroot.c: Likewise.
20278 * kern/emu/hostdisk.c: Likewise.
20279 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20280
20281 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20282 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20283 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20284 * util/misc.c: Remove grub-emu functions.
20285
cced9145
VS
202862010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 Fix gfxmenu crash.
20289 Reported by: Thorsten Grützmacher.
20290
20291 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20292 timeout hook.
20293 (circprog_set_property): Register and unregister timeout hook.
20294 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20295 (label_destroy): Free template. and unregister hook.
20296 (label_set_state): New function.
20297 (label_set_property): Handle templates and hooks.
20298 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20299 timeout hook.
20300 (progress_bar_set_property): Register and unregister timeout hook.
20301 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20302 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20303 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20304 (update_timeout_visit): Removed.
20305 (update_timeouts): New function.
20306 (redraw_timeouts): Likewise.
20307 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20308 (grub_gfxmenu_clear_timeout): Likewise.
20309 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20310 (grub_gfxmenu_timeout_notify): Likewise.
20311 (grub_gfxmenu_timeout_notifications): New external variable.
20312 (grub_gfxmenu_timeout_register): New function.
20313 (grub_gfxmenu_timeout_unregister): Likewise.
20314
c6e5caab
VS
203152010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 Transform (broken) vga terminal into (working) vga video driver.
20318
20319 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20320 video/i386/pc/vga.c.
20321 * include/grub/video.h (grub_video_driver_id):
20322 Add GRUB_VIDEO_DRIVER_VGA.
20323 * term/i386/pc/vga.c: Renamed to ...
20324 * video/i386/pc/vga.c: ...this
20325 (DEBUG_VGA): Removed.
20326 (CHAR_WIDTH): Likewise.
20327 (CHAR_HEIGHT): Likewise.
20328 (TEXT_WIDTH): Likewise.
20329 (TEXT_HEIGHT): Likewise.
20330 (DEFAULT_FG_COLOR): Likewise.
20331 (DEFAULT_BG_COLOR): Likewise.
20332 (colored_char): Likewise.
20333 (xpos): Likewise.
20334 (ypos): Likewise.
20335 (cursor_state): Likewise.
20336 (fg_color): Likewise.
20337 (bg_color): Likewise.
20338 (text_buf): Likewise.
20339 (page): Likewise.
20340 (font): Likewise.
20341 (framebuffer): New variable.
20342 (set_read_map): Disabled.
20343 (setup): New variable.
20344 (is_target): Likewise.
20345 (grub_vga_mod_init): Likewise.
20346 (grub_vga_mod_fini): Likewise.
20347 (check_vga_mem): Likewise.
20348 (write_char): Likewise.
20349 (write_cursor): Likewise.
20350 (scroll_up): Likewise.
20351 (grub_vga_putchar): Likewise.
20352 (grub_vga_getcharwidth): Likewise.
20353 (grub_vga_getwh): Likewise.
20354 (grub_vga_getxy): Likewise.
20355 (grub_vga_gotoxy): Likewise.
20356 (grub_vga_cls): Likewise.
20357 (grub_vga_setcolorstate): Likewise.
20358 (grub_vga_setcursor): Likewise.
20359 (grub_video_vga_init): New function.
20360 (grub_video_vga_setup): Likewise.
20361 (grub_video_vga_fini): Likewise.
20362 (update_target): Likewise.
20363 (grub_video_vga_blit_bitmap): Likewise.
20364 (grub_video_vga_blit_render_target): Likewise.
20365 (grub_video_vga_set_active_render_target): Likewise.
20366 (grub_video_vga_get_active_render_target): Likewise.
20367 (grub_video_vga_swap_buffers): Likewise.
20368 (grub_video_vga_set_palette): Likewise.
20369 (grub_video_vga_get_info_and_fini): Likewise.
20370 (grub_vga_term): Removed.
20371 (grub_video_vga_adapter): New variable.
20372 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20373 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20374
2bf61a98
VS
203752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 * video/readers/jpeg.c: Indented.
20378
09ddcd11
VS
203792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 Various jpeg cleanups.
20382
20383 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20384 (grub_jpeg_decode_quan_table): Use sizeof.
20385 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20386
e5507505
PH
203872010-05-05 Peter Hurley <No e-mail available> (tiny change)
20388
20389 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20390 tables. Ignore non-last ac bit.
20391 (grub_jpeg_decode_quan_table): Likewise.
20392
7e720a9b
VS
203932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20396 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20397 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20398 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20399 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20400 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20401
a7fc080b
VS
204022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20405 error.
20406
2bf6012d
VS
204072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20410
265d68cd
VS
204112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20414 condition.
20415
204162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20417
20418 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20419 part.
20420
265d68cd 204212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20422
20423 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20424 pointers.
20425
265d68cd 204262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20427
20428 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20429
d1b61374
CF
204302010-05-01 Christian Franke <franke@computer.org>
20431
20432 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20433 Remove broken Cygwin path conversion.
20434 * util/misc.c: [__CYGWIN__] Add include and define.
20435 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20436 for Cygwin 1.7.
20437 (make_system_path_relative_to_its_root): Simplify loop, replace early
20438 return by break.
20439 [__CYGWIN__] Add conversion to win32 path.
20440 Include "/" case in trailing slash removal.
20441
3558c6e9
VS
204422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20445 Reported by: Seth Goldberg
20446
f5f3ff93
VS
204472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * commands/help.c (grub_cmd_help): Fix a typo.
20450 Reported by: Seth Goldberg
20451
d8b5cd40
VS
204522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20455 name and add N_.
20456 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20457 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20458 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20459 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20460 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20461 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20462 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20463 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20464 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20465 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20466 * normal/context.c (GRUB_MOD_INIT): Likewise.
20467 * normal/main.c (GRUB_MOD_INIT): Likewise.
20468 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20469 * term/serial.c (GRUB_MOD_INIT): Likewise.
20470 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20471
88c14915
VS
204722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20475 extra == 0.
20476
165134bc
VS
204772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20478
20479 * commands/iorw.c: New file.
20480 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20481 (iorw_mod_SOURCES): New variable.
20482 (iorw_mod_CFLAGS): Likewise.
20483 (iorw_mod_LDFLAGS): Likewise.
20484
c5ac9b32
VS
204852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 Hotkey support
20488
20489 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20490 * normal/main.c (hotkey_aliases): New variable.
20491 (grub_normal_add_menu_entry): Parse "--hotkey".
20492 * normal/menu_text.c (run_menu): Handle hotkeys.
20493
ce60689c
VS
204942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * kern/i386/coreboot/init.c (grub_machine_init): Call
20497 grub_machine_mmap_init on qemu.
20498
0359d006
VS
204992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 * boot/i386/qemu/boot.S: Add a missing .code16.
20502
7819a456
VS
205032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 Use LBIO on coreboot.
20506
20507 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20508 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20509 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20510 New declaration.
20511 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20512 grub_machine_mmap_init on coreboot.
20513 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20514 GRUB_LINUXBIOS_MEMBER_LINK.
20515 (grub_machine_mmap_iterate): Fix declaration.
20516 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20517
7210dca9
VS
205182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 Split coreboot and multiboot ports.
20521
20522 * conf/i386-multiboot.rmk: New file.
20523 * configure.ac: Add multiboot port.
20524 * include/grub/i386/multiboot/boot.h: New file.
20525 * include/grub/i386/multiboot/console.h: Likewise.
20526 * include/grub/i386/multiboot/init.h: Likewise.
20527 * include/grub/i386/multiboot/kernel.h: Likewise.
20528 * include/grub/i386/multiboot/loader.h: Likewise.
20529 * include/grub/i386/multiboot/memory.h: Likewise.
20530 * include/grub/i386/multiboot/serial.h: Likewise.
20531 * include/grub/i386/multiboot/time.h: Likewise.
20532 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20533 * loader/multiboot.c: Likewise.
20534 * loader/multiboot_mbi2.c: Likewise.
20535 * util/grub-mkrescue.in: Generate multiboot rescue.
20536
6f8aaf68
VS
205372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20538
3080f7a7
VS
20539 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20540
205412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20544
20545 * commands/terminal.c (abstract_terminal): New struct.
20546 (handle_command): New function. Based on grub_cmd_terminal_input.
20547 (grub_cmd_terminal_input): Use handle_command.
20548 (grub_cmd_terminal_output): Use handle_command.
20549
a8ebb841
BC
205502010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20551
20552 Fix comment handling.
20553
20554 * tests/grub_script_comments.in: New testcase.
20555 * conf/tests.rmk: Rules for new testcase.
20556 * script/yylex.l: Updated flex rules.
20557
bb06ba08
ST
205582010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20559
20560 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20561 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20562 if argc is 1.
bb06ba08 20563
cc9d2425
VS
205642010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20567 autogen issues.
20568
460d8402
CF
205692010-04-26 Christian Franke <franke@computer.org>
20570
20571 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20572 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20573 (grub_get_prefix): Remove function.
20574 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20575 make_system_path_relative_to_its_root ().
20576 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20577
553c01f9
CF
205782010-04-24 Christian Franke <franke@computer.org>
20579
20580 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20581 (kernel_img_LDFLAGS): Remove -static-libgcc.
20582
2aec1692
CF
205832010-04-24 Christian Franke <franke@computer.org>
20584
20585 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20586 and CHECK_END_SYMBOL if grub-emu is built.
20587 Unset TARGET_OBJ2ELF if grub-emu is built
20588 without module support.
20589
f67dc308
JS
205902010-04-24 Jiro SEKIBA <jir@unicus.jp>
20591
20592 Nilfs2 support.
20593
20594 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20595 (grub_fstest_SOURCES): Likewise.
20596 (pkglib_MODULES): Add nilfs2.mod.
20597 (nilfs2_mod_SOURCES): New variable.
20598 (nilfs2_mod_CFLAGS): Likewise.
20599 (nilfs2_mod_LDFLAGS): Likewise.
20600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20601 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20602 * fs/nilfs2.c: New file.
20603
4ba8d354
VS
206042010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20607 is not supported.
20608
0d2c20c6
GS
206092010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20610
20611 Add grub-mkconfig support for NetBSD.
20612
20613 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20614 * util/grub-mkconfig.in: export new NetBSD specific variables.
20615 * po/POTFILES-shell: added 10_netbsd.in.
20616 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20617
bc4a2d83
BC
206182010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20619
20620 Fix emu build with grub-emu-pci and grub-emu-modules.
20621
20622 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20623 functions.
20624 * include/grub/libpciaccess.h: New file.
20625 * conf/any-emu.rmk: Update kernel headers for emu build.
20626
f48c87aa
VS
206272010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20630
18959385
VS
206312010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20632
20633 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20634
0037de3f
VS
206352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20638 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20639 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20640 util/ieee1275/ofpath.c.
20641 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20642 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20643 * include/grub/sparc64/ieee1275/boot.h
20644 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20645 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20646 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20647 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20648 const char *.
20649 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20650 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20651 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20652 install.
20653
38e55e90
GS
206542010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20655
20656 * util/grub-mkconfig.in: Corrected two == equality tests.
20657 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20658 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20659 expect a number appended to it.
20660 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20661 expects a number appended to it.
20662
a9e6ff28
VS
206632010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20666
0b830b8f
VS
206672010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * util/hostdisk.c (make_device_name): Change to new partition naming.
20670
0973daeb
VS
206712010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20672
20673 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20674
460d8402 206752010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20676
20677 * Makefile.in: Add missing localedir setting.
20678
0b456309
CW
206792010-04-14 Colin Watson <cjwatson@ubuntu.com>
20680
20681 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20682 mistake in r2156. Noticed by Anthony Fok.
20683
20684 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20685 @localedir@.
20686 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20687
08f46d62
BC
206882010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20689
20690 Fix a spurious, uninitialized variable warning.
20691
20692 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20693 Initialize variable, shdr.
20694 (grub_freebsd_load_elfmodule): Likewise.
20695 (grub_freebsd_load_elf_meta): Likewise.
20696
8c4a72d4
BC
206972010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20698
20699 Fix for escaped dollar in double quoted strings.
20700
20701 * script/yylex.l: Updated flex rules.
20702 * conf/tests.rmk: Rule for new testcase.
20703 * tests/grub_script_dollar.in: New testcase.
20704
ce44826e
CPE
207052010-04-13 Carles Pina i Estany <carles@pina.cat>
207062010-04-13 Colin Watson <cjwatson@ubuntu.com>
20707
20708 Enclose all translated strings in grub.cfg in single quotes, and
20709 escape them appropriately (Ubuntu bug #552921).
20710
20711 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20712 * util/grub.d/10_hurd.in: Use it.
20713 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20714 * util/grub.d/10_linux.in (linux_entry): Likewise.
20715
4b0cd8f8
VS
207162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 Fix cygwin compilation.
20719
20720 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20721 * include/grub/misc.h (__register_frame_info)
20722 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20723 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20724 * kern/misc.c (__register_frame_info)
20725 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20726 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20727
01fcf061
VS
207282010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20731
5d04b11e
VS
207322010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 Unify libgcc processing.
20735
20736 * Makefile.in (kernel_img_LDFLAGS): New variable.
20737 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20738 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20739 overwriting.
20740 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20741 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20742 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20743 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20744 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20745 overwriting. Remove -lgcc and -static-libgcc
20746 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20747 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20748 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20749 (kernel_img_LDFLAGS): Append instead of overwriting.
20750 Remove -lgcc and -static-libgcc
20751 * conf/sparc64-ieee1275.rmk: Likewise.
20752 * include/grub/powerpc/libgcc.h: Move to ...
20753 * include/grub/libgcc.h: .. this.
20754 * include/grub/libgcc.h: Don't export most of the function on x86.
20755 (__bswapsi2): New export.
20756 (__bswapdi2): Likewise.
20757 * include/grub/mips/libgcc.h: Removed.
20758 * include/grub/sparc64/libgcc.h: Likewise.
20759
b7f3ac29
VS
207602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20763 disk_info_msg (conflicts with gettexting into languages with cases).
20764
2c7031b1
GS
207652010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20766
20767 Add grub-probe support for NetBSD.
20768
20769 * util/getroot.c (find_root_device): Convert block device to
20770 character device on NetBSD.
20771 * util/probe.c (probe): Require character device on NetBSD.
20772 * util/hostdisk.c: NetBSD specific headers.
20773 (configure_device_driver): new function to tune device driver
20774 parameters (currently only for NetBSD floppy driver).
20775 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20776 via disklabel ioctl).
20777 (open_device): call configure_device_driver on NetBSD.
20778 (convert_system_partition_to_system_disk): NetBSD specific code.
20779 (device_is_wholedisk): Likewise.
20780 (grub_util_biosdisk_get_grub_dev): Likewise.
20781 (make_device_name): Fixed a typo in bsd_part_str.
20782 * configure.ac: check for opendisk() and getrawpartition() on
20783 NetBSD and set LIBUTIL.
20784 * Makefile.in: add LIBUTIL to LIBS.
20785
f516290c
BC
207862010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20787
20788 Documentation fix.
20789
20790 * util/grub-script-check.c: Better help message.
20791
d8dcc0df
BC
207922010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20793
20794 Fix FreeBSD build.
20795
20796 * configure.ac: Flex version check.
20797 * conf/common.rmk: Add -Wno-error to sh.mod.
20798 * script/yylex.l: Remove all #pragma.
20799
6734334a
VS
208002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20803 prototype.
20804 Reported by: Seth Goldberg.
20805
daea6abd
VS
208062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20809 Rename "module" to "module2".
20810 Reported by: Seth Goldberg.
20811
f2fd9d2b
VS
208122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20815 EXPORT_FUNC.
20816 Reported by: Seth Goldberg.
20817
be124579
VS
208182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 * lib/posix_wrap/locale.h: Add missing file.
20821 Reported by: Seth Goldberg.
20822
ef5da797
VS
208232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 grub-emu module load support.
20826
20827 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20828 NO_DYNAMIC_MODULES switched to this.
20829 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20830 (CFLAGS): Likewise.
20831 * conf/any-emu.rmk: Generate symlist.
20832 (kernel_img_HEADERS): Add util/datetime.h.
20833 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20834 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20835 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20836 kern/$(target_cpu)/cache.S.
20837 * configure.ac (grub-emu-modules): New option.
20838 * genmk.rb: Handle multiple source lists.
20839 * include/grub/sdl.h: New file.
20840 * include/grub/libusb.h: Likewise.
20841 * util/grub-emu.c (main): Hanle (host) root.
20842 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20843 GRUB_ERR_UNKNOWN_DEVICE.
20844 * util/misc.c: Move mm functions to ...
20845 * util/mm.c: ... here. All users updated.
20846
47822096
VS
208472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20850 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20851 missing files.
20852 (maintainer-clean): Remove libgcrypt-grub.
20853
5d7e7445
VS
208542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20857
25f4e252
EC
208582010-04-09 EFI Coder <eficoder@hotmail.com>
20859
20860 * normal/menu_text.c (print_message): Clean up the message and show
20861 the Fn information when on EFI
20862 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20863
027de555
VS
208642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20865
20866 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20867 All users updated.
20868 * normal/crypto.c (read_crypto_list): Likewise.
20869 * normal/dyncmd.c (read_command_list): Likewise.
20870 * normal/term.c (read_terminal_list): Likewise.
20871 * normal/main.c (read_lists): Use explicit prefix.
20872 (read_lists_hook): Use read_lists.
20873 (grub_normal_execute): Likewise.
20874
47779711
VS
208752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20878 Reported by: Thomas Schmitt.
20879 Add -no-emul-boot to grub-mkisofs parameters.
20880
1118c32e
VS
208812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * font/font.c: Indented.
20884
7d652447
BC
208852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20886
20887 Elif support to GRUB script (by Deepak Vankadaru).
20888
20889 * tests/grub_script_if.in: New testcase.
20890 * conf/tests.rmk: Rule for new testcase.
20891 * script/parser.y: Grammar rules for elif.
20892
34bb22df
BC
208932010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20894
20895 While and until loops support to GRUB script.
20896
20897 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20898 (grub_script_create_cmdwhile): New function prototype.
20899 (grub_script_execute_cmdwhile): New function prototype.
20900 * script/execute.c (grub_script_execute_cmdwhile): New function.
20901 * script/parser.y (command): New commands.
20902 (whilecmd): New grammar rule.
20903 (untilcmd): New grammar rule.
20904 * script/script.c (grub_script_create_cmdwhile): New function.
20905 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20906 function.
20907
20908 * tests/grub_script_while1.in: New testcase.
20909 * conf/tests.rmk: Rule for new testcase.
20910
e215d8e0
VS
209112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20914 as *.jpg.
20915
d7c43ba1
MV
209162010-04-09 Mario Vazquez <mariovazq@gmail.com>
20917
20918 GRUB_BACKGROUND support.
20919
20920 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20921 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20922
d64795c0
VS
209232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20926 Idea by: Mario Vazquez
d64795c0
VS
20927
20928 * util/grub.d/00_header.in: Load pf2 and image modules.
20929
f267f83a
VS
209302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 grub-mkconfig multiple terminal support.
20933
20934 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20935 * util/grub.d/00_header.in: Likewise.
20936
b7841ceb
VS
209372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20940 we use cd $(srcdir).
20941
df60998c
CW
209422010-04-08 Colin Watson <cjwatson@ubuntu.com>
20943
20944 * util/grub.d/10_linux.in: Only use the first word of
20945 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20946 spaces in GRUB_DISTRIBUTOR.
20947 * util/grub.d/10_kfreebsd.in: Likewise.
20948 * util/grub.d/10_hurd.in: Likewise.
20949
fa09c82e
BC
209502010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20951
14e18ae3 20952 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20953
20954 * tests/util/grub-shell.in: Remove -serial stdio option.
20955
daf892b3
BC
209562010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 POSIX header file wrappers.
20959
20960 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20961 equivalents.
20962 * lib/posix_wrap/ctype.h: Likewise.
20963 * lib/posix_wrap/errno.h: Likewise.
20964 * lib/posix_wrap/langinfo.h: Likewise.
20965 * lib/posix_wrap/limits.h: Likewise.
20966 * lib/posix_wrap/localcharset.h: Likewise.
20967 * lib/posix_wrap/stdint.h: Likewise.
20968 * lib/posix_wrap/stdio.h: Likewise.
20969 * lib/posix_wrap/stdlib.h: Likewise.
20970 * lib/posix_wrap/string.h: Likewise.
20971 * lib/posix_wrap/sys/types.h: Likewise.
20972 * lib/posix_wrap/unistd.h: Likewise.
20973 * lib/posix_wrap/wchar.h: Likewise.
20974 * lib/posix_wrap/wctype.h: Likewise.
20975 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20976 (grub_script.yy.h): Likewise.
20977 * script/yylex.l: Remove POSIX emulation #defines.
20978 * Makefile.in (POSIX_CFLAGS): New variable.
20979 (GNULIB_UTIL_CFLAGS): Likewise.
20980
20981 Regexp support.
20982
20983 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20984 (regexp_mod_SOURCES): New variable.
20985 (regexp_mod_CFLAGS): Likewise.
20986 (regexp_mod_LDFLAGS): Likewise.
20987 * commands/regexp.c: New file.
20988 * gnulib/regcomp.c: New file. Imported from gnulib.
20989 * gnulib/regex.c: Likewise.
20990 * gnulib/regex_internal.c: Likewise.
20991 * gnulib/regex_internal.h: Likewise.
20992 * gnulib/regexec.c: Likewise.
20993 * gnulib/regex.h: Likewise.
20994
974ac4f7
VS
209952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20996
20997 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20998 unsupported video mode types.
20999
2622c3ff
VS
210002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21003
064cb524
VS
210042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21007 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21008
a8c3b552
VS
210092010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21010
21011 Remove unused grub_vga_get_font.
21012
21013 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21014 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21015
187bbe3d
GS
210162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21017
21018 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21019 * include/grub/misc.h: Likewise.
21020
b9396631
GS
210212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21022
21023 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21024 for which failure is fatal.
21025
50479feb
GS
210262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21027
21028 * util/grub-install.in: Use mkdir -p to create grub directory.
21029 * util/i386/efi/grub-install.in: Likewise.
21030 * util/ieee1275/grub-install.in: Likewise.
21031
b1654fdf
GS
210322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21033
21034 * Makefile.in (LEX): new variable.
21035
bd5a6415
GS
210362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21037
21038 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21039 `=' and added double quotes on operands of this equality test.
21040
3db3a82b
VS
210412010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * Makefile.in (uninstall): Remove a leftover debug echo.
21044 Reported by: Grégoire Sutre
21045
38023412
VS
210462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 MIPS multiboot2 support.
21049
21050 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21051 (multiboot2_mod_SOURCES): New variable.
21052 (multiboot2_mod_CFLAGS): Likewise.
21053 (multiboot2_mod_LDFLAGS): Likewise.
21054 (multiboot2_mod_ASFLAGS): Likewise.
21055 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21056 definition.
21057 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21058 (MULTIBOOT_MBI_REGISTER): Likewise.
21059 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21060 (MULTIBOOT_ELF32_MACHINE): Likewise.
21061 (MULTIBOOT_ELF64_MACHINE): Likewise.
21062 * include/grub/mips/multiboot.h: New file.
21063 * include/grub/video.h (grub_video_driver_id): New type
21064 GRUB_VIDEO_DRIVER_SM712.
21065 (grub_video_get_info_and_fini): Export.
21066 (grub_video_get_palette): Likewise.
21067 (grub_video_get_driver_id): Likewise.
21068 * include/multiboot2.h: Resynced with spec.
21069 * loader/i386/multiboot.c: Moved from here ...
21070 * loader/multiboot.c: ... here. All users updated.
21071 (grub_multiboot_boot): Use platform-specific macros.
21072 * loader/i386/multiboot_elfxx.c: Moved from here ...
21073 * loader/multiboot_elfxx.c: ... here. All users updated.
21074 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21075 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21076 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21077
47674667
VS
210782010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 Import gnulib argp module.
21081
21082 * gnulib/argp-ba.c: New file.
21083 * gnulib/argp-eexst.c: Likewise.
21084 * gnulib/argp-fmtstream.c: Likewise.
21085 * gnulib/argp-fmtstream.h: Likewise.
21086 * gnulib/argp-fs-xinl.c: Likewise.
21087 * gnulib/argp-help.c: Likewise.
21088 * gnulib/argp-namefrob.h: Likewise.
21089 * gnulib/argp-parse.c: Likewise.
21090 * gnulib/argp-pin.c: Likewise.
21091 * gnulib/argp-pv.c: Likewise.
21092 * gnulib/argp-pvh.c: Likewise.
21093 * gnulib/argp-version-etc.c: Likewise.
21094 * gnulib/argp-version-etc.h: Likewise.
21095 * gnulib/argp-xinl.c: Likewise.
21096 * gnulib/argp.h: Likewise.
21097
495442ed
VS
210982010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * kern/device.c (grub_device_iterate): Clear errors after failed
21101 opening device.
21102
f9fd65df
VS
211032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21106 returned by firmware.
21107
af09641e
VS
211082010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21111 compilation on coreboot and qemu
21112
016883a5
VS
211132010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * include/multiboot2.h: Resync with spec.
21116
f97e1f7d
VS
211172010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 Multiboot2 tag support
21120
21121 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21122 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21123 Remove loader/multiboot_loader.c.
21124 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21125 (grub_multiboot2_real_boot): Likewise.
21126 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21127 (grub_get_multiboot_mmap_count): New proto.
21128 (grub_fill_multiboot_mmap): Likewise.
21129 (grub_multiboot_set_video_mode): Likewise.
21130 (grub_multiboot_set_console): Likewise.
21131 (grub_multiboot_load): Likewise.
21132 (grub_multiboot_load_elf): Likewise.
21133 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21134 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21135 * include/multiboot.h: Resynced with specification.
21136 * include/multiboot2.h: Resynced with specification.
21137 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21138 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21139 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21140 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21141 users updated.
21142 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21143 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21144 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21145 Removed.
21146 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21147 Moved from here...
21148 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21149 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21150 Moved from here...
21151 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21152 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21153 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21154 All users updated.
21155 * loader/i386/multiboot_mbi2.c: New file.
21156
3506b90b
VS
211572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 Resync with gnulib.
21160
21161 * Makefile.in (GNULIB_CFLAGS): New variable.
21162 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21163 (grub_script_check_CFLAGS): New variable.
21164 * gnulib/alloca.h: Resync with gnulib.
21165 * gnulib/error.c: Likewise.
21166 * gnulib/error.h: Likewise.
21167 * gnulib/fnmatch.c: Likewise.
21168 * gnulib/fnmatch_loop.c: Likewise.
21169 * gnulib/getdelim.c: Likewise.
21170 * gnulib/getline.c: Likewise.
21171 * gnulib/getopt.c: Likewise.
21172 * gnulib/getopt1.c: Likewise.
21173 * gnulib/getopt_int.h: Likewise.
21174 * gnulib/gettext.h: Likewise.
21175 * gnulib/progname.c: Likewise.
21176 * gnulib/progname.h: Likewise.
21177
394a3120
GS
211782010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21179
21180 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21181 which is the case with --disabled-nls.
21182
21183 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21184 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21185 * util/misc.c: Likewise.
21186 * util/mkisofs/mkisofs.c: Likewise.
21187 * util/mkisofs/mkisofs.h: Likewise.
21188
969d1c78
VS
211892010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 Simplify Apple CC support.
21192
21193 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21194 Add 0 byte at the end not to have a symbol with empty target.
21195 * mmap/i386/pc/mmap_helper.S: Likewise.
21196 * genmk.rb: Ignore errors 2030 and 2050.
21197 * kern/i386/pc/startup.S: Use LOCAL when possible.
21198
8d2977bb
BC
211992010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21200
21201 Testcase and the fix for final semicolon on cmdline.
21202
21203 * tests/grub_script_final_semicolon.in: New testcase.
21204 * conf/tests.rmk: Rules for the new testcase.
21205 * script/parser.y: Grammar fix.
21206
a7bd6915
BC
212072010-03-26 BVK Chaitanya <bvk@localhost>
21208
21209 Blank lines testcase for GRUB script.
21210
21211 * tests/grub_script_blanklines.in: New testcase.
21212 * conf/tests.rmk: Rules for the new testcase.
21213
e4ff6628
VS
212142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Don't use __FILE__.
21217
21218 * genmk.rb: Add -DGRUB_FILE to all C targets.
21219 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21220 * include/grub/list.h: Likewise.
21221 * include/grub/misc.h: Likewise.
21222 * include/grub/mm.h: Likewise.
21223 * include/grub/test.h: Likewise.
21224 * kern/mm.c: Likewise.
21225 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21226
6a5cf6b6
VS
212272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 Sunpc partitions support.
21230
21231 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21232 (grub_fstest_SOURCES): Likewise.
21233 (pkglib_MODULES): Add part_sunpc.mod.
21234 (part_sunpc_mod_SOURCES): New variable.
21235 (part_sunpc_mod_CFLAGS): Likewise.
21236 (part_sunpc_mod_LDFLAGS): Likewise.
21237 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21238 * partmap/sunpc.c: New file.
21239
746d9045
BC
212402010-03-26 BVK Chaitanya <bvk@localhost>
21241
21242 For loop support to GRUB script.
21243
21244 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21245 (grub_script_create_cmdfor): New function prototype.
21246 (grub_script_execute_cmdfor): New function prototype.
21247 * script/execute.c (grub_script_execute_cmdfor): New function.
21248 * script/parser.y (command): New for command.
21249 (forcmd): New grammar rule.
21250 * script/script.c (grub_script_create_cmdfor): New function.
21251 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21252 function.
21253 * tests/grub_script_for1.in: New testcase.
21254 * conf/tests.rmk: Rules for new testcase.
21255
18486b18
VS
212562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 Nested partitions
21259
21260 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21261 'partition' is NULL, grub_partition_get_start already does that.
21262 * commands/loadenv.c (check_blocklists): Likewise.
21263 (write_blocklists): Likewise.
21264 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21265 (grub_fstest_SOURCES): Likewise.
21266 (pkglib_MODULES): Add part_bsd.mod.
21267 (part_bsd_mod_SOURCES): New variable.
21268 (part_bsd_mod_CFLAGS): Likewise.
21269 (part_bsd_mod_LDFLAGS): Likewise.
21270 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21271 (grub_emu_SOURCES): Likewise.
21272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21273 * include/grub/bsdlabel.h: New file.
21274 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21275 'get_name'.
21276 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21277 (grub_partition_map_list): New variable.
21278 (grub_partition_map_register): Inline.
21279 (grub_partition_map_unregister): Likewise.
21280 (FOR_PARTITION_MAPS): New macro.
21281 (grub_partition_map_iterate): Removed.
21282 (grub_partition_get_start): Handle nested partitions.
21283 * include/grub/msdos_partition.h: Remove bsd-related entries.
21284 (grub_pc_partition): Remove.
21285 * kern/disk.c (grub_disk_close): Free partition data.
21286 (grub_disk_adjust_range): Handle nested partitions.
21287 * kern/partition.c (grub_partition_map_probe): New function.
21288 (grub_partition_probe): Parse name to number, handle subpartitions.
21289 (get_partmap): New function.
21290 (grub_partition_iterate): Handle subpartitions.
21291 (grub_partition_get_name): Likewise.
21292 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21293 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21294 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21295 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21296 Set 'number'.
21297 (acorn_partition_map_probe): Remove.
21298 (acorn_partition_map_get_name): Likewise.
21299 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21300 Set 'number'.
21301 Set 'index' to 0 since there can be only one partition entry per sector.
21302 (amiga_partition_map_probe): Remove.
21303 (amiga_partition_map_get_name): Likewise.
21304 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21305 Set 'number'.
21306 Set 'offset' and 'index' to real positions of partitions.
21307 (apple_partition_map_probe): Remove.
21308 (apple_partition_map_get_name): Likewise.
21309 * partmap/bsdlabel.c: New file.
21310 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21311 Set 'number'.
21312 Allocate 'data' so it can be correctly freed.
21313 Set 'index' to offset inside sector.
21314 (gpt_partition_map_probe): Remove.
21315 (gpt_partition_map_get_name): Likewise.
21316 * partmap/msdos.c (grub_partition_parse): Remove.
21317 (pc_partition_map_iterate): Don't force raw access.
21318 Set 'number'.
21319 Make 'ext_offset' a local variable.
21320 (pc_partition_map_probe): Remove.
21321 (pc_partition_map_get_name): Remove.
21322 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21323 Set 'number'.
21324 (sun_partition_map_probe): Remove.
21325 (sun_partition_map_get_name): Likewise.
21326 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21327 (grub_pcpart_type): Likewise.
21328 * util/hostdisk.c (open_device): Handle new numbering scheme.
21329 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21330 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21331 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21332 * util/grub-install.in: Insert all subpartition modules.
21333 * util/ieee1275/grub-install.in: Likewise.
21334
a3940f88
AG
213352010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21336
21337 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21338 grammar.
21339
21b99926 213402010-03-24 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21343
bed1d352
CW
213442010-03-21 Colin Watson <cjwatson@ubuntu.com>
21345
21346 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21347 match where 'make install' puts them.
21348 * util/i386/efi/grub-install.in: Likewise.
21349
c9f58427
CW
213502010-03-19 Colin Watson <cjwatson@ubuntu.com>
21351
21352 * .bzrignore: Add gentrigtables, grub-script-check,
21353 grub_script_check_init.c, grub_script_check_init.h, and
21354 trigtables.c.
21355
f84afb27
VS
213562010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * kern/parser.c: Indented.
21359
ed0e3d30
VS
213602010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21363
0ea81d98
VS
213642010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21367 alpha_mask_size == 0 case.
21368
0cdc2a09
BC
213692010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21370
21371 GRUB shell lexer and parser improvements.
21372
21373 * conf/any-emu.rmk: Build rule updates.
21374 * conf/common.rmk: Likewise.
21375 * conf/i386-coreboot.rmk: Likewise.
21376 * conf/i386-efi.rmk: Likewise.
21377 * conf/i386-ieee1275.rmk: Likewise.
21378 * conf/i386-pc.rmk: Likewise.
21379 * conf/powerpc-ieee1275.rmk: Likewise.
21380 * conf/x86_64-efi.rmk: Likewise.
21381
21382 * configure.ac: Configure check for flex.
21383
21384 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21385 types.
21386 (grub_lexer_param): Struct member updates.
21387 (grub_parser_param): Likewise.
21388 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21389 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21390 (grub_script_lexer_init): Prototype update.
21391 (grub_script_lexer_record_start): Likewise.
21392 (grub_script_lexer_record_stop): Likewise.
21393 (grub_script_lexer_yywrap): New function prototype.
21394 (grub_script_lexer_fini): Likewise.
21395 (grub_script_execute_argument_to_string): Removed by...
21396 (grub_script_execute_argument_to_argv): ...better version.
21397
21398 * script/execute.c (ROUND_UPTO): New macro.
21399 (grub_script_execute_cmdline): Out of memory fixes.
21400 (grub_script_execute_menuentry): Likewise.
21401 (grub_script_execute_argument_to_string): Removed. Update all
21402 users by...
21403 (grub_script_execute_argument_to_argv): ...better version.
21404 * script/function.c (grub_script_function_create): Use
21405 grub_script_execute_argument_to_argv instead of
21406 grub_script_execute_argument_to_string.
21407
21408 * script/lexer.c (check_varstate): Removed.
21409 (check_textstate): Removed.
21410 (grub_script_lexer_record_start): Likewise.
21411 (grub_script_lexer_record_stop): Likewise.
21412 (recordchar): Replaced with...
21413 (grub_script_lexer_record): ...new function.
21414 (nextchar): Removed.
21415 (grub_script_lexer_init): Rewritten.
21416 (grub_script_yylex): Rewritten.
21417 (append_newline): New function.
21418 (grub_script_lexer_yywrap): New function.
21419 (grub_script_lexer_fini): New function.
21420 (grub_script_yyerror): Sets error flag.
21421
21422 * script/yylex.l: New file.
21423 (grub_lexer_yyfree): Wrapper for flex yyffre.
21424 (grub_lexer_yyalloc): Likewise.
21425 (grub_lexer_yyrealloc): Likewise.
21426 * script/parser.y: Refactored.
21427
21428 * script/script.c (grub_script_arg_add): Out of memory fixes.
21429 (grub_script_add_arglist): Likewise.
21430 (grub_script_create_cmdline): Likewise.
21431 (grub_script_create_cmdmenu): Likewise.
21432 (grub_script_add_cmd): Likewise.
21433 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21434 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21435 unnecessary code.
21436
21437 * tests/grub_script_echo1.in: New testcase.
21438 * tests/grub_script_vars1.in: New testcase.
21439 * tests/grub_script_echo_keywords.in: New testcase.
21440
1d63a066
VS
214412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 Remove some redundancy in build system.
21444
21445 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21446 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21447 (TARGET_LDFLAGS): Add -nostdlib.
21448 (TARGET_IMG_LDFLAGS): Likewise.
21449 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21450 anything since mmap isn't available.
21451 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21452 Add util/time.c.
21453 (pkglib_MODULES): Remove reboot.mod.
21454 (reboot_mod_SOURCES): Removed.
21455 (reboot_mod_CFLAGS): Likewise.
21456 (reboot_mod_LDFLAGS): Likewise.
21457 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21458 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21459 (DEFSYMFILES): Add kernel_syms.lst.
21460 (kernel_img_HEADERS): Add common headers.
21461 (symlist.c): New target.
21462 (kernel_syms.lst): Likewise.
21463 (pkglib_MODULES): Add memdisk.mod.
21464 (memdisk_mod_SOURCES): New variable.
21465 (memdisk_mod_CFLAGS): Likewise.
21466 (memdisk_mod_LDFLAGS): Likewise.
21467 (pkglib_MODULES): Add reboot.mod.
21468 (reboot_mod_SOURCES): New variable.
21469 (reboot_mod_CFLAGS): Likewise.
21470 (reboot_mod_LDFLAGS): Likewise.
21471 (pkglib_MODULES): Add date.mod.
21472 (date_mod_SOURCES): New variable.
21473 (date_mod_CFLAGS): Likewise.
21474 (date_mod_LDFLAGS): Likewise.
21475 (pkglib_MODULES): Add datehook.mod.
21476 (datehook_mod_SOURCES): New variable.
21477 (datehook_mod_CFLAGS): Likewise.
21478 (datehook_mod_LDFLAGS): Likewise.
21479 (pkglib_MODULES): Add lsmmap.mod.
21480 (lsmmap_mod_SOURCES): New variable.
21481 (lsmmap_mod_CFLAGS): Likewise.
21482 (lsmmap_mod_LDFLAGS): Likewise.
21483 (pkglib_MODULES): Add boot.mod.
21484 (boot_mod_SOURCES): New variable.
21485 (boot_mod_CFLAGS): Likewise.
21486 (boot_mod_LDFLAGS): Likewise.
21487 * conf/i386-coreboot.rmk: Removed redundant parts.
21488 * conf/i386-ieee1275.rmk: Likewise.
21489 * conf/i386-pc.rmk: Likewise.
21490 * conf/mips-yeeloong.rmk: Likewise.
21491 * conf/mips.rmk: Likewise.
21492 * conf/powerpc-ieee1275.rmk: Likewise.
21493 * conf/sparc64-ieee1275.rmk: Likewise.
21494 * conf/x86_64-efi.rmk: Likewise.
21495 * conf/i386-coreboot.rmk: Moved qemu parts ..
21496 * conf/i386-qemu.rmk: ... here
21497 * conf/i386-efi.rmk: Moved common parts to...
21498 * conf/x86-efi.rmk: ... here.
21499 * conf/i386.rmk: Added modules common to all x86 variants.
21500 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21501 * disk/memdisk.c: Remove grub/machine/kernel.h.
21502 * gensymlist.sh.in: Include symbol.h.
21503 * hook/datehook.c: Correct module name.
21504 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21505 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21506 * include/grub/i386/efi/serial.h: New file.
21507 * include/grub/x86_64/efi/serial.h: Likewise.
21508 * util/time.c: Likewise.
21509 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21510
463ac55f
CK
215112010-03-14 Colin King <colin.king@ubuntu.com>
215122010-03-14 Colin Watson <cjwatson@ubuntu.com>
21513
21514 Shrink the pre-partition-table part of boot.img by eight bytes.
21515
21516 * boot/i386/pc/boot.S (ERR): New macro.
21517 (chs_mode): Use ERR.
21518 (geometry_error): Likewise.
21519 (hd_probe_error): Remove. This is only used once, so we wrwite
21520 it inline instead.
21521 (read_error): Instead of printing read_error_string, just set up
21522 %si and fall through to ...
21523 (error_message): ... this new function, also used by ERR.
21524
08e46ede
CW
215252010-03-14 Colin Watson <cjwatson@ubuntu.com>
21526
21527 Speed up consecutive hostdisk operations on the same device.
21528
21529 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21530 (grub_util_biosdisk_open): Initialise disk->data.
21531 (struct linux_partition_cache): New structure.
21532 (linux_find_partition): Cache partition start positions; these are
21533 expensive to compute on every read and write.
21534 (open_device): Cache open file descriptor in disk->data, so that we
21535 don't have to reopen it and flush the buffer cache for consecutive
21536 operations on the same device.
21537 (grub_util_biosdisk_close): New function.
21538 (grub_util_biosdisk_dev): Set `close' member.
21539
21540 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21541 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21542 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21543 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21544 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21545
4a6d2d06
VS
215462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 Compile parts of grub-emu as modules.
21549
21550 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21551 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21552 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21553 (all-local): Add $(GRUB_EMU).
21554 (install-local): Install $(GRUB_EMU).
21555 (uninstall): Uninstall $(GRUB_EMU).
21556 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21557 * kern/dl.c: Likewise.
21558 * commands/sleep.c: Not include machine/time.h.
21559 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21560 (COMMON_CFLAGS): Likewise.
21561 (sbin_UTILITIES): Remove grub-emu.
21562 (grub_emu_SOURCES): Removed.
21563 (kernel_img_RELOCATABLE): New variable.
21564 (pkglib_PROGRAMS): Add kernel.img.
21565 (kernel_img_SOURCES): New variable
21566 (kernel_img_CFLAGS): Likewise.
21567 (kernel_img_LDFLAGS): Likewise.
21568 (TARGET_NO_STRIP): Likewise.
21569 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21570 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21571 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21572 (grub-emu): New target.
21573 (GRUB_EMU): New variable.
21574 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21575 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21576 * loader/xnu.c: Likewise.
21577 * include/grub/pci.h: Likewise.
21578 * genemuinit.sh: New file.
21579 * genemuinitheader.sh: Likewise.
21580 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21581 Support TARGET_NO_DYNAMIC_MODULES.
21582 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21583 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21584 * disk/loopback.c: Likewise.
21585 * font/font_cmd.c: Likewise.
21586 * partmap/acorn.c: Likewise.
21587 * partmap/amiga.c: Likewise.
21588 * partmap/apple.c: Likewise.
21589 * partmap/gpt.c: Likewise.
21590 * partmap/msdos.c: Likewise.
21591 * partmap/sun.c: Likewise.
21592 * parttool/msdospart.c: Likewise.
21593 * term/gfxterm.c: Likewise.
21594 * video/bitmap.c: Likewise.
21595 * video/readers/jpeg.c: Likewise.
21596 * video/readers/png.c: Likewise.
21597 * video/readers/tga.c: Likewise.
21598 * video/video.c: Likewise.
21599 * util/grub-emu.c (read_command_list): Removed.
21600 (main): Don't call util_init_nls.
21601 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21602 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21603
91fdd2ed
VS
216042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21607 date.mod, datehook.mod.
21608 (datetime_mod_SOURCES): New variable.
21609 (datetime_mod_CFLAGS): Likewise.
21610 (datetime_mod_LDFLAGS): Likewise.
21611 (date_mod_SOURCES): Likewise.
21612 (date_mod_CFLAGS): Likewise.
21613 (date_mod_LDFLAGS): Likewise.
21614 (datehook_mod_SOURCES): Likewise.
21615 (datehook_mod_CFLAGS): Likewise.
21616 (datehook_mod_LDFLAGS): Likewise.
21617 * conf/sparc64-ieee1275.rmk: Likewise.
21618 * lib/ieee1275/datetime.c: New file.
21619
873ccae6
VS
216202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21623 (ieee1275_fb_mod_SOURCES): New variable.
21624 (ieee1275_fb_mod_CFLAGS): Likewise.
21625 (ieee1275_fb_mod_LDFLAGS): Likewise.
21626 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21627 New proto.
21628 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21629 (HEAP_MAX_ADDR): Likewise.
21630 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21631 type.
21632 Correct stop condition.
21633 (grub_ieee1275_devices_iterate): New function.
21634 * video/ieee1275.c: New file.
21635
601c97c0
VS
216362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21639
21640 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21641 as scratch.
21642 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21643 SCRATCH_PAD_DISKBOOT as scratch.
21644 (bootit): Pass Openfirmware pointer in %o4.
21645 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21646 of 0x200000.
21647 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21648 with util/grub-mkrawimage.c.
21649 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21650 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21651 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21652 (grub_aout_load) [GRUB_UTIL]: Likewise.
21653 * include/grub/kernel.h (grub_modules_get_end): New proto.
21654 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21655 (SCRATCH_PAD_BOOT): New definition.
21656 (SCRATCH_PAD_DISKBOOT): Likewise.
21657 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21658 * include/grub/sparc64/ieee1275/ieee1275.h
21659 (grub_ieee1275_original_stack): New variable
21660 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21661 New definition
21662 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21663 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21664 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21665 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21666 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21667 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21668 (grub_platform_image_format_t): New type.
21669 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21670 * kern/main.c (grub_modules_get_end)
21671 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21672 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21673 (codestart): Switch stacks.
21674 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21675 variable.
21676 (grub_heap_init): Use grub_modules_get_end.
21677 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21678 stack.
21679 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21680 (main): Likewise.
21681 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21682
d68b491e
TG
216832010-03-14 Thorsten Glaser <tg@mirbsd.org>
21684
21685 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21686
4e02ed50
MK
216872010-03-08 Matt Kraai <kraai@ftbfs.org>
21688
21689 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21690 bug #559005).
21691
1f15fc1e
VS
216922010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * genmoddep.awk: Output all missing symbols and not only first.
21695
fce5d8ff
VS
216962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21697
21698 * NEWS: Put the date of 1.98 release.
21699
d1e8a02f
VS
217002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21703 ft2build.h.
21704
696fd607
VS
217052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21706
21707 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21708 completition in the middle of string.
21709
33e2e6f3
VS
217102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 * util/grub-mkrescue.in: Use mktemp with explicit template.
21713
b1f6d291
VS
217142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21717
2ac227c7
VS
217182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21719
21720 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21721 right pointer.
21722
8f9a632b
VS
217232010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 Fix FreeBSD compilation.
21726
21727 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21728 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21729
60b03859
VS
217302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21733
48a5a769
VS
217342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21737
3ab4bd77
VS
217382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21741
d116e0d8
RM
217422010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 Support relative image path in theme file.
21745
21746 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21747 (image_set_property): Handle theme_dir and relative path.
21748
c7ef54aa
VS
217492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * configure.ac: Alias amd64 to x86_64.
21752
fcee14ed
VS
217532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 * NEWS: mention multiboot on EFI.
21756
d0780363
VS
217572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21758
21759 * kern/main.c (grub_load_modules): Handle errors from init functions of
21760 embeded modules.
21761
41168ea4
VS
217622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * normal/autofs.c (autoload_fs_module): Handle errors.
21765
b54d93ac
VS
217662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 Disable linux.mod on qemu-mips since it's not functional and leads
21769 to compilation failure.
21770
21771 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21772 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21773 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21774 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21775 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21776 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21777 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21778 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21779 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21780 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21781 Reported by: BVK Chaitanya
21782
fc8345da
JU
217832010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21784
21785 * INSTALL: Add gettext as a dependency and add qemu to a new section
21786 "Prerequisites for make-check".
21787
4760f979
CF
217882010-03-04 Christian Franke <franke@computer.org>
21789
21790 * util/grub-pe2elf.c: Add missing include "progname.h".
21791
f209b5b2
VS
217922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 * normal/crypto.c (read_crypto_list): Fix a typo.
21795 Reported by: Seth Goldberg.
21796
b4b7be98
VS
217972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21800 Reported by: Seth Goldberg.
b4b7be98 21801
c0ee0385
VS
218022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21805 ascii.bitmaps.
21806
a8efbf64
VS
218072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21810 Reported by: Seth Goldberg.
a8efbf64 21811
08dcd913
VS
218122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * util/i386/efi/grub-install.in: Copy gettext files.
21815
c4d0b332
VS
218162010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21819
c6f2fe52
VS
218202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 Wait for user entry basing on presence of output rather than on errors.
21823
21824 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21825 (grub_install_newline_hook): Likewise.
21826 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21827 * normal/menu.c (show_menu): Check line_counter to determine presence
21828 of output.
21829 * normal/term.c (grub_normal_line_counter): New variable.
21830 (grub_normal_get_line_counter): New function.
21831 (grub_install_newline_hook): Likewise.
21832
5382b1e4
VS
218332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21836
5519963b
VS
218372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 * configure.ac: Update version to 1.98.
21840
72b28631
VS
218412010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * util/grub.d/10_linux.in (linux_entry): Don't default to
21844 gfxpayload=keep if Linux doesn't support video handover.
21845
c140a180
VS
218462010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Don't compile video modules on yeeloong since video subsystem is part
21849 of kernel.
21850
21851 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21852 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21853 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21854 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21855 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21856 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21857 * include/grub/bitmap_scale.h: Likewise.
21858 * include/grub/bufio.h: Likewise.
21859 * include/grub/font.h: Likewise.
21860 * include/grub/gfxterm.h: Likewise.
21861 * include/grub/video.h: Likewise.
21862 * include/grub/vbe.h: Don't include video_fb.h.
21863 * video/i386/pc/vbe.c: Include video_fb.h.
21864 * commands/i386/pc/vbetest.c: Include video.h.
21865
a0ca21c2
CW
218662010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21867
21868 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21869 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21870 default entry if GRUB_SAVEDEFAULT=true. This allows using
21871 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21872 saving a new default on every boot.
21873
4a8a763c
VS
218742010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21877 * normal/term.c (read_terminal_list): Likewise.
21878 * normal/main.c (grub_normal_init_page): Likewise.
21879 (grub_normal_read_line_real): Likewise.
21880
607ffde2
VS
218812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21882
21883 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21884 memory leak.
21885 Reported by: Seth Goldberg.
21886
2b8fa975
CW
218872010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21888
21889 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21890 duplicate declaration of `start'.
21891
618307dd
VS
218922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21895 filename.
21896 Reported by: Georgy Buranov
21897
7dd05b96 218982010-02-20 Carles Pina i Estany <carles@pina.cat>
21899
21900 * util/grub-mkrawimage.c (usage): Change string formatting to
21901 improve gettext.
21902
d1484a42
MRA
219032010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21904
21905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21906 backspace keys.
21907
42b1d186
VS
219082010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21911 Reported by: Michael Suchanek.
21912
219132010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21914
21915 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21916 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21917
d9f31a41
VS
219182010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 Remove any reference to non-free fonts.
21921
21922 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21923 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21924 uses non-free components.
21925 * font/font.c (grub_font_get_name): Remove example name.
21926 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21927 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21928 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21929 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21930
2793c71e
GB
219312010-02-16 Georgy Buranov <gburanov@gmail.com>
21932
21933 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21934
402e3779
VS
219352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21938 Double divisor.
21939 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21940 features.
21941 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21942
0dd1e0dd
VS
219432010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21946
6fa7cfce
ST
219472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21948
21949 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21950 * docs/grub.texi (Command-line and menu entry commands): Document play
21951 command.
21952
37c8483b
ST
219532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21954
21955 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21956 parse arguments as inline tempo and notes. Move code for playing notes
21957 to...
21958 (play): ... new function.
21959
14da0fb7
ST
219602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21961
21962 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21963 grub_uint16_t instead of short.
21964 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21965 disk from little endian to cpu endianness.
21966
04459e70
ST
219672010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21968
21969 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21970 GRUB_TICKS_PER_SECOND instead of 120.
21971
a0876943
VS
219722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21975 escape sequence after \e.
21976
e29f95dc
VS
219772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21978
21979 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21980 non-ASCII characters.
21981
d27859b2
VS
219822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21985 set root in single quotes to prevent \, from being unescaped.
21986
bc028f2f
VS
219872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21988
21989 Prevent unknown commands from stopping menuentry execution.
21990
21991 * script/execute.c (grub_script_execute_cmdline): Print error after
21992 unknown command.
21993
095f5f82
VS
219942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21997 Reported by: Pavel Pisa.
21998
8c717950
VS
219992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22002
904935c3
VS
220032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 Merge grub_ieee1275_map_physical into grub_map and rename to
22006 grub_ieee1275_map
22007
22008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22009 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22010 Remove.
22011 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22012 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22013 necessary.
22014 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22015
5b59a4e3
VS
220162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22017
22018 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22019 opening and not after.
22020
69e137e8
VS
220212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22024 constants.
22025
2c0fcc36
VS
220262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22029 (alloc_phys): Use ALIGN_UP instead of align_addr.
22030
8c6052ce
VS
220312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22034
17cec782
VS
220352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22038
e0128bbd
VS
220392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22042 verbose dprintf.
22043
ca62070b
VS
220442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Fix over-4GiB seek on sparc64.
22047
22048 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22049 Replace pos_i and pos_lo with pos. All users updated.
22050 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22051 New constant.
22052 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22053 Likewise.
22054 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22055 and pos_lo.
22056
bdca2607
VS
220572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22058
22059 * util/grub-mkrawimage.c (main): Call set_program_name.
22060
da278c4d
VS
220612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 Properly align 64-bit targets.
22064
22065 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22066 (generate_image): Use ALIGN_ADDR.
22067
b274d734
VS
220682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Properly create cross-endian images.
22071
22072 * include/grub/types.h (grub_host_to_target_addr): New macro
22073 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22074
82da2062
VS
220752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22078
7cae4377
VS
220792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22082
22083 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22084 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22085 (grub_linux_boot): Divide by 64K when on VESA.
22086
65a533e7
VS
220872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Support GRUB_GFXPAYLOAD_LINUX.
22090
22091 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22092 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22093
dd01d397
VS
220942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22097 to show messages instead of discarding them.
22098 Process errors after executing command and not before. Keep old method
22099 too as precaution.
22100
660960d6
VS
221012010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22102
22103 * configure.ac: Check for ft2build.h.
22104
62509f04
VS
221052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22108
473df63d
VS
221092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22110
22111 * genkernsyms.sh.in: Use TARGET_CC.
22112
c98d2a13
CW
221132010-02-07 Colin Watson <cjwatson@ubuntu.com>
22114
22115 * NEWS: Update.
22116
6e14234c
VS
221172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22120 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22121 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22122
b255e9cf
YB
221232010-02-07 Yves Blusseau <blusseau@zetam.org>
22124
6e14234c 22125 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22126
98e6959d
VS
221272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 Fix warnings in grub-emu when compiling with maximum warning options.
22130
22131 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22132 (grub_arch_modules_addr): Return 0 and not NULL.
22133 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22134 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22135 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22136 of disk to dsk to avoid shadowing.
74e4934e
VS
22137 (find_free_slot): Fix prototype.
22138 * util/getroot.c (grub_util_is_dmraid): Make static.
22139 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22140 Add missing prototype.
22141 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22142
74e31b5c
VS
221432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22146 appropriately.
22147
6b2ad14b
VS
221482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22149
22150 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22151 code out.
22152
8f891adc
VS
221532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22154
22155 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22156 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22157 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22158 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22159 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22160 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22161
74b45184
VS
221622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 * include/grub/err.h (grub_err_printf): Don't export.
22165
a4bced77
VS
221662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22169
007d0695
VS
221702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22173 * kern/misc.c (grub_gettext_dummy): Make static.
22174
b6c0d9c2
VS
221752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22178 by non-valid ones.
22179 * kern/term.c (grub_putchar): Likewise.
22180
f51a90d0
VS
221812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22184 buggy hook call and memory leak.
22185
6846cec5
VS
221862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22189
468d69fe
VS
221902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22193
51906b8c
VS
221942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22197 modevar.
22198 Return grub_errno on allocation error.
22199
09706ce5
VS
222002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22203
911df80c
YB
222042010-02-06 Yves Blusseau <blusseau@zetam.org>
22205
22206 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22207 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22208
3746a6bc
VS
222092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22212 non-pxe disk.
22213 (grub_pxefs_open): Likewise.
22214
09706ce5
VS
222152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22216
22217 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22218 * util/grub.d/10_kfreebsd.in: Likewise.
22219 * util/grub.d/10_linux.in: Likewise.
22220
7cc192d9
VS
222212010-02-06 Colin D Bennett <colin@gibibit.com>
22222
22223 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22224 (gfxmenu_mod_SOURCES): New variable.
22225 (gfxmenu_mod_CFLAGS): Likewise.
22226 (gfxmenu_mod_LDFLAGS): Likewise.
22227 * include/grub/term.h (grub_term_set_current_output): Declare
22228 argument as const.
22229 * docs/gfxmenu-theme-example.txt: New file.
22230 * gfxmenu/gfxmenu.c: Likewise.
22231 * gfxmenu/gui_box.c: Likewise.
22232 * gfxmenu/gui_canvas.c: Likewise.
22233 * gfxmenu/gui_circular_progress.c: Likewise.
22234 * gfxmenu/gui_image.c: Likewise.
22235 * gfxmenu/gui_label.c: Likewise.
22236 * gfxmenu/gui_list.c: Likewise.
22237 * gfxmenu/gui_progress_bar.c: Likewise.
22238 * gfxmenu/gui_string_util.c: Likewise.
22239 * gfxmenu/gui_util.c: Likewise.
22240 * gfxmenu/icon_manager.c: Likewise.
22241 * gfxmenu/model.c: Likewise.
22242 * gfxmenu/named_colors.c: Likewise.
22243 * gfxmenu/theme_loader.c: Likewise.
22244 * gfxmenu/view.c: Likewise.
22245 * gfxmenu/widget-box.c: Likewise.
22246 * include/grub/gfxmenu_model.h: Likewise.
22247 * include/grub/gfxmenu_view.h: Likewise.
22248 * include/grub/gfxwidgets.h: Likewise.
22249 * include/grub/gui.h: Likewise.
22250 * include/grub/gui_string_util.h: Likewise.
22251 * include/grub/icon_manager.h: Likewise.
22252
222532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 Agglomerate scrolling in gfxterm.
22256
22257 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22258 (grub_virtual_screen_setup): Initialise 'total_screen'.
22259 (write_char): Split to ...
22260 (paint_char): ... this ...
22261 (write_char): ... and this.
22262 (paint_char): Handle delayed scrolling.
22263 (draw_cursor): Likewise.
22264 (scroll_up): Split to ...
22265 (real_scroll): ... this ...
22266 (scroll_up): ... and this.
22267 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22268 characters.
22269 (grub_gfxterm_refresh): Call real_scroll.
22270
222712010-02-06 Colin D Bennett <colin@gibibit.com>
22272
22273 * include/grub/misc.h (grub_iscntrl): New inline function.
22274 (grub_isalnum): Likewise.
22275 (grub_strtol): Likewise.
22276
222772010-02-06 Colin D Bennett <colin@gibibit.com>
22278
22279 * normal/menu_text.c (get_entry_number): Move from here ...
22280 * normal/menu.c (get_entry_number): ... moved here.
22281 * include/grub/menu.h (grub_menu_get_default_entry_index):
22282 New prototype.
22283 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22284 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22285 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22286 (grub_menu_viewer_should_return): Likewise.
22287 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22288 * normal/menu_text.c (run_menu): Enable menu switching.
22289 * normal/menu_viewer.c (should_return): New variable.
22290 (menu_viewer_changed): Likewise.
22291 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22292 (grub_menu_viewer_should_return): New function.
22293 (menuviewer_write_hook): Likewise.
22294 (grub_menu_viewer_init): Likewise.
22295
222962010-02-06 Colin D Bennet <colin@gibibit.com>
222972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 Support for gfxterm in a window.
22300
22301 * include/grub/gfxterm.h: New file.
22302 * include/grub/video.h (struct grub_video_rect): New declaration.
22303 (grub_video_rect_t): Likewise.
22304 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22305 (refcount): New variable.
22306 (render_target): Likewise.
22307 (window): Likewise.
22308 (repaint_callback): Likewise.
22309 (grub_virtual_screen_setup): Use 'render_target'.
22310 (init_window): New function.
22311 (grub_gfxterm_init_window): Likewise.
22312 (grub_gfxterm_init): Check reference counter.
22313 Use init_window.
22314 (destroy_window): New function.
22315 (grub_gfxterm_destroy_window): Likewise.
22316 (grub_gfxterm_fini): Check reference counter.
22317 Use destroy_window.
22318 (redraw_screen_rect): Restore viewport.
22319 Use 'render_target' and 'window'.
22320 Call 'repaint_callback'.
22321 (write_char): Use 'render_target'.
22322 (draw_cursor): Likewise.
22323 (scroll_up): Restore viewport.
22324 Use 'render_target' and 'window'.
22325 Call 'repaint_callback'.
22326 (grub_gfxterm_cls): Likewise.
22327 (grub_gfxterm_refresh): Use 'window'.
22328 (grub_gfxterm_set_repaint_callback): New function.
22329 (grub_gfxterm_background_image_cmd): Use 'window'.
22330 (grub_gfxterm_get_term): New function.
22331 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22332
223332010-02-06 Colin D Bennett <colin@gibibit.com>
22334
22335 Bitmap scaling support.
22336
22337 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22338 (bitmap_scale_mod_SOURCES): New variable.
22339 (bitmap_scale_mod_CFLAGS): Likewise.
22340 (bitmap_scale_mod_LDFLAGS): Likewise.
22341 * include/grub/bitmap_scale.h: New file.
22342 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22343 (background_image_cmd_options): New variable.
22344 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22345 (cmd): Rename and change type to ...
22346 (background_image_cmd_handle): ... this. All users updated.
22347 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22348 * video/bitmap_scale.c: New file.
22349
223502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 SDL support.
22353
22354 * Makefile.in (LIBSDL): New variable.
22355 (enable_grub_emu_sdl): Likewise.
22356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22357 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22358 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22359 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22360 * util/sdl.c: New file.
22361
223622010-02-06 Colin D Bennett <colin@gibibit.com>
223632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 Double buffering support.
22366
22367 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22368 * include/grub/video.h: Update comment.
22369 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22370 New type.
22371 (grub_video_fb_doublebuf_blit_init): New prototype.
22372 * term/gfxterm.c (scroll_up): Support double buffering.
22373 (grub_gfxterm_refresh): Likewise.
22374 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22375 (grub_video_fb_doublebuf_blit_init): Likewise.
22376 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22377 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22378 'displayed_page', 'render_page' and 'update_screen'.
22379 (grub_video_vbe_fini): Free offscreen buffer.
22380 (doublebuf_pageflipping_commit): New function.
22381 (doublebuf_pageflipping_update_screen): Likewise.
22382 (doublebuf_pageflipping_init): Likewise.
22383 (double_buffering_init): Likewise.
22384 (grub_video_vbe_setup): Enable doublebuffering.
22385 (grub_video_vbe_swap_buffers): Implement.
22386 (grub_video_vbe_set_active_render_target): Handle double buffering.
22387 (grub_video_vbe_get_active_render_target): Likewise.
22388 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22389 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22390 (grub_video_vbe_enable_double_buffering): Likewise.
22391 (grub_video_vbe_swap_buffers): Use update_screen.
22392 (grub_video_set_mode): Use double buffering.
22393
223942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22395
22396 * maintainance/gentrigtables.py: Remove.
22397 * lib/trig.c: Likewise.
22398
22399 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22400
22401 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22402 `trigtables.c'.
22403 (trigtables.c): New rule.
22404 (gentrigtables): Likewise.
22405 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22406
224072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22410 integer constants.
22411
224122010-02-06 Colin D Bennet <colin@gibibit.com>
22413
22414 Trigonometry support.
22415
22416 * include/grub/trig.h: New file.
22417 * lib/trig.c: Likewise.
22418 * maintainance/gentrigtables.py: Likewise.
22419 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22420 (trig_mod_SOURCES): New variable.
22421 (trig_mod_CFLAGS): Likewise.
22422 (trig_mod_LDFLAGS): Likewise.
22423
5562834e
VS
224242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22425
22426 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22427 disk devices.
22428
4f8528fc
VS
224292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22432 error.
22433
2b4068e9
VS
224342010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 * util/hostdisk.c (open_device): Don't use partition device when reading
22437 before the partition.
22438 (grub_util_biosdisk_read): Don't read from partition and before the
22439 partition in single operation.
22440 (grub_util_biosdisk_write): Don't write to partition and before the
22441 partition in single operation.
22442
399f6e4d
TL
224432010-02-03 Torsten Landschoff <torsten@debian.org>
22444
22445 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22446 last sectors.
22447
996649b0
VS
224482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22451 CDROM reads.
22452 (grub_biosdisk_write): Refuse to write to CDROM.
22453
3b205d4d
VS
224542010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22457
61e89d9d
VS
224582010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 * font/font.c (find_glyph): Check that bmp_idx is available before
22461 using it.
22462 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22463 with (font == NULL).
22464
bf7fcba2
CS
224652010-01-28 Christian Schmitt <chris@ilovelinux.de>
22466
22467 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22468
f45d2663
BC
224692010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22470
22471 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22472 * util/grub-script-check.c (getline): Fix empty lines case.
22473
ec1444e6
RM
224742010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22475
22476 * Makefile.in (check): Exit with fail status when one of the tests
22477 fails.
22478 * tests/example_functional_test.c (example_test): Fix reversed assert.
22479 * tests/example_unit_test.c (example_test): Likewise.
22480
2e1cb9bb
CW
224812010-01-28 Colin Watson <cjwatson@ubuntu.com>
22482
22483 * util/grub.d/10_linux.in: This script does not use any of the
22484 contents of gettext.sh, only the external command `gettext', so stop
22485 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22486 the same prefix as GRUB.)
22487 * util/grub.d/10_kfreebsd.in: Likewise.
22488
63533ab0
VS
224892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22492 of the line.
22493
989e1f93
VS
224942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22497 last sectors.
22498
e709ebe2
VS
224992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22502 having a 4KiB and not 32KiB buffer size.
22503
27dea7ed
RM
225042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22505
22506 * util/hostfs.c: Include `<errno.h>'.
22507 (grub_hostfs_read): Handle errors from fseeko() and fread().
22508
67667b9c
RM
225092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22510
22511 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22512 loop when using read hooks on files whose size isn't sector-aligned.
22513
c294d9d8
RM
225142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22515
22516 Remove unused parameter.
22517
22518 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22519 (grub_iso9660_open): Remove initialization of `data->length'.
22520
af75a9f1
RM
225212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22522
22523 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22524 memleak conditions.
22525
254e2ce5 225262010-01-27 Carles Pina i Estany <carles@pina.cat>
22527
22528 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22529 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22530
b510928c 225312010-01-26 Carles Pina i Estany <carles@pina.cat>
22532
22533 * util/bin2h.c (usage): Fix warning (space after backslash).
22534
aa2f9dd2 225352010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22536
22537 * font/font.c: Include `grub/fontformat.h.
22538 Remove font file format constants.
22539 (grub_font_load): Use the new macros.
22540 * include/grub/fontformat.h: New file.
22541 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22542 (write_font_pf2): Use the new macros.
22543
94e7e712
RM
225442010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22545
22546 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22547 does.
22548
3973a59a
RM
225492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22550
22551 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22552
22553 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22554 (_start): Macroify `0x7F'.
22555
22556 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22557 (make_install_device): Use "(pxe)" as fallback prefix when booting
22558 via PXE.
22559
42e0cba3
GS
225602010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 * configure.ac: Reset LIBS after check for libgcc symbols.
22563
847effd8
CW
225642010-01-25 Colin Watson <cjwatson@ubuntu.com>
22565
22566 * util/hostdisk.c (open_device): Add trailing newline to debug
22567 message.
22568
ea4a7e35
GS
225692010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22570
22571 * configure.ac: Check for `limits.h'.
22572 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22573
67951a53
RM
225742010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22575
22576 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22577 capitalize error strings.
22578
c273d4ce
ST
225792010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22580
22581 * util/grub.d/10_hurd.in: Add a recovery mode.
22582
69be5b74
VS
225832010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22584
22585 * configure.ac: Check for libgcc symbols with -nostdlib.
22586
fc9e5810
BC
225872010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22588
22589 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22590
4b358c0a
VS
225912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22594 stack since heap may be unavailable at that point.
22595 (grub_ofconsole_gotoxy): Likewise.
22596
454fcd1c
VS
225972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22598
22599 * configure.ac: Check for _restgpr_14_x.
22600 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22601 and _savegpr_* prototypes.
22602
566863ca
RM
226032010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22604
22605 Use generic grub_reboot() for i386-efi.
22606
22607 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22608 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22609 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22610
bf86e59a
VS
226112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22612
22613 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22614 presence of "prefix" variable as it breaks when normal.mod is
22615 embedded.
22616
d645e0f8
VS
226172010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22620 stack since heap is unavailable at that point.
22621
f9ab2e25
VS
226222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22625 (grub_freebsd_bootinfo): Rewritten.
22626 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22627
01fc7054
VS
226282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22631
caab4fd6
RM
226322010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22633
22634 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22635 domain now.
22636
67eb1427
FZ
226372010-01-20 Felix Zielcke <fzielcke@z-51.de>
22638
22639 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22640 around for handling "/" to the correct fix. Fix a memory leak. Use
22641 xstrdup instead of strdup.
22642
a9ed4ff3
VS
226432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22646
226472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22648
22649 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22650
22651 * font/font.c (struct grub_font): New member 'bmp_idx'.
22652 (font_init): Initialise 'bmp_idx'.
22653 (load_font_index): Fill 'bmp_idx'.
22654 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22655
48209f4f
VS
226562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22659 unnecessary calls.
22660
9f0a4bb7
VS
226612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 Move context handling out of the kernel.
22664
22665 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22666 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22667 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22668 * conf/i386-efi.rmk: Likewise.
22669 * conf/i386-ieee1275.rmk: Likewise.
22670 * conf/i386-pc.rmk: Likewise.
22671 * conf/powerpc-ieee1275.rmk: Likewise.
22672 * conf/sparc64-ieee1275.rmk: Likewise.
22673 * conf/x86_64-efi.rmk: Likewise.
22674 * include/grub/env.h: Include grub/menu.h.
22675 (grub_env_var_type): Removed.
22676 (grub_env_var): Replaced field 'type' with 'global'.
22677 (grub_env_find): New prototype.
22678 (grub_env_context_open): Remove EXPORT_FUNC.
22679 (grub_env_context_close): Likewise.
22680 (grub_env_export): Likewise.
22681 (grub_env_set_data_slot): Removed.
22682 (grub_env_get_data_slot): Likewise.
22683 (grub_env_unset_data_slot): Likewise.
22684 (grub_env_unset_menu): New prototype.
22685 (grub_env_set_menu): Likewise.
22686 (grub_env_get_menu): Likewise.
22687 * include/grub/env_private.h: New file.
22688 * include/grub/normal.h (grub_context_init): New prototype.
22689 (grub_context_fini): Likewise.
22690 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22691 * normal/context.c (grub_cmd_export): ... to here.
22692 * kern/env.c: Include env_private.h.
22693 (HASHSZ): Moved to include/grub/env_private.h.
22694 (grub_env_context): Likewise.
22695 (grub_env_sorted_var): Likewise.
22696 (current_context): Renamed from this ...
22697 (grub_current_context): ...to this. 'static' removed. All users updated.
22698 (grub_env_find): Removed 'static'.
22699 (grub_env_context_open): Moved to normal/context.c.
22700 (grub_env_context_close): Likewise.
22701 (grub_env_export): Likewise.
22702 (mangle_data_slot_name): Removed.
22703 (grub_env_set_data_slot): Likewise.
22704 (grub_env_get_data_slot): Likewise.
22705 (grub_env_unset_data_slot): Likewise.
22706 * kern/main.c (grub_set_root_dev): Don't export root.
22707 It will be done later.
22708 (grub_main): Don't export prefix.
22709 It will be done later.
22710 * normal/context.c: New file.
22711 * normal/main.c (free_menu): Use grub_env_unset_menu.
22712 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22713 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22714 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22715 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22716
8dd35b8c
VS
227172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22718
22719 setpci support.
22720
22721 * commands/setpci.c: New file.
22722 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22723 (setpci_mod_SOURCES): New variable.
22724 (setpci_mod_CFLAGS): Likewise.
22725 (setpci_mod_LDFLAGS): Likewise.
22726
449193d5
VS
227272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 Byte-addressable PCI configuration space.
22730
22731 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22732 dword address.
22733 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22734 GRUB_PCI_REG_CACHELINE.
22735 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22736 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22737 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22738 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22739 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22740 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22741 grub_pci_make_address.
22742 (lock_rom_area): Likewise.
22743 * commands/lspci.c (grub_lspci_iter): Use macroses
22744 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22745 of grub_pci_make_address.
22746 * disk/ata.c (grub_ata_pciinit): Likewise.
22747 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22748 (GRUB_PCI_REG_VENDOR): Likewise.
22749 (GRUB_PCI_REG_DEVICE): Likewise.
22750 (GRUB_PCI_REG_COMMAND): Likewise.
22751 (GRUB_PCI_REG_STATUS): Likewise.
22752 (GRUB_PCI_REG_REVISION): Likewise.
22753 (GRUB_PCI_REG_CLASS): Likewise.
22754 (GRUB_PCI_REG_CACHELINE): Likewise.
22755 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22756 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22757 (GRUB_PCI_REG_BIST): Likewise.
22758 (GRUB_PCI_REG_ADDRESSES): Likewise.
22759 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22760 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22761 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22762 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22763 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22764 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22765 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22766 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22767 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22768 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22769 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22770 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22771 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22772 (GRUB_PCI_REG_MIN_GNT): Likewise.
22773 (GRUB_PCI_REG_MAX_LAT): Likewise.
22774 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22775 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22776 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22777 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22778 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22779 space.
22780
96d73208
RM
227812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22784 can be reliably determined to be supported.
22785
d4484482
RM
227862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22787
22788 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22789 that VESA is supported.
22790 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22791 supported.
22792
00308ecf
VS
227932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22796
f66924a4
RM
227972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22798
22799 * util/misc.c (make_system_path_relative_to_its_root): Work around
22800 special-casing of "/", as previous incarnation of this routine did.
22801
cbca0ada
VS
228022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 Fix any-emu compilation.
22805
22806 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22807 * grub_bin2h_SOURCES: New variable.
22808
34a66d99
RM
228092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22810
22811 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22812
94fabf58
RM
228132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22814
22815 * util/grub.d/00_header.in: Fix handling of locale_dir.
22816
02cf98ca
VS
228172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22818
22819 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22820 as possible unifont location (Gentoo).
22821 Reported by: Alexander Brüning
22822
327dbcd7
VS
228232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 Don't try to generate lists for kernel.img.
22826
22827 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22828 (pkglib_MODULES): Remove kernel.img.
22829 (kernel_img_EXPORTS): Removed.
22830 (kernel_img_RELOCATABLE): New variable.
22831 * conf/x86_64-efi.rmk: Likewise.
22832 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22833
ca467290
VS
228342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22837 grub_xasprintf or grub_snprintf.
22838 (grub_vsprintf): Likewise.
22839 (grub_snprintf): New proto.
22840 (grub_vsnprintf): Likewise.
22841 (grub_xasprintf): Likewise.
22842 (grub_xvasprintf): Likewise.
22843 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22844 (grub_sprintf): Removed.
22845 (grub_vsnprintf): New function.
22846 (grub_snprintf): Likewise.
22847 (grub_xvasprintf): Likewise.
22848 (grub_xasprintf): Likewise.
22849 (grub_vsprintf): Renamed to ...
22850 (grub_vsnprintf_real): ...this. New argument max_len.
22851
aca655fd
BC
228522010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22853
22854 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22855 fix grub-script-check warning.
22856
7ee92c32
VS
228572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 * include/grub/font.h (grub_font_load): Fix prototype.
22860
f80927ca
VS
228612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22864
119c50ea
VS
228652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22866
22867 * include/grub/x86_64/at_keyboard.h: New file.
22868
47d5f3c1
VS
228692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 * loader/mips/linux.c: Include missing grub/i18n.h.
22872
55ff5266
RM
228732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22874
22875 * normal/menu.c (notify_execution_failure): Clarify error message.
22876
c893cc87
RM
228772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22878
22879 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22880 return value (and revert all return statements). Update users.
22881
917dd370
CW
228822010-01-20 Dan Merillat <debian@dan.merillat.org>
22883
22884 * kern/device.c (grub_device_iterate): Allocate new part_ent
22885 structure based on sizeof (*p) rather than sizeof (p->next), to
22886 account for structure padding.
22887
22888 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22889 disk is NULL, which might happen for LVM physical volumes with no
22890 LVM signature.
22891
d4a4ee57
RM
228922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22893
22894 * loader/mips/linux.c (grub_cmd_initrd)
22895 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22896
228972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22898
22899 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22900 (grub_video_video_init, grub_video_bitmap_init)
22901 (grub_font_manager_init, grub_term_gfxterm_init)
22902 (grub_at_keyboard_init): New extern declarations.
22903 (grub_machine_init): Initialize gfxterm and at_keyboard.
22904
22905 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22906
22907 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22908 `gfxterm.mod' into core image.
22909
22910 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22911 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22912 (kernel_img_FORMAT): Copy to ...
22913
22914 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22915 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22916 (kernel_img_FORMAT): ... here, and ...
22917
22918 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22919 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22920 (kernel_img_FORMAT): ... here.
22921
22922 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22923 and input (at_keyboard) terminals in kernel.
22924 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22925
22926 (pkglib_MODULES): Remove `pci.mod'.
22927 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22928 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22929 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22930 (at_keyboard_mod_LDFLAGS): Remove variables.
22931
229322010-01-11 Felix Zielcke <fzielcke@z-51.de>
22933
22934 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22935
229362009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22937
22938 * include/grub/mips/libgcc.h: Only export symbols for functions
22939 that libgcc provides.
22940
229412009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 MIPS support.
22944
22945 * bus/bonito.c: New file.
22946 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22947 GRUB_PCI_NUM_DEVICES.
22948 * term/i386/pc/serial.c: Move to ...
22949 * term/serial.c: ... here. All users updated.
22950 * util/i386/pc/grub-mkimage.c: Move to ...
22951 * util/grub-mkrawimage.c: ... here. All users updated.
22952 * term/i386/pc/at_keyboard.c: Move to ...
22953 * term/at_keyboard.c: ... here. All users updated.
22954 * conf/mips-qemu-mips.rmk: New file.
22955 * conf/mips-yeeloong.rmk: Likewise.
22956 * conf/mips.rmk: Likewise.
22957 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22958 mipsel-qemu-mips.
22959 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22960 to port addresses.
22961 (grub_ata_pciinit): Support CS5536.
22962 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22963 * font/font_cmd.c (loadfont_command): Open file before passing it to
22964 grub_font_load.
22965 (pseudo_file_read): New function.
22966 (pseudo_file_close): Likewise.
22967 (pseudo_fs): New structure.
22968 (load_font_module): New function.
22969 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22970 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22971 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22972 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22973 * include/grub/i386/at_keyboard.h: Split into ...
22974 * include/grub/at_keyboard.h: ... this ...
22975 * include/grub/i386/at_keyboard.h: ... and this.
22976 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22977 New prototype.
22978 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22979 updated.
22980 (grub_elf64_size): Likewise.
22981 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22982 filename.
22983 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22984 * include/grub/i386/coreboot/serial.h: Rewritten.
22985 * include/grub/i386/ieee1275/serial.h: Include
22986 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22987 * include/grub/i386/pc/serial.h: Moved from here ...
22988 * include/grub/serial.h: ... to here. All users updated.
22989 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22990 (GRUB_PCI_NUM_BUS): Likewise.
22991 (GRUB_PCI_NUM_DEVICES): Likewise.
22992 (grub_pci_device_map_range): Add missing volatile keyword.
22993 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22994 * include/grub/mips/at_keyboard.h: New file.
22995 * include/grub/mips/cache.h: Likewise.
22996 * include/grub/mips/io.h: Likewise.
22997 * include/grub/mips/kernel.h: Likewise.
22998 * include/grub/mips/libgcc.h: Likewise.
22999 * include/grub/mips/pci.h: Likewise.
23000 * include/grub/mips/qemu-mips/boot.h: Likewise.
23001 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23002 * include/grub/mips/qemu-mips/loader.h: Likewise.
23003 * include/grub/mips/qemu-mips/memory.h: Likewise.
23004 * include/grub/mips/qemu-mips/serial.h: Likewise.
23005 * include/grub/mips/qemu-mips/time.h: Likewise.
23006 * include/grub/mips/relocator.h: Likewise.
23007 * include/grub/mips/time.h: Likewise.
23008 * include/grub/mips/types.h: Likewise.
23009 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23010 * include/grub/mips/yeeloong/boot.h: Likewise.
23011 * include/grub/mips/yeeloong/kernel.h: Likewise.
23012 * include/grub/mips/yeeloong/loader.h: Likewise.
23013 * include/grub/mips/yeeloong/memory.h: Likewise.
23014 * include/grub/mips/yeeloong/pci.h: Likewise.
23015 * include/grub/mips/yeeloong/serial.h: Likewise.
23016 * include/grub/mips/yeeloong/time.h: Likewise.
23017 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23018 * kern/elf.c (grub_elf32_size): New parameter. All users
23019 updated.
23020 (grub_elf64_size): Likewise.
23021 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23022 Load modules before saying "Welcome to GRUB!".
23023 Call grub_refresh after saying "Welcome to GRUB!".
23024 * kern/mips/cache.S: New file.
23025 * kern/mips/cache_flush.S: Likewise.
23026 * kern/mips/dl.c: Likewise.
23027 * kern/mips/init.c: Likewise.
23028 * kern/mips/qemu-mips/init.c: Likewise.
23029 * kern/mips/startup.S: Likewise.
23030 * kern/mips/yeeloong/init.c: Likewise.
23031 * kern/term.c (grub_putcode): Handle NULL terminal.
23032 (grub_getcharwidth): Likewise.
23033 (grub_getkey): Likewise.
23034 (grub_checkkey): Likewise.
23035 (grub_getkeystatus): Likewise.
23036 (grub_getxy): Likewise.
23037 (grub_getwh): Likewise.
23038 (grub_gotoxy): Likewise.
23039 (grub_cls): Likewise.
23040 (grub_setcolorstate): Likewise.
23041 (grub_setcolor): Likewise.
23042 (grub_getcolor): Likewise.
23043 (grub_refresh): Likewise.
23044 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23045 (write_jump): Add hatch nop.
23046 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23047 * lib/mips/setjmp.S: New file.
23048 * loader/mips/linux.c: Likewise.
23049 * term/i386/pc/at_keyboard.c: Move from here ...
23050 * term/at_keyboard.c: ... to here.
23051 * term/i386/pc/serial.c: Moved from here ...
23052 * term/serial.c: ... to here. All users updated.
23053 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23054 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23055 (serial_translate_key_sequence): Avoid deadlock.
23056 (grub_serial_getkey): Handle backspace.
23057 (grub_serial_putchar): Fix newline handling.
23058 * util/i386/pc/grub-mkimage.c: Move from here ...
23059 * util/grub-mkrawimage.c: ... to here. All users updated.
23060 (generate_image): New parameters 'font_path' and 'format'.
23061 Support embedding font.
23062 Use grub_host_to_target* instead of grub_cpu_to_le*.
23063 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23064 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23065 (options): New option "--font".
23066 (usage): Likewise.
23067 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23068 (main): Handle "--font".
23069 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23070 (grub_virtual_screen_setup): Set bg_color_display.
23071 (redraw_screen_rect): Use bg_color_display instead of incorrect
23072 bg_color.
23073 (grub_gfxterm_cls): Likewise.
23074 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23075 Support embedding config file.
23076 (add_segments): Likewise.
23077 (options): New option "--config".
23078 (main): Handle "--config".
23079 * video/sm712.c: New file.
23080
25c2b5b3
RM
230812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23082
23083 Fix parallel builds.
23084
23085 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23086 font.c depend on ascii.h).
23087
230882010-01-12 Carles Pina i Estany <carles@pina.cat>
23089
23090 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23091
230922010-01-11 Carles Pina i Estany <carles@pina.cat>
23093
23094 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23095 By default: disabled.
23096 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23097 parameter.
23098
230992010-01-10 Carles Pina i Estany <carles@pina.cat>
23100
23101 * font/font.c: Update copyright years.
23102 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23103
231042010-01-10 Carles Pina i Estany <carles@pina.cat>
23105
23106 * font/font.c: Include `ascii.h'.
23107 (ASCII_BITMAP_SIZE): New macro.
23108 (ascii_font_glyph): Define.
23109 (ascii_glyph_lookup): New function.
23110 (grub_font_get_string_width): Change comment. If glyph not found, use
23111 ascii_glyph_lookup.
23112 (grub_font_get_glyph_with_fallback): If glyph not available returns
23113 ascii_glyph_lookup.
23114 * util/grub-mkfont.c (file_formats): New enum.
23115 (options): Add `ascii-bitmaps' new option.
23116 (usage): Add `asii-bitmaps' new option.
23117 (write_font_ascii_bitmap): New function.
23118 (write_font): Rename to ...
23119 (write_font_p2): ... this. Remove print_glyphs call.
23120 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23121 used. Call print_glyphs.
23122 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23123
231242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23125
23126 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23127 (grub_bin2h_SOURCES): New variable.
23128 * util/bin2h.c: New file.
23129
915fc1b8
VS
231302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23131
23132 * include/multiboot.h: Resynced with spec.
23133 * include/multiboot2.h: Likewise.
23134 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23135 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23136
9444b678
RM
231372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23138
23139 * include/grub/term.h (grub_term_register_input,
23140 grub_term_register_output): Check return of terminal init()
23141 routines, and abort if errors are raised.
23142
23143 * commands/terminal.c: Update copyright year.
23144
cba98e8d
RM
231452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23146
23147 * commands/terminal.c (grub_cmd_terminal_input)
23148 (grub_cmd_terminal_output): Check return of terminal init()
23149 routines, and abort if errors are raised.
23150
6f7db5d6
VS
231512010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * include/grub/i386/bsd.h: Fix include pathes.
23154
262bff8d
VS
231552010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23156
23157 Add missing *BSD copyright headers.
23158
23159 * include/grub/aout.h: Add BSD licence.
23160 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23161 * include/grub/i386/freebsd_linker.h: ... here,
23162 * include/grub/i386/freebsd_reboot.h: ... here,
23163 * include/grub/i386/netbsd_bootinfo.h: ... here,
23164 * include/grub/i386/netbsd_reboot.h: ... here,
23165 * include/grub/i386/openbsd_bootarg.h: ... here,
23166 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23167 licence to each file.
23168
b2cab848
RM
231692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * acinclude.m4: Remove `nop' assembly instruction; it's not
23172 implemented by all architectures.
23173
2cb6be4b
RM
231742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23175
23176 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23177 ELILO. This is no longer necessary.
23178
a2eaee15
BC
231792010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23180
23181 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23182
23183 * util/grub-script-check.c: grub-script-check tool.
23184 * conf/common.rmk: Make rules for grub-script-check.
23185
88d17012
RM
231862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23187
23188 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23189 spotting it back in 2008. Shame on me for forgetting he did.
23190
23191 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23192
8040619d
RM
231932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23196 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23197 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23198 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23199 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23200 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23201
a0c2a0f6
RM
232022010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23203
23204 * include/grub/test.h: Add license header.
23205 * tests/example_functional_test.c: Likewise.
23206 * tests/example_unit_test.c: Likewise.
23207 * tests/lib/functional_test.c: Likewise.
23208 * tests/lib/test.c: Likewise.
23209 * tests/lib/unit_test.c: Likewise.
23210
b0b13907
VS
232112010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 Use flag-based instead of hook-based video mode selection and "auto"
23214 keyword.
23215
23216 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23217 (grub_video_set_mode): Changed prototype. All users updated.
23218 (grub_video_check_mode_flag): New inline function.
23219 * video/video.c (parse_modespec): New function.
23220 (grub_video_set_mode): Parse flags and keywords.
23221
ea379330 232222010-01-17 Carles Pina i Estany <carles@pina.cat>
23223
23224 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23225 fprintf call.
23226
e15c215e
FZ
232272010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23228
23229 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23230
409ae1c9 232312010-01-16 Carles Pina i Estany <carles@pina.cat>
23232
23233 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23234 string.
23235 * util/grub-emu.c (usage): Likewise.
23236 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23237 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23238 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23239 * util/i386/pc/grub-setup.c (usage): Likewise.
23240
70a14d3d 232412010-01-16 Carles Pina i Estany <carles@pina.cat>
23242
23243 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23244 the message.
23245 (grub_util_info): Likewise.
23246 (grub_util_error): Likewise.
23247 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23248 and/or new lines in `grub_util_warna', `grub_util_info',
23249 `grub_util_error' calls.
23250 * util/getroot.c: Likewise.
23251 * util/grub-editenv.c: Likewise.
23252 * util/grub-emu.c: Likewise.
23253 * util/grub-fstest.c: Likewise.
23254 * util/grub-mkdevicemap.c: Likewise.
23255 * util/grub-mkfont.c: Likewise.
23256 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23257 * util/grub-mkrelpath.c: Likewise.
23258 * util/grub-pe2elf.c: Likewise.
23259 * util/grub-probe.c: Likewise.
23260 * util/hostdisk.c: Likewise.
23261 * util/i386/efi/grub-mkimage.c: Likewise.
23262 * util/i386/pc/grub-mkimage.c: Likewise.
23263 * util/i386/pc/grub-setup.c: Likewise.
23264 * util/ieee1275/ofpath.c: Likewise.
23265 * util/mkisofs/eltorito.c: Likewise.
23266 * util/mkisofs/rock.c: Likewise.
23267 * util/mkisofs/write.c: Likewise.
23268 * util/raid.c: Likewise.
23269 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23270 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23271
a0b766fc
VS
232722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 Enable multiboot on non-pc.
23275
23276 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23277 multiboot.mod and multiboot2.mod to ...
23278 * conf/i386.rmk (pkglib_MODULES): ... here.
23279 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23280 Moved to ...
23281 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23282 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23283 Moved to ...
23284 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23285 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23286 Moved to ...
23287 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23288 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23289 Moved to ...
23290 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23291 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23292 relocator.mod.
23293 (ata_mod_SOURCES): Removed.
23294 (ata_mod_CFLAGS): Likewise.
23295 (ata_mod_LDFLAGS): Likewise.
23296 (relocator_mod_SOURCES): Removed.
23297 (relocator_mod_CFLAGS): Likewise.
23298 (relocator_mod_ASFLAGS): Likewise.
23299 (relocator_mod_LDFLAGS): Likewise.
23300 Include i386.mk.
23301 * include/grub/x86_64/multiboot.h: New file.
23302 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23303 Terminate EFI.
23304
884ade56
VS
233052010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23306
23307 Video multiboot support.
23308
23309 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23310 New prototype.
23311 * include/multiboot.h: Resynced with multiboot specification.
23312 * include/multiboot2.h: Likewise.
23313 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23314 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23315 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23316 (HAS_VGA_TEXT): Likewise.
23317 (accepts_video): New variable.
23318 (grub_multiboot_set_accepts_video): New function.
23319 (grub_multiboot_get_mbi_size): Account for video structures.
23320 (set_video_mode): New function.
23321 (retrieve_video_parameters): Likewise.
23322 (grub_multiboot_make_mbi): Fill video fields.
23323
0d90e8a6
VS
233242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 Video driver ids.
23327
23328 * include/grub/video.h (grub_video_driver_id): New type.
23329 (grub_video_adapter): New member 'id'. All users updated.
23330 (grub_video_get_driver_id): New proto.
23331 * video/video.c (grub_video_get_driver_id): New function.
23332
5c71db1b 233332010-01-14 Carles Pina i Estany <carles@pina.cat>
23334
23335 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23336 `var=val'.
23337
cca15b52 233382010-01-14 Carles Pina i Estany <carles@pina.cat>
23339
23340 * normal/cmdline.c (print_completion): Gettextizze.
23341
c586fbb2 233422001-01-14 Carles Pina i Estany <carles@pina.cat>
23343
23344 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23345
ba2f6848 233462010-01-14 Carles Pina i Estany <carles@pina.cat>
23347
23348 * gettext/gettext.c (grub_gettext_translate): Push and pop
23349 grub_errno.
23350 (grub_gettext_delete_list): Change comment style.
23351 * kern/err.c (grub_error): Gettextizze.
23352 (grub_fatal): Gettextizze.
23353
0a46429a
RM
233542010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23355
23356 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23357 (grub_linux16_real_boot): ... this.
23358 * kern/i386/loader.S: Likewise.
23359 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23360 (grub_linux16_boot): New function. Switches to text mode and calls
23361 grub_linux16_real_boot().
23362
23363 * loader/i386/bsd.c: Include `<grub/video.h>'.
23364 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23365 text mode before calling grub_unix_real_boot().
23366
23367 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23368 (grub_multiboot_boot): Switch to text mode before calling
23369 grub_relocator32_boot().
23370
23371 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23372 (grub_chainloader_boot): Switch to text mode before calling
23373 grub_chainloader_real_boot().
23374
d6f93a66
RM
233752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
233762010-01-05 Colin Watson <cjwatson@ubuntu.com>
23377
23378 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23379 non-empty value.
23380
233812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
233822010-01-05 Colin Watson <cjwatson@ubuntu.com>
23383
23384 * util/grub.d/00_header.in: Define a "savedefault" function for use
23385 in menu entries.
23386 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23387
233882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
233892010-01-05 Colin Watson <cjwatson@ubuntu.com>
23390
23391 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23392 saved_entry if boot_once is unset.
23393 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23394 previous saved entry (i.e. grub-reboot).
23395
233962009-12-08 Colin Watson <cjwatson@ubuntu.com>
23397
23398 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23399
234002009-12-08 Colin Watson <cjwatson@ubuntu.com>
23401
23402 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23403 `var=val'.
23404 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23405
234062009-12-08 Colin Watson <cjwatson@ubuntu.com>
23407
23408 * util/grub-reboot.in: Fix --version output.
23409 * util/grub-set-default.in: Likewise.
23410
234112009-12-08 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23414 blocks.
23415
234162009-12-08 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * util/grub.d/00_header.in: Quote the value assigned to `default',
23419 in case it contains spaces.
23420
234212009-12-08 Colin Watson <cjwatson@ubuntu.com>
23422
23423 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23424 `save_default_entry' call from the macosx case to the linux case.
23425
234262009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
234272009-10-25 Colin Watson <cjwatson@ubuntu.com>
23428
23429 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23430 in `chosen' environment variable.
23431 * normal/menu_text.c (get_entry_number): Check if the variable
23432 matches the title of a menu entry.
23433 (run_menu): Pass menu to get_entry_number.
23434
23435 * util/grub-reboot.in: New file.
23436 * util/grub-set-default.in: New file.
23437 * conf/common.rmk (grub-reboot): New utility.
23438 (grub-set-default): New utility.
23439
23440 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23441 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23442 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23443 move it to `saved_entry' for the next boot. Load environment on
23444 initialisation.
23445 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23446 * util/grub.d/10_hurd.in: Likewise.
23447 * util/grub.d/10_linux.in (linux_entry): Likewise.
23448 * util/grub.d/10_windows.in: Likewise.
23449 * util/grub.d/30_os-prober.in: Likewise.
23450
23451 * util/grub-install.in: Create environment block.
23452 * util/i386/efi/grub-install.in: Likewise.
23453 * util/ieee1275/grub-install.in: Likewise.
23454 * util/sparc64/ieee1275/grub-install.in: Likewise.
23455
0934d184
BC
234562010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23457
23458 Unit testing framework for GRUB.
23459
23460 * Makefile.in: Test framework build rules for 'make check'.
23461 * conf/tests.rmk: Build rules for individual tests and framework.
23462
23463 * include/grub/test.h: Header file for whitebox tests.
23464 * tests/lib/functional_test.c: Framework support for whitebox
23465 functional tests.
23466 * tests/lib/test.c: Common whitebox testing code for unit and
23467 functional tests.
23468 * tests/lib/unit_test.c: Framework support for whitebox unit
23469 tests.
23470
23471 * tests/util/grub-shell-tester.in: Support utility for grub-script
23472 tests.
23473 * tests/util/grub-shell.in: Utility to execute grub-script
23474 commands in a Qemu instance.
23475
23476 * tests/example_functional_test.c: Example whitebox functional
23477 test.
23478 * tests/example_grub_script_test.in: Example grub-script test.
23479 * tests/example_scripted_test.in: Example scripted test.
23480 * tests/example_unit_test.c: Example whitebox unit test.
23481
9c4ffeeb
VS
234822010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23483
23484 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23485 Add loader/i386/multiboot_mbi.c.
23486 (multiboot2_mod_SOURCES): Likewise.
23487 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23488 (multiboot2_mod_SOURCES): Likewise.
23489 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23490 (grub_multiboot_make_mbi): Likewise.
23491 (grub_multiboot_free_mbi): Likewise.
23492 (grub_multiboot_init_mbi): Likewise.
23493 (grub_multiboot_add_module): Likewise.
23494 (grub_multiboot_set_bootdev): Likewise.
23495 * loader/i386/multiboot.c (mbi): Removed.
23496 (mbi_dest): Likewise.
23497 (alloc_mbi): New variable.
23498 (grub_multiboot_payload_size): Removed. All users updated.
23499 (grub_multiboot_pure_size): New variable.
23500 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23501 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23502 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23503 (grub_fill_multiboot_mmap): Likewise.
23504 (grub_multiboot_get_bootdev): Likewise.
23505 (grub_multiboot): Use multiboot_mbi functions.
23506 * loader/i386/multiboot_mbi.c: New file.
23507
17383dfe
VS
235082010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23511 it would result in module crash.
23512
c1f28820
VS
235132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23514
23515 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23516 (grub_ofconsole_getwh): Split to ...
23517 (grub_ofconsole_getwh): ... this.
23518 (grub_ofconsole_dimensions): ...and this.
23519 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23520
58655a16
RM
235212010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23522
23523 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23524
10891398
VS
235252010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23526
23527 * loader/i386/pc/multiboot2.c: Removed stalled file.
23528
0b8a223c
VS
235292010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23532 Reported by: Grégoire Sutre
23533
92ab12b0
RM
235342010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23535
23536 * util/misc.c (canonicalize_file_name): New function.
23537 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23538 instead of realpath().
23539
a788afb6
CW
235402010-01-11 Colin Watson <cjwatson@ubuntu.com>
23541
23542 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23543 and make it clearer that it's optional. Based on confusion
23544 witnessed on IRC.
23545
ffa8e3d2
VS
235462010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23549 in premature implicit newline.
23550
e9060a9d
VS
235512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23554 which resulted in garbled command line at the end of screen.
23555
f0d0c0b7
RM
235562010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23557
23558 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23559 initialization with similar approach as with other Linux loaders.
23560
0e60bae7
RM
235612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23562
23563 Fix i386-ieee1275 build.
23564
23565 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23566 and grub_term_height() for video_{width,height} initialization.
23567
235682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23569
23570 Fix grub-emu build.
23571
23572 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23573
cdb3f378
RM
235742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
235752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23576
23577 Support for multiple terminals.
23578
23579 * Makefile.in (pkglib_DATA): terminal.lst.
23580 (terminal.lst): New target.
23581 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23582 (GRUB_MOD_INIT(handler)): Likewise.
23583 (GRUB_MOD_FINI(handler)): Likewise.
23584 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23585 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23586 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23587 (grub_cmd_sleep): Use grub_term_save_pos.
23588 * commands/terminal.c: New file.
23589 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23590 commands/terminal.c and lib/charset.c.
23591 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23592 (pkglib_MODULES): Add terminal.mod.
23593 (terminal_mod_SOURCES): New variable.
23594 (terminal_mod_CFLAGS): Likewise.
23595 (terminal_mod_LDFLAGS): Likewise.
23596 * genhandlerlist.sh: Don't handle terminals.
23597 * genmk.rb: Generate terminal-*.lst.
23598 * genterminallist.sh: New file.
23599 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23600 (grub_is_valid_utf8): Likewise.
23601 (grub_utf8_to_ucs4_alloc): Likewise.
23602 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23603 (grub_menu_register_viewer): Changed argument.
23604 (grub_menu_try_text): New proto.
23605 (grub_gfxmenu_try_hook): New declaration.
23606 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23607 (grub_menu_init_page): Additional argument term.
23608 (grub_normal_init_page): Likewise.
23609 (grub_cmdline_get): Arguments simplified.
23610 (grub_utf8_to_ucs4_alloc): Removed.
23611 (grub_print_ucs4): Additional argument term.
23612 (grub_getstringwidth): Likewise.
23613 (grub_print_message_indented): Likewise.
23614 (grub_menu_text_register_instances): New proto.
23615 (grub_show_menu): Likewise.
23616 (read_terminal_list): Likewise.
23617 (grub_set_more): Likewise.
23618 * include/grub/parser.h: Include handler.h.
23619 * include/grub/reader.h: Rewritten.
23620 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23621 (GRUB_TERM_WIDTH): Changed to function.
23622 (GRUB_TERM_HEIGHT): Likewise.
23623 (GRUB_TERM_BORDER_WIDTH): Likewise.
23624 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23625 (GRUB_TERM_NUM_ENTRIES): Likewise.
23626 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23627 (GRUB_TERM_CURSOR_X): Likewise.
23628 (grub_term_input_class): Likewise.
23629 (grub_term_output_class): Likewise.
23630 (grub_term_outputs_disabled): New declaration.
23631 (grub_term_inputs_disabled): Likewise.
23632 (grub_term_outputs): Likewise.
23633 (grub_term_inputs): Likewise.
23634 (grub_term_register_input): Rewritten.
23635 (grub_term_register_output): Likewise.
23636 (grub_term_unregister_input): Likewise.
23637 (grub_term_unregister_output): Likewise.
23638 (FOR_ACTIVE_TERM_INPUTS): New macro.
23639 (FOR_DISABLED_TERM_INPUTS): Likewise.
23640 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23641 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23642 * include/grub/terminfo.h: Add oterm argument to all protypes.
23643 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23644 Use grub_rescue_run.
23645 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23646 All users updated.
23647 * kern/reader.c: Removed. All users updated.
23648 * kern/rescue_reader.c (grub_rescue_init): Removed.
23649 (grub_rescue_reader): Likewise.
23650 (grub_register_rescue_reader): Likewise.
23651 (grub_rescue_run): New function based on kern/reader.c.
23652 * kern/term.c: Adapted for multiterm.
23653 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23654 (grub_is_valid_utf8): Likewise.
23655 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23656 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23657 right terminal.
23658 * loader/i386/linux.c (grub_linux_boot): Likewise.
23659 * normal/auth.c (grub_username_get): New function.
23660 (grub_auth_check_authentication): Use grub_username_get.
23661 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23662 * normal/color.c: Adapt for multiterm.
23663 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23664 (grub_normal_init_page): Additional argument term.
23665 (read_lists): Call read_terminal_lists.
23666 (grub_enter_normal_mode): Call grub_cmdline_run.
23667 Handle grub_normal_exit_level.
23668 (grub_cmd_normal): Make reentrant.
23669 (grub_cmd_normal_exit): New function.
23670 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23671 * normal/menu.c: Adapt for multiterm.
23672 * normal/menu_entry.c: Likewise.
23673 * normal/menu_text.c: Likewise.
23674 * normal/menu_viewer.c: Removed. All users updated.
23675 * normal/term.c: New file.
23676 * util/console.c: Change order of includes to workaround a bug in
23677 ncurses headers.
23678 * term/terminfo.c: New argument oterm on all exported functions.
23679 All users updated.
23680 * util/grub-editenv.c (grub_term_input_class): Removed.
23681 (grub_term_output_class): Likewise.
23682
1a064917
RM
236832010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23684
23685 Make loader output a bit more user-friendly.
23686
23687 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23688 is being loaded. Likewise for the Hurd.
23689
23690 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23691 that kernel of FreeBSD ${version} is being loaded.
23692
23693 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23694 grub_dprintf().
23695 (grub_cmd_initrd): Likewise.
23696 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23697 that Linux ${version} is being loaded. Likewise for initrd.
23698
5ce0a83a 236992010-01-09 Carles Pina i Estany <carles@pina.cat>
23700
23701 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23702
809bbfeb 237032010-01-08 Carles Pina i Estany <carles@pina.cat>
23704
23705 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23706 (GRUB_MOD_INIT): Gettextizze.
23707 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23708 (GRUB_MOD_INIT): Gettextizze.
23709 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23710 (grub_cmd_linux): Capitalise Linux.
23711 (GRUB_MOD_INIT): Gettextizze.
23712 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23713 (grub_cmd_linux): Capitalise Linux.
23714 (GRUB_MOD_INIT): Gettextizze.
23715 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23716 (grub_cmd_linux): Capitalise Linux.
23717 (GRUB_MOD_INIT): Gettextizze.
23718 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23719 (GRUB_MOD_INIT): Gettextizze.
23720 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23721 (grub_cmd_linux): Capitalise Linux.
23722 (GRUB_MOD_INIT): Gettextizze.
23723 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23724 (grub_cpu_xnu_init): Gettextizze.
23725 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23726 (GRUB_MOD_INIT): Gettextizze.
23727 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23728 (GRUB_MOD_INIT): Gettextizze.
23729 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23730 (grub_linux_load64): Capitalise Linux.
23731 (GRUB_MOD_INIT): Gettextizze.
23732 * loader/xnu.c: Include `<grub/i18n.h>'.
23733 (GRUB_MOD_INIT): Gettextizze.
23734 * po/POTFILES: Add `loader/efi/appleloader.c',
23735 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23736 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23737 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23738 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23739 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23740 and `loader/xnu.c'.
23741
b394b2ca
RM
237422010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23745
237462010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23747
23748 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23749 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23750 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23751
bc8b32b3
RM
237522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23753
23754 Reset Multiboot 2 support. New loader implements the draft in
23755 /branches/multiboot2 and shares as much code as possible with the
23756 production Multiboot 1 implementation.
23757
23758 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23759 * loader/multiboot2.c: Likewise.
23760 * loader/i386/multiboot_helper.S: Likewise.
23761 * include/multiboot2.h: Replace with latest version from the draft
23762 in /branches/multiboot2.
23763
23764 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23765 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23766 and `loader/multiboot2.c'.
23767 (pkglib_MODULES): Add `multiboot2.mod'.
23768 (multiboot2_mod_SOURCES): New variable.
23769 (multiboot2_mod_LDFLAGS): Likewise.
23770 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23771
23772 * conf/i386-pc.rmk: Likewise.
23773
23774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23775 (multiboot_mod_SOURCES): Remove variable.
23776 (multiboot_mod_LDFLAGS): Likewise.
23777 (multiboot_mod_CFLAGS): Likewise.
23778
23779 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23780 `<multiboot2.h>' instead of `<multiboot.h>'.
23781 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23782 (MULTIBOOT_HEADER_MAGIC): New macros.
23783
23784 * loader/multiboot_loader.c (module_version_status): Remove variable.
23785 (find_multi_boot2_header): Remove function.
23786 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23787 logic. Always check for the Multiboot version we're compiling for.
23788 (grub_cmd_module_loader): Likewise.
23789 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23790 command instead of `multiboot'.
23791
5d2c52b8
RM
237922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23793
23794 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23795 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23796 all users.
23797
53108d92
RM
237982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
237992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 Fix breakage introduced with previous commit.
23802
23803 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23804 commands.
23805 * normal/handler.c (read_handler_list): Revert part of previous commit
23806 affecting this file.
23807 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23808 (grub_normal_execute): ... here.
23809
e2e936b2
RM
238102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 Merge prefix-redefinition-fix branch.
23813
23814 * normal/autofs.c (read_fs_list): Make function capable of being
23815 run multiple times, gracefuly replacing the previous data
23816 structures.
23817 * normal/dyncmd.c (read_command_list): Likewise.
23818 * normal/handler.c (read_handler_list): Likewise.
23819 * normal/main.c (read_lists): New function. Calls all the
23820 list reading functions.
23821 (grub_normal_execute): Use read_lists() instead of calling all
23822 list reading functions explicitly. Register read_lists() as a
23823 variable hook attached to ${prefix}.
23824
607a3701
VS
238252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 Merge crypto branch.
23828
23829 * Makefile.in (pkglib_DATA): Add crypto.lst.
23830 (crypto.lst): New target.
23831 * commands/hashsum.c: New file.
23832 * commands/password.c (check_password): Use grub_crypto_memcmp.
23833 * commands/password_pbkdf2.c: New file.
23834 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23835 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23836 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23837 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23838 -I$(srcdir)/lib/libgcrypt_wrap.
23839 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23840 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23841 password_pbkdf2.mod.
23842 (crypto_mod_SOURCES): New variable.
23843 (crypto_mod_CFLAGS): Likewise.
23844 (crypto_mod_LDFLAGS): Likewise.
23845 (hashsum_mod_SOURCES): New variable.
23846 (hashsum_mod_CFLAGS): Likewise.
23847 (hashsum_mod_LDFLAGS): Likewise.
23848 (pbkdf2_mod_SOURCES): New variable.
23849 (pbkdf2_mod_CFLAGS): Likewise.
23850 (pbkdf2_mod_LDFLAGS): Likewise.
23851 (password_pbkdf2_mod_SOURCES): New variable.
23852 (password_pbkdf2_mod_CFLAGS): Likewise.
23853 (password_pbkdf2_mod_LDFLAGS): Likewise.
23854 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23855 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23856 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23857 Include conf/gcry.rmk.
23858 * include/grub/auth.h: Rewritten.
23859 * include/grub/crypto.h: New file.
23860 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23861 * include/grub/normal.h (read_crypto_list): New prototype.
23862 * lib/crypto.c: New file.
23863 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23864 * lib/pbkdf2.c: Likewise.
23865 * normal/auth.c (grub_auth_strcmp): Removed.
23866 (grub_iswordseparator): Likewise.
23867 (grub_auth_strword): Likewise.
23868 (is_authenticated): Use grub_strword.
23869 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23870 and grub_strword. Pass entered password to authentication callback.
23871 * normal/crypto.c: New file.
23872 * normal/main.c: Call read_crypto_list.
23873 * util/grub-mkpasswd-pbkdf2.c: New file.
23874 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23875
42841caa
VS
238762010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23877
23878 Fix descent and ascent calculation.
23879
23880 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23881 (options): New option "asce".
23882 (usage): Likewise.
23883 (add_char): Ignore invalid glyphs for descent calculation.
23884 Calculate ascent from actual content.
23885 (print_glyphs): Use 'asce'.
23886 (write_font): Likewise. Allow ascent override.
23887 (main): Handle "asce" option.
23888
e7730de7 238892010-01-06 Carles Pina i Estany <carles@pina.cat>
23890
23891 * kern/err.c: Include `<grub/i18n.h>'.
23892 (grub_print_error): Add full stop. Gettextizze.
23893 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23894 (grub_bsd_load_elf): Capitalise ELF.
23895 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23896 (grub_cmd_freebsd_module): Likewise.
23897 (grub_cmd_freebsd_module_elf): Likewise.
23898 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23899
40e3a41f 239002010-01-06 Carles Pina i Estany <carles@pina.cat>
23901
23902 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23903 * commands/search_file.c (HELP_MESSAGE): New macro.
23904 * commands/search_label.c (HELP_MESSAGE): Likewise.
23905 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23906 * po/POTFILES: Add `commands/search_file.c',
23907 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23908 `commands/search.c'.
23909
83507e68
RM
239102010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23911
23912 * config.rpath: Update from Gnulib.
23913
465c787b
YB
239142010-01-05 Yves Blusseau <blusseau@zetam.org>
23915
23916 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23917
6581dd3a
YB
239182010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23919
23920 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23921
3bff18c5
CW
239222010-01-05 Colin Watson <cjwatson@ubuntu.com>
23923
23924 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23925 arguments to fread so that we get a return value in bytes, rather
23926 than something that will normally be rounded down to 0.
23927 Adjust error handling to avoid producing garbage when size_t is not
23928 the same size as long long.
23929
a1368118
CW
239302010-01-05 Colin Watson <cjwatson@ubuntu.com>
23931
23932 * util/mkisofs/write.c (padblock_write): Check return value of
23933 fread.
23934
7c302978
RM
239352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23936
23937 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23938 floppy images now.
23939
23940 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23941
e33ace06
RM
239422010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23945 instead of manual alignment.
23946 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23947 verbose). Avoid attempts to read past end of the device
23948 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23949 but GRUB_DISK_CACHE_SIZE may exceed that).
23950
4b856776
RM
239512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23952
23953 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23954 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23955 it to upper layer.
23956
52c2d97f
VS
239572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23960 New constant.
23961 (grub_efi_piwg_device_path): New structure
23962 (grub_efi_piwg_device_path_t): New type.
23963 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23964 (devpath_1): Transform to a structure. All users updated.
23965 (devpath_2): Likewise.
23966 (devpath_3): Likewise.
23967 (devpath_4): Likewise.
23968 (devpath_5): Likewise.
23969
98ff6a54
VS
239702010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 * loader/efi/appleloader.c: Restored. Update all users.
23973
3a73dcb6
RM
239742010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23975
23976 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23977
23978 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23979 (struct boot_blocklist): Move from here ...
23980 * include/grub/i386/pc/boot.h [ASM_FILE]
23981 (struct grub_boot_blocklist): ... to here. Update all users.
23982 (setup): Only initialize `start' member of `first_block'
23983 structure. Add assert() calls to verify the other members.
23984
23985 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23986 (generate_image): Fix broken blocklist length initialization.
23987 Add assert() call to verify blocklist `segment' field.
23988
ab0eeb0c
RM
239892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23990
23991 * loader/efi/appleloader.c: Remove. Update all users.
23992
58bc8bd5
RM
239932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23994
23995 * boot/i386/pc/boot.S: Update copyright year.
23996 * boot/i386/pc/cdboot.S: Likewise.
23997 * boot/i386/pc/diskboot.S: Likewise.
23998 * boot/i386/pc/lnxboot.S: Likewise.
23999 * boot/i386/pc/pxeboot.S: Likewise.
24000 * bus/pci.c: Likewise.
24001 * commands/cmp.c: Likewise.
24002 * commands/help.c: Likewise.
24003 * commands/hexdump.c: Likewise.
24004 * commands/i386/pc/halt.c: Likewise.
24005 * commands/i386/pc/play.c: Likewise.
24006 * commands/i386/pc/vbeinfo.c: Likewise.
24007 * commands/ls.c: Likewise.
24008 * commands/test.c: Likewise.
24009 * disk/dmraid_nvidia.c: Likewise.
24010 * disk/i386/pc/biosdisk.c: Likewise.
24011 * disk/ieee1275/nand.c: Likewise.
24012 * disk/ieee1275/ofdisk.c: Likewise.
24013 * disk/lvm.c: Likewise.
24014 * disk/raid.c: Likewise.
24015 * disk/raid6_recover.c: Likewise.
24016 * disk/scsi.c: Likewise.
24017 * fs/affs.c: Likewise.
24018 * fs/cpio.c: Likewise.
24019 * fs/ext2.c: Likewise.
24020 * fs/hfs.c: Likewise.
24021 * fs/iso9660.c: Likewise.
24022 * fs/ntfs.c: Likewise.
24023 * fs/sfs.c: Likewise.
24024 * fs/udf.c: Likewise.
24025 * fs/ufs.c: Likewise.
24026 * fs/xfs.c: Likewise.
24027 * gencmdlist.sh: Likewise.
24028 * genmk.rb: Likewise.
24029 * include/grub/disk.h: Likewise.
24030 * include/grub/efi/api.h: Likewise.
24031 * include/grub/efi/efi.h: Likewise.
24032 * include/grub/efi/pe32.h: Likewise.
24033 * include/grub/elf.h: Likewise.
24034 * include/grub/fs.h: Likewise.
24035 * include/grub/i386/at_keyboard.h: Likewise.
24036 * include/grub/i386/pc/memory.h: Likewise.
24037 * include/grub/i386/pc/vbe.h: Likewise.
24038 * include/grub/i386/pci.h: Likewise.
24039 * include/grub/i386/tsc.h: Likewise.
24040 * include/grub/ieee1275/ieee1275.h: Likewise.
24041 * include/grub/ntfs.h: Likewise.
24042 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24043 * include/grub/sparc64/libgcc.h: Likewise.
24044 * include/grub/symbol.h: Likewise.
24045 * include/grub/types.h: Likewise.
24046 * include/multiboot2.h: Likewise.
24047 * io/gzio.c: Likewise.
24048 * kern/device.c: Likewise.
24049 * kern/disk.c: Likewise.
24050 * kern/efi/efi.c: Likewise.
24051 * kern/efi/mm.c: Likewise.
24052 * kern/elf.c: Likewise.
24053 * kern/file.c: Likewise.
24054 * kern/i386/dl.c: Likewise.
24055 * kern/i386/pc/init.c: Likewise.
24056 * kern/i386/pc/startup.S: Likewise.
24057 * kern/ieee1275/ieee1275.c: Likewise.
24058 * kern/ieee1275/init.c: Likewise.
24059 * kern/main.c: Likewise.
24060 * kern/mm.c: Likewise.
24061 * kern/powerpc/dl.c: Likewise.
24062 * kern/sparc64/dl.c: Likewise.
24063 * kern/x86_64/dl.c: Likewise.
24064 * lib/hexdump.c: Likewise.
24065 * loader/efi/appleloader.c: Likewise.
24066 * loader/i386/ieee1275/linux.c: Likewise.
24067 * loader/i386/pc/chainloader.c: Likewise.
24068 * loader/i386/pc/linux.c: Likewise.
24069 * loader/i386/pc/multiboot2.c: Likewise.
24070 * loader/ieee1275/multiboot2.c: Likewise.
24071 * loader/multiboot2.c: Likewise.
24072 * loader/multiboot_loader.c: Likewise.
24073 * loader/powerpc/ieee1275/linux.c: Likewise.
24074 * normal/completion.c: Likewise.
24075 * normal/menu_entry.c: Likewise.
24076 * partmap/apple.c: Likewise.
24077 * util/grub.d/10_hurd.in: Likewise.
24078 * util/hostfs.c: Likewise.
24079 * video/readers/png.c: Likewise.
24080
e2d70b5c
CW
240812010-01-03 Colin Watson <cjwatson@ubuntu.com>
24082
24083 * include/grub/misc.h (GNUC_PREREQ): New macro.
24084 (ATTRIBUTE_ERROR): New macro.
24085 * include/grub/list.h (grub_bad_type_cast_real): Use
24086 ATTRIBUTE_ERROR.
24087
a173283f 240882010-01-03 Carles Pina i Estany <carles@pina.cat>
24089
24090 * normal/menu_text.c (print_message): Change messages.
24091
7fa7ff74 240922010-01-03 Carles Pina i Estany <carles@pina.cat>
24093
24094 * normal/menu_entry.c (store_completion): Gettextizze.
24095
136d24f6 240962010-01-03 Carles Pina i Estany <carles@pina.cat>
24097
24098 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24099
f936862e 241002010-01-03 Carles Pina i Estany <carles@pina.cat>
24101
24102 * po/POTFILES: Sort correctly.
24103
29c44ad1 241042010-01-03 Carles Pina i Estany <carles@pina.cat>
24105
24106 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24107 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24108 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24109 full stop.
24110 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24111 summary. Gettextizze the strings.
24112 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24113 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24114 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24115 full stop.
24116 (GRUB_MOD_INIT): Remove command name from summary.
24117 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24118 summary.
24119 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24120 * term/i386/pc/serial.c (options): Add full stops.
24121 (GRUB_MOD_INIT): Remove command name from the summary.
24122
77a79592 241232010-01-03 Carles Pina i Estany <carles@pina.cat>
24124
24125 * commands/acpi.c: Gettextizze help strings and/or options. Include
24126 `grub/i18n.h' if needed.
24127 * commands/blocklist.c: Likewise.
24128 * commands/boot.c: Likewise.
24129 * commands/cat.c: Likewise.
24130 * commands/cmp.c: Likewise.
24131 * commands/configfile.c: Likewise.
24132 * commands/crc.c: Likewise.
24133 * commands/date.c: Likewise.
24134 * commands/echo.c: Likewise.
24135 * commands/efi/fixvideo.c: Likewise.
24136 * commands/efi/loadbios.c: Likewise.
24137 * commands/gptsync.c: Likewise.
24138 * commands/halt.c: Likewise.
24139 * commands/handler.c: Likewise.
24140 * commands/hdparm.c: Likewise.
24141 * commands/hexdump.c: Likewise.
24142 * commands/i386/cpuid.c: Likewise.
24143 * commands/i386/pc/drivemap.c: Likewise.
24144 * commands/i386/pc/halt.c: Likewise.
24145 * commands/i386/pc/pxecmd.c: Likewise.
24146 * commands/i386/pc/vbeinfo.c: Likewise.
24147 * commands/i386/pc/vbetest.c: Likewise.
24148 * commands/ieee1275/suspend.c: Likewise.
24149 * commands/keystatus.c: Likewise.
24150 * commands/loadenv.c: Likewise.
24151 * commands/ls.c: Likewise.
24152 * commands/lsmmap.c: Likewise.
24153 * commands/lspci.c: Likewise.
24154 * commands/memrw.c: Likewise.
24155 * commands/minicmd.c: Likewise.
24156 * commands/parttool.c: Likewise.
24157 * commands/password.c: Likewise.
24158 * commands/probe.c: Likewise.
24159 * commands/read.c: Likewise.
24160 * commands/reboot.c: Likewise.
24161 * commands/search.c: Likewise.
24162 * commands/sleep.c: Likewise.
24163 * commands/test.c: Likewise.
24164 * commands/true.c: Likewise.
24165 * commands/usbtest.c: Likewise.
24166 * commands/videotest.c: Likewise.
24167 * commands/xnu_uuid.c: Likewise.
24168 * disk/loopback.c: Likewise.
24169 * hello/hello.c: Likewise.
24170 * loader/i386/bsd.c: Likewise.
24171 * term/i386/pc/serial.c: Likewise.
24172 * po/POTFILES: Add new files.
24173
da8d5c53
CW
241742010-01-02 Colin Watson <cjwatson@ubuntu.com>
24175
24176 * term/i386/pc/at_keyboard.c
24177 (keyboard_controller_wait_untill_ready): Rename to ...
24178 (keyboard_controller_wait_until_ready): ... this. Update all users.
24179
33937904 241802010-01-01 Carles Pina i Estany <carles@pina.cat>
24181
24182 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24183 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24184 string using string width.
24185 * normal/menu_text.c (grub_print_message_indented): Use
24186 grub_print_spaces and not print_spaces.
24187 (print_timeout): Likewise.
24188 (print_spaces): Move to...
24189 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24190
3fd3b8d8
RM
241912010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24192
24193 Import from Gnulib.
24194
24195 * gnulib/getdelim.c: New file.
24196 * gnulib/getline.c: Likewise.
24197
33433555
VS
241982009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24199
24200 * include/grub/list.h (grub_assert_fail): Removed.
24201 (grub_bad_type_cast_real): New function.
24202 (grub_bad_type_cast): New macro.
24203 (GRUB_AS_LIST): Use grub_bad_type_cast.
24204 (GRUB_AS_LIST_P): Likewise.
e44721e8 24205 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24206 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24207 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24208 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24209 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24210
f5a51306
VS
242112009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24212
24213 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24214 Fix syntax error.
24215
90d1e879
RM
242162009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24217
24218 * configure.ac: Check for TARGET_CFLAGS initialization before we
24219 initialize it ourselves (sigh).
24220 Move a few modifications to TARGET_CFLAGS to be unconditional
24221 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24222 eh_frame)
24223
24224 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24225 * term/i386/pc/at_keyboard.c
24226 (keyboard_controller_wait_untill_ready): Likewise.
24227 (keyboard_controller_led): Rename `led_status' paramter to avoid
24228 name conflict.
24229
465b5a81 242302009-12-28 Carles Pina i Estany <carles@pina.cat>
24231
24232 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24233 quotes.
24234
c181849b
VS
242352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24236
24237 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24238
9c8739a4
VS
242392009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24240
24241 * normal/menu_text.c (grub_print_message_indented): Prevent
24242 past-the-end-of-array dereference.
24243
3e74249c
VS
242442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24245
24246 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24247 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24248
64fd18ed 242492009-12-27 Carles Pina i Estany <carles@pina.cat>
24250
24251 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24252 * normal/main.c (grub_normal_read_line): Remove a space from the
24253 default prompt.
24254
714af9b9 242552009-12-27 Carles Pina i Estany <carles@pina.cat>
24256
24257 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24258 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24259 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24260 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24261 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24262 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24263 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24264
82f3e412 242652009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24266
24267 * video/readers/jpeg.c (cmd): Declare.
24268 (grub_cmd_jpegtest): Use `grub_command_t' type.
24269 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24270 Assign to `cmd'.
24271 (GRUB_MOD_FINI): Use `cmd' to unregister.
24272 * video/readers/png.c (cmd): Declare.
24273 (grub_cmd_pngtest): Use `grub_command_t' type.
24274 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24275 Assign to `cmd'.
24276 (GRUB_MOD_FINI): Use `cmd' to unregister.
24277 * video/readers/tga.c (cmd): Declare.
24278 (grub_cmd_tgatest): Use `grub_command_t' type.
24279 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24280 Assign to `cmd'.
24281 (GRUB_MOD_FINI): Use `cmd' to unregister.
24282
82f3e412 242832009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24284
24285 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24286 stops.
24287 * kern/corecmd.c (grub_register_core_commands): Likewise.
24288 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24289 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24290 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24291 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24292 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24293 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24294 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24295 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24296 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24297 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24298 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24299 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24300 * normal/handler.c (insert_handler): Likewise.
24301 * normal/main.c (GRUB_MOD_INIT): Likewise.
24302 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24303
fdcdbb66 243042009-12-26 Carles Pina i Estany <carles@pina.cat>
24305
24306 * commands/help.c (grub_cmd_help): Print the command name before the
24307 summary.
24308 (GRUB_MOD_INIT): Remove command name from the summary.
24309 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24310 string as summary.
fdcdbb66 24311 * lib/arg.c (find_long): Print the command name before the summary.
24312 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24313 summary.
24314 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24315 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24316 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24317 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24318 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24319 * commands/date.c (GRUB_MOD_INIT): Likewise.
24320 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24321 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24322 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24323 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24324 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24325 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24326 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24327 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24328 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24329 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24330 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24331 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24332 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24333 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24334 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24335 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24336 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24337 * commands/password.c (GRUB_MOD_INIT): Likewise.
24338 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24339 * commands/read.c (GRUB_MOD_INIT): Likewise.
24340 * commands/search.c (GRUB_MOD_INIT): Likewise.
24341 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24342 * commands/test.c (GRUB_MOD_INIT): Likewise.
24343 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24344 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24345 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24346 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24347 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24348 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24349 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24350 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24351 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24352 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24353 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24354 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24355 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24356 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24357
9c288be2
VS
243582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 Use search command for preliminar UUID search.
24361
24362 * commands/search.c: Split into ...
24363 * commands/search_wrap.c: ...this
24364 * commands/search.c: ...and this.
24365 * commands/search_file.c: New file.
24366 * commands/search_label.c: New file.
24367 * commands/search_uuid.c: New file.
24368 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24369 Add commands/search_wrap.c, commands/search_file.c,
24370 commands/search_label.c and commands/search_uuid.c.
24371 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24372 (search_mod_SOURCES): Set to commands/search_wrap.c.
24373 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24374 search_label.mod.
24375 (search_fs_file_mod_SOURCES): New variable.
24376 (search_fs_file_mod_CFLAGS): Likewise.
24377 (search_fs_file_mod_LDFLAGS): Likewise.
24378 (search_label_mod_SOURCES): Likewise.
24379 (search_label_mod_CFLAGS): Likewise.
24380 (search_label_mod_LDFLAGS): Likewise.
24381 (search_fs_uuid_mod_SOURCES): New variable.
24382 (search_fs_uuid_mod_CFLAGS): Likewise.
24383 (search_fs_uuid_mod_LDFLAGS): Likewise.
24384 (fs_file_mod_SOURCES): Removed.
24385 (fs_file_mod_CFLAGS): Likewise.
24386 (fs_file_mod_LDFLAGS): Likewise.
24387 (fs_uuid_mod_SOURCES): Removed.
24388 (fs_uuid_mod_CFLAGS): Likewise.
24389 (fs_uuid_mod_LDFLAGS): Likewise.
24390 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24391 Set to util/grub-install.in.
24392 * disk/fs_file.c: Removed.
24393 * disk/fs_uuid.c: Likewise.
24394 * include/grub/search.h: New file.
24395 * util/grub-install.in: Handle sparc64.
24396 Create and use load.cfg.
24397 * util/sparc64/ieee1275/grub-install.in: Removed.
24398
db943399
VS
243992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24402 Ignore return status if CF is cleared.
24403 (grub_biosdisk_get_diskinfo_standard): Likewise.
24404
3fdae612
RM
244052009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24406
24407 * term/i386/pc/at_keyboard.c
24408 (keyboard_controller_wait_untill_ready): New function.
24409 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24410 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24411 for keyboard polling, rather than duplicate the same loop. This
24412 saves a few bytes in code size.
24413
7ebaa2b4
VS
244142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24415
24416 Support for (pxe[:server[:gateway]]) syntax and
24417 use environment variable for PXE.
24418
24419 * commands/i386/pc/pxecmd.c (options): Removed.
24420 (print_ip): Removed.
24421 (grub_cmd_pxe): Removed
24422 (grub_cmd_pxe_unload): New function.
24423 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24424 (grub_pxe_your_ip): Made static.
24425 (grub_pxe_default_server_ip): Likewise.
24426 (grub_pxe_default_gateway_ip): Likewise.
24427 (grub_pxe_blksize): Likewise.
24428 (parse_ip): New function.
24429 (grub_pxe_open): Support server and gateway specification.
24430 (grub_pxe_close): Free disk->data.
24431 (grub_pxefs_open): Use disk->data.
24432 (grub_pxefs_read): Likewise.
24433 (grub_env_write_readonly): New function.
24434 (set_mac_env): Likewise.
24435 (set_env_limn_ro): Likewise.
24436 (parse_dhcp_vendor): Likewise.
24437 (grub_pxe_detect): Set the environment variables.
24438 (set_ip_env): New function.
24439 (write_ip_env): Likewise.
24440 (grub_env_write_pxe_default_server): Likewise.
24441 (grub_env_write_pxe_default_gateway): Likewise.
24442 (grub_env_write_pxe_blocksize): Likewise.
24443 (GRUB_MOD_INIT(pxe)): Set environment variables.
24444 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24445 (grub_pxe_mac_addr_t): ... this. All users updated.
24446 (grub_pxe_your_ip): Removed.
24447 (grub_pxe_server_ip): Likewise.
24448 (grub_pxe_gateway_ip): Likewise.
24449 (grub_pxe_blksize): Likewise.
24450
ec5f98ab 244512009-12-25 Carles Pina i Estany <carles@pina.cat>
24452
24453 * commands/help.c: Include `<grub/i18n.h>'.
24454 (grub_cmd_help): Gettextizze.
24455 (GRUB_MOD_INIT): Likewise.
24456 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24457 (GRUB_MOD_INIT): Gettextizze.
24458 * commands/search.c: Include `<grub/i18n.h>'.
24459 (options): Gettextizze.
24460 (GRUB_MOD_INIT): Gettextizze.
24461 * lib/arg.c: Include `<grub/i18n.h>'.
24462 (help_options): Gettextizze.
24463 (find_long): Likewise.
24464 (grub_arg_show_help): Likewise.
24465 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24466 (read_command_list): Gettextizze.
24467 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24468 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24469
22815526
RM
244702009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24471
24472 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24473 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24474 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24475 (led_status): New variable.
24476 (keyboard_controller_led): New function.
24477 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24478 update led status for caps lock, num lock and scroll lock.
24479
0ad46fd7
FZ
244802009-12-25 Felix Zielcke <fzielcke@z-51.de>
24481
24482 * util/hostdisk.c (open_device): Fix a comment.
24483
d0e158c2
RM
244842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24485
24486 * util/grub-install.in (host_os): New variable.
24487 * util/i386/efi/grub-install.in (host_os): Likewise.
24488
401c0ad6
RM
244892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24490
24491 * util/mkisofs/write.c (padblock_write): Abort when given an
24492 excedingly large embed image, instead of silently truncating it.
24493
d14d3370
RM
244942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24495
24496 * include/multiboot.h: Indentation fixes.
24497
eeed10b4
RM
244982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24499
24500 * include/multiboot.h (struct multiboot_aout_symbol_table)
24501 (struct multiboot_elf_section_header_table): New structure
24502 declarations (stolen from GRUB Legacy).
24503 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24504 table information.
24505
24506 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24507 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24508 type aliases.
24509
681c70ab
RM
245102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24511
24512 * include/multiboot.h: Make comments src2texi-friendly.
24513
e4d47d8d
RM
245142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24515
24516 For consistency with [multiboot]/docs/boot.S.
24517
24518 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24519 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24520 (MULTIBOOT_MAGIC2): Rename from this ...
24521 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24522
a0b70bda
RM
245232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24524
24525 * include/multiboot.h: Remove `<grub/types.h>'.
24526 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24527 types. Update all users.
24528
61ba42be 245292009-12-25 Carles Pina i Estany <carles@pina.cat>
24530
24531 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24532 `couldn't' and `can not' by `cannot'.
24533 * commands/i386/pc/drivemap.c: Likewise.
24534 * disk/ata.c: Likewise.
24535 * disk/ieee1275/nand.c: Likewise.
24536 * fs/affs.c: Likewise.
24537 * fs/fat.c: Likewise.
24538 * fs/hfs.c: Likewise.
24539 * fs/hfsplus.c: Likewise.
24540 * fs/iso9660.c: Likewise.
24541 * fs/jfs.c: Likewise.
24542 * fs/minix.c: Likewise.
24543 * fs/reiserfs.c: Likewise.
24544 * fs/sfs.c: Likewise.
24545 * fs/udf.c: Likewise.
24546 * fs/ufs.c: Likewise.
24547 * fs/xfs.c: Likewise.
24548 * loader/powerpc/ieee1275/linux.c: Likewise.
24549 * loader/sparc64/ieee1275/linux.c: Likewise.
24550 * util/grub-probe.c: Likewise.
24551 * util/misc.c: Likewise.
24552
7fd0baee 245532009-12-24 Carles Pina i Estany <carles@pina.cat>
24554
24555 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24556 grub_errno calls.
24557 * commands/acpi.c: Likewise.
24558 * commands/blocklist.c: Likewise.
24559 * commands/efi/loadbios.c: Likewise.
24560 * commands/i386/pc/drivemap.c: Likewise.
24561 * commands/loadenv.c: Likewise.
24562 * commands/memrw.c: Likewise.
24563 * commands/password.c: Likewise.
24564 * commands/videotest.c: Likewise.
24565 * disk/ata.c: Likewise.
24566 * disk/ata_pthru.c: Likewise.
24567 * disk/dmraid_nvidia.c: Likewise.
24568 * disk/ieee1275/nand.c: Likewise.
24569 * disk/ieee1275/ofdisk.c: Likewise.
24570 * disk/loopback.c: Likewise.
24571 * disk/lvm.c: Likewise.
24572 * disk/mdraid_linux.c: Likewise.
24573 * disk/raid.c: Likewise.
24574 * disk/raid6_recover.c: Likewise.
24575 * disk/scsi.c: Likewise.
24576 * efiemu/main.c: Likewise.
24577 * efiemu/mm.c: Likewise.
24578 * efiemu/pnvram.c: Likewise.
24579 * efiemu/symbols.c: Likewise.
24580 * font/font.c: Likewise.
24581 * fs/cpio.c: Likewise.
24582 * fs/hfsplus.c: Likewise.
24583 * fs/iso9660.c: Likewise.
24584 * fs/jfs.c: Likewise.
24585 * fs/minix.c: Likewise.
24586 * fs/ntfs.c: Likewise.
24587 * fs/ntfscomp.c: Likewise.
24588 * fs/reiserfs.c: Likewise.
24589 * fs/ufs.c: Likewise.
24590 * fs/xfs.c: Likewise.
24591 * gettext/gettext.c: Likewise.
24592 * include/grub/auth.h: Likewise.
24593 * kern/elf.c: Likewise.
24594 * kern/file.c: Likewise.
24595 * kern/ieee1275/init.c: Likewise.
24596 * kern/ieee1275/mmap.c: Likewise.
24597 * kern/ieee1275/openfw.c: Likewise.
24598 * kern/powerpc/dl.c: Likewise.
24599 * kern/sparc64/dl.c: Likewise.
24600 * lib/arg.c: Likewise.
24601 * loader/i386/bsd.c: Likewise.
24602 * loader/i386/bsdXX.c: Likewise.
24603 * loader/i386/efi/linux.c: Likewise.
24604 * loader/i386/efi/xnu.c: Likewise.
24605 * loader/i386/ieee1275/linux.c: Likewise.
24606 * loader/i386/linux.c: Likewise.
24607 * loader/i386/multiboot.c: Likewise.
24608 * loader/i386/pc/linux.c: Likewise.
24609 * loader/i386/pc/multiboot2.c: Likewise.
24610 * loader/i386/xnu.c: Likewise.
24611 * loader/ieee1275/multiboot2.c: Likewise.
24612 * loader/macho.c: Likewise.
24613 * loader/machoXX.c: Likewise.
24614 * loader/multiboot2.c: Likewise.
24615 * loader/multiboot_loader.c: Likewise.
24616 * loader/powerpc/ieee1275/linux.c: Likewise.
24617 * loader/sparc64/ieee1275/linux.c: Likewise.
24618 * loader/xnu.c: Likewise.
24619 * loader/xnu_resume.c: Likewise.
24620 * mmap/i386/pc/mmap.c: Likewise.
24621 * normal/menu_viewer.c: Likewise.
24622 * partmap/acorn.c: Likewise.
24623 * partmap/amiga.c: Likewise.
24624 * partmap/apple.c: Likewise.
24625 * script/lexer.c: Likewise.
24626 * term/gfxterm.c: Likewise.
24627 * term/i386/pc/serial.c: Likewise.
24628 * term/i386/pc/vga.c: Likewise.
24629 * term/ieee1275/ofconsole.c: Likewise.
24630 * term/terminfo.c: Likewise.
24631 * video/bitmap.c: Likewise.
24632 * video/efi_gop.c: Likewise.
24633 * video/efi_uga.c: Likewise.
24634 * video/fb/video_fb.c: Likewise.
24635 * video/i386/pc/vbe.c: Likewise.
24636 * video/readers/tga.c: Likewise.
24637 * video/video.c: Likewise.
24638
0ad46fd7 246392009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24640
24641 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24642 * commands/lspci.c: Likewise.
24643 * commands/probe.c: Likewise.
24644 * commands/xnu_uuid.c: Likewise.
24645 * conf/i386-coreboot.rmk: Likewise.
24646 * conf/i386-efi.rmk: Likewise.
24647 * conf/i386-ieee1275.rmk: Likewise.
24648 * conf/i386-pc.rmk: Likewise.
24649 * conf/powerpc-ieee1275.rmk: Likewise.
24650 * conf/sparc64-ieee1275.rmk: Likewise.
24651 * conf/x86_64-efi.rmk: Likewise.
24652 * fs/i386/pc/pxe.c: Likewise.
24653 * gettext/gettext.c: Likewise.
24654 * include/grub/efi/graphics_output.h: Likewise.
24655 * include/grub/i386/pc/memory.h: Likewise.
24656 * kern/env.c: Likewise.
24657 * kern/i386/qemu/startup.S: Likewise.
24658 * lib/i386/pc/biosnum.c: Likewise.
24659 * lib/i386/relocator.c: Likewise.
24660 * lib/i386/relocator_asm.S: Likewise.
24661 * lib/relocator.c: Likewise.
24662 * loader/i386/bsd.c: Likewise.
24663 * loader/i386/multiboot.c: Likewise.
24664 * loader/i386/pc/chainloader.c: Likewise.
24665 * loader/i386/xnu.c: Likewise.
24666 * loader/xnu.c: Likewise.
24667 * normal/main.c: Likewise.
24668 * normal/menu_text.c: Likewise.
24669 * util/getroot.c: Likewise.
24670 * util/grub-mkconfig_lib.in: Likewise.
24671 * util/grub.d/00_header.in: Likewise.
24672 * util/i386/pc/grub-mkimage.c: Likewise.
24673 * util/mkisofs/eltorito.c: Likewise.
24674 * util/mkisofs/exclude.h: Likewise.
24675 * util/mkisofs/hash.c: Likewise.
24676 * util/mkisofs/iso9660.h: Likewise.
24677 * util/mkisofs/joliet.c: Likewise.
24678 * util/mkisofs/mkisofs.c: Likewise.
24679 * util/mkisofs/mkisofs.h: Likewise.
24680 * util/mkisofs/multi.c: Likewise.
24681 * util/mkisofs/name.c: Likewise.
24682 * util/mkisofs/rock.c: Likewise.
24683 * util/mkisofs/tree.c: Likewise.
24684 * util/mkisofs/write.c: Likewise.
24685 * video/efi_gop.c: Likewise.
24686
009ec743
VS
246872009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24688
24689 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24690 size counting.
24691
0ad46fd7 246922009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24693
24694 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24695 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24696
d3d30ea0
VS
246972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24700 (GRUB_MOD_INIT(memrw)): Update help line.
24701
a34f5c70
VS
247022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24703
24704 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24705 Use grub_extcmd_t. All users updated.
24706 (options): New variable.
24707 (grub_cmd_read): Restructure for readability. Support "-v" option.
24708 (grub_cmd_write): Restructure for readability.
24709
0ad46fd7 247102009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24711
24712 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24713
0ad46fd7 247142009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24715
24716 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24717 with the actual contents of the correspondending make variable.
24718 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24719 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24720 specifying `*.lst' and `efiemu??.o'
24721
0ad46fd7 247222009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24723
24724 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24725 after function name.
24726 Noticed by Rene Engelhard <rene@debian.org>.
24727
dc77a799
VS
247282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24729
24730 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24731 (options): New variable.
24732 (iospace): Likewise.
24733 (grub_lspci_iter): List IO spaces if "-i" was given.
24734 (grub_cmd_lspci): Parse options.
24735 (GRUB_MOD_INIT(lspci)): Use extcmd.
24736 (GRUB_MOD_FINI(lspci)): Likewise.
24737
0ad46fd7 247382009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24739
24740 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24741 `function' keyword.
24742 Patch by Tony Mancill <tmancill@debian.org>.
24743
b5d5993b
VS
247442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24747 (grub_uhci_portstatus): Likewise.
24748 (grub_uhci_portstatus): Add necessary delay.
11d18281 24749 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24750
941903f2 247512009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24752
941903f2 24753 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24754 (GRUB_MOD_INIT): Likewise.
24755 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24756 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24757 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24758 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24759 (enable_rom_area): Likewise.
24760 (GRUB_MOD_INIT): Likewise.
24761 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24762 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24763 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24764 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24765 * commands/hexdump.c (options): Likewise.
24766 * commands/i386/cpuid.c (options): Likewise.
24767 (GRUB_MOD_INIT): Likewise.
24768 * commands/i386/pc/drivemap.c (options): Likewise.
24769 (GRUB_MOD_INIT): Likewise.
24770 * commands/i386/pc/halt (options): Likewise.
24771 (GRUB_MOD_INIT): Likewise.
24772 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24773 * commands/i386/pc/pxecmd.c (options): Likewise.
24774 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24775 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24776 * commands/keystatus.c (options): Likewise.
24777 (GRUB_MOD_INIT): Likewise.
24778 * commands/loadenv.c (options): Likewise.
24779 * commands/ls.c (options): Likewise.
24780 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24781 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24782 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24783 * commands/parttool.c (helpmsg): Likewise.
24784 * commands/probe.c (options): Likewise.
24785 * commands/read.c (GRUB_MOD_INIT): Likewise.
24786 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24787 * commands/search.c (options): Likewise.
24788 * commands/sleep.c (options): Likewise.
24789 * commands/test.c (GRUB_MOD_INIT): Likewise.
24790 * commands/true.c (GRUB_MOD_INIT): Likewise.
24791 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24792 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24793 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24794 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24795 `$(XGETTEXT)'.
98a50553 24796 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24797
0ad46fd7 247982009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24799
ef3c2c3a 24800 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24801 instead of specifying them explicit.
24802
7922f68b
RM
248032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24804
24805 * NEWS: Add grub-probe support for GNU/Hurd.
24806
537ce47f
RM
248072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24808
24809 * NEWS: gettext was added after 1.97.
24810
9b214e3a
RM
248112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24812
24813 * util/mkisofs/msdos_partition.h: New file (based on
24814 include/grub/msdos_partition.h).
24815 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24816 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24817 (ld_options, main): Recognize --protective-msdos-label.
24818 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24819 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24820 (padblock_write): If `use_protective_msdos_label' is set, patch a
24821 protective DOS-style label in the output image.
24822
24823 * util/grub-mkrescue.in: Use --protective-msdos-label.
24824
e9309813
RM
248252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24826
24827 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24828 boot.
24829
0ae56929
RM
248302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24831
24832 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24833 variables.
24834 (ld_options, main): Recognize `--embedded-boot'.
24835 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24836 declarations.
24837 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24838 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24839 (padblock_write): Likewise. Rewrite to support embedded boot image.
24840
24841 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24842 for BIOS-based disk boot instead of only ElTorito.
24843
b15937b1
RM
248442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24845
24846 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24847 build (not needed for bootstrap).
24848
52cc3ce0
RM
248492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24850
24851 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24852 from i386-pc build (not needed for bootstrap).
24853 Rewrite a pair of strings.
24854
36f5ff04
RM
248552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24856
24857 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24858
973c6c85 248592009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24860
24861 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24862
05d21547
AB
248632009-12-21 Andreas Born <futur.andy@googlemail.com>
24864
24865 * kern/env.c (grub_env_context_open): Mark exported variable for
24866 reexport.
24867
0175d51f
AB
248682009-12-21 Andreas Born <futur.andy@googlemail.com>
24869
24870 * kern/env.c (grub_env_export): Create nonexistent variables before
24871 exporting.
24872
7f39d92f 248732009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24874
7f39d92f 24875 * include/grub/auth.h: Include `<grub/i18n.h>'.
24876 (GRUB_GET_PASSWORD): Gettextizze string.
24877 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24878 menu_text.c.
24879 (grub_utf8_to_ucs4_alloc): Fix indentation.
24880 (grub_print_ucs4): Likewise.
24881 (grub_getstringwidth): Likewise.
24882 (print_message_indented): New declaration.
24883 * normal/auth.c: Include `<grub/i18n.h>'.
24884 (grub_auth_check_authentication): Gettexttize string.
24885 * normal/cmdline.c: Include `<grub/i18n.h>'.
24886 (grub_cmdline_get): Gettextizze.
24887 * normal/color.c: Include `<grub/i18n.h>'.
24888 (grub_parse_color_name_pair): Gettexttize strings.
24889 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24890 string (use `print_message_indented').
24891 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24892 `include/grub/normal.h'.
24893 (print_message_indented): Renamed to ...
24894 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24895 used in normal/main.c).
24896 (print_message): Use `grub_print_message_indented' instead of
24897 `print_message_indented'.
24898 (print_timeout): Likewise.
24899 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24900 (grub_normal_print_device_info): Gettexttize strings.
24901 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24902
3041d898
VS
249032009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24904
24905 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24906 of arguments. Return number of tokens and not arguments. All users
24907 updated.
24908
de15bf8e
VS
249092009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24912 non-MSDOS paritions.
24913
e0a6ca52
VS
249142009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * include/grub/types.h (UNUSED): Removed since it conflicts with
24917 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24918 Reported by Grégoire Sutre.
24919
b99518d1 249202009-12-19 Carles Pina i Estany <carles@pina.cat>
24921
24922 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24923 (grub_print_ucs4_alloc): Likewise.
24924 (grub_getstringwidth): Likewise.
24925 * normal/main.c (grub_normal_init_page): Gettextize version string.
24926 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24927 (getstringwidth): Renamed to ...
24928 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24929 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24930 (grub_print_ucs4): Remove `static' qualifer (now used in
24931 normal/main.c).
24932 * po/POTFILES: Add normal/main.c.
24933
bfd5e52b 249342009-12-19 Carles Pina i Estany <carles@pina.cat>
24935
24936 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24937 (print_message_indented): Add `margin_left' and `margin_right'
24938 parameters.
24939 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24940 strings.
24941 (print_timeout): Use `print_message_indented' to print the message.
24942 Deletes `second_stage' parameter.
24943 (run_menu): Update `print_timeout' calls.
24944
5a1ad2b9
VS
249452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 Fix console palette on OpenFirmware.
24948
24949 * term/ieee1275/ofconsole.c (MAX): Removed.
24950 (colors): Redone based on VGA palette.
24951 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24952 colors are supported.
24953 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24954
b045f00a
VS
249552009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 Fix potential EfiEmu double prepare.
24958
24959 * efiemu/main.c (prepared): New variable
24960 (grub_efiemu_unload): Set prepare to '0'.
24961 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24962
24963 set_virtual_address_map support.
24964
24965 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24966 prototype.
24967 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24968 prototype.
24969 (grub_efiemu_crc32): Likewise.
24970 (grub_efiemu_crc64): Likewise.
24971 (grub_efiemu_set_virtual_address_map): Likewise.
24972 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24973 New definition.
24974 (grub_autoefi_set_virtual_address_map): Likewise.
24975 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24976 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24977 Restructure flow to accomodate it.
24978 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24979 (grub_efiemu_crc): Recompute CRC32.
24980 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24981 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24982 * efiemu/symbols.c (relocated_handle): New variable.
24983 (grub_efiemu_free_syms): Free relocated_handle.
24984 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24985 (grub_efiemu_write_sym_markers): New function.
24986 (grub_efiemu_set_virtual_address_map): Likewise.
24987
24988 Newer XNU parameters.
24989
24990 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24991 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24992 (grub_xnu_fill_devicetree): New prototype.
24993 (grub_xnu_heap_real_start): New variable.
24994 * loader/xnu.c (get_name_ptr): New function.
24995 (grub_xnu_load_driver): Fill namelen and name.
24996
24997 64-bit xnu support.
24998
24999 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25000 and 'loader/macho64.c'.
25001 * conf/i386-pc.rmk: Likewise.
25002 * conf/x86_64-efi.rmk: Likewise.
25003 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25004 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25005 * include/grub/macho.h (grub_macho_segment64): New structure.
25006 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25007 (grub_macho_size32): ... to this.
25008 (grub_macho32_get_entry_point): Renamed from ...
25009 (grub_macho_get_entry_point32): ... to this.
25010 (grub_macho_contains_macho64): New prototype.
25011 (grub_macho_size64): Likewise.
25012 (grub_macho_get_entry_point64): Likewise.
25013 (grub_macho32_load): Renamed from ...
25014 (grub_macho_load32): ... to this.
25015 (grub_macho32_filesize): Renamed from ...
25016 (grub_macho_filesize32): ... to this.
25017 (grub_macho32_readfile): Renamed from ...
25018 (grub_macho_readfile32): ... to this.
25019 (grub_macho_filesize64): New prototype.
25020 (grub_macho_readfile64): Likewise.
25021 (grub_macho_parse32): Likewise.
25022 (grub_macho_parse64): Likewise.
25023 * loader/macho.c: Split into ...
25024 * loader/machoXX.c: ... and this. Replace 32 with XX.
25025 * loader/macho32.c: New file.
25026 * loader/macho64.c: Likewise.
25027 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25028 (grub_cmd_xnu_kernel): Make 32-bit only.
25029 (grub_cmd_xnu_kernel64): New function.
25030 (grub_xnu_load_driver): Support Mach-O 64.
25031 (grub_cmd_xnu_mkext): Likewise.
25032 * util/grub.d/30_os-prober.in (osx_entry): New function.
25033 Generate entries for 64-bit boot too.
25034
25035 Eliminate ad-hoc tree format in XNU and EfiEmu.
25036
25037 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25038 * efiemu/pnvram.c: Rewritten to use environment variables.
25039 All users updated.
25040
25041 Inline utf16_to_utf8.
25042
25043 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25044 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25045 All users updated.
25046 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25047
25048 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25049 * commands/usbtest.c (grub_usb_get_string): ... move here.
25050 (usb_print_str): Fix error handling.
25051 * include/grub/usb.h (grub_usb_get_string): Remove.
25052
25053 UTF-8 to UTF-16 transformation.
25054
25055 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25056 (charset_mod_SOURCES): New variable.
25057 (charset_mod_CFLAGS): Likewise.
25058 (charset_mod_LDFLAGS): Likewise.
25059 * include/grub/utf.h: New file.
25060 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25061
25062 Support for device properties.
25063
25064 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25065 (grub_xnu_devprop_device_header): Likewise.
25066 (grub_xnu_devprop_device_descriptor): Likewise.
25067 (grub_xnu_devprop_add_device): New prototype.
25068 (grub_xnu_devprop_remove_device): Likewise.
25069 (grub_xnu_devprop_remove_property): Likewise.
25070 (grub_xnu_devprop_add_property_utf8): Likewise.
25071 (grub_xnu_devprop_add_property_utf16): Likewise.
25072 (grub_cpu_xnu_init): Likewise.
25073 (grub_cpu_xnu_fini): Likewise.
25074 (grub_cpu_xnu_unload): Likewise.
25075 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25076 (property_descriptor): Likewise.
25077 (devices): New variable.
25078 (grub_xnu_devprop_remove_property): New function.
25079 (grub_xnu_devprop_add_device): Likewise.
25080 (grub_xnu_devprop_remove_device): Likewise.
25081 (grub_xnu_devprop_add_property): Likewise.
25082 (grub_xnu_devprop_add_property_utf8): Likewise.
25083 (grub_xnu_devprop_add_property_utf16): Likewise.
25084 (hextoval): Likewise.
25085 (grub_cpu_xnu_fill_devprop): Likewise.
25086 (grub_cmd_devprop_load): Likewise.
25087 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25088 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25089 (cmd_devprop_load): New variable.
25090 (grub_cpu_xnu_init): New function.
25091 (grub_cpu_xnu_fini): Likewise.
25092 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25093 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25094 (grub_cmd_xnu_devtree): Likewise.
25095 (hextoval): New function.
25096 (unescape): Likewise.
25097 (grub_xnu_fill_devicetree): Likewise.
25098
25099 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25100 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25101
0945f181
VS
251022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 Workaround for broken ATI VBE.
25105
25106 * video/i386/pc/vbe.c (last_set_mode): New variable.
25107 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25108 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25109 (grub_video_vbe_setup): Don't check for reserved flag.
25110
0ad46fd7 251112009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25112
25113 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25114 the `find' command.
25115
c179ebe4
VS
251162009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25117
25118 UUID support for HFS.
25119
25120 * fs/hfs.c (grub_hfs_uuid): New function.
25121 (grub_hfs_fs): New value .uuid.
25122 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25123
0ad46fd7 251242009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25125
25126 Fix a segfault with parsing unknown long options.
25127
25128 * util/grub-mkrelpath.c (options): Zero terminate it.
25129
c4a3e41a
CPE
251302009-12-13 Carles Pina i Estany <carles@pina.cat>
25131
25132 * include/grub/misc.h (grub_puts): New declaration.
25133 (grub_puts_): Likewise.
a22008a6 25134 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25135 (grub_puts_): Likewise.
25136
2e8a7602
RM
251372009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25138
25139 * util/grub-probe.c (probe): Improve error message.
25140
b50b77b9
RM
251412009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * loader/i386/multiboot_elfxx.c
25144 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25145 initialization.
25146
251472009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 Relocator framework
25150
25151 * loader/i386/xnu_helper.S: Removed. All users updated.
25152 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25153 (relocator_mod_SOURCES): New variable.
25154 (relocator_mod_CFLAGS): Likewise.
25155 (relocator_mod_LDFLAGS): Likewise.
25156 (relocator_mod_ASFLAGS): Likewise.
25157 * conf/x86_64.rmk: Likewise.
25158 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25159 (grub_multiboot_payload_entry_offset): Likewise.
25160 (grub_multiboot_forward_relocator): Likewise.
25161 (grub_multiboot_forward_relocator_end): Likewise.
25162 (grub_multiboot_backward_relocator): Likewise.
25163 (grub_multiboot_backward_relocator_end): Likewise.
25164 (grub_multiboot_payload_eip): New variable.
25165 (grub_multiboot_payload_orig): Likewise.
25166 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25167 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25168 * include/grub/i386/memory.h
25169 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25170 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25171 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25172 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25173 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25174 * include/grub/i386/relocator.h: New file.
25175 * include/grub/x86_64/relocator.h: Likewise.
25176 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25177 (XNU_RELOCATOR): New macro.
25178 (grub_xnu_launcher_start): Remove.
25179 (grub_xnu_launcher_end): Likewise.
25180 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25181 (grub_xnu_heap_real_start): Remove.
25182 (grub_xnu_heap_start): Change to void *. All users updated.
25183 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25184 * lib/i386/relocator.c: New file.
25185 * lib/i386/relocator_asm.S: Likewise.
25186 * lib/i386/relocator_backward.S: Likewise.
25187 * lib/mips/relocator.c: Likewise.
25188 * lib/mips/relocator_asm.S: Likewise.
25189 * lib/relocator.c: Likewise.
25190 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25191 (entry): Removed.
25192 (playground): Likewise.
25193 (grub_multiboot_payload_orig): New variable.
25194 (grub_multiboot_payload_dest): Likewise.
25195 (grub_multiboot_payload_size): Likewise.
25196 (grub_multiboot_payload_eip): Likewise.
25197 (grub_multiboot_payload_esp): Likewise.
25198 (grub_multiboot_boot): Use grub_relocator32_boot.
25199 (grub_multiboot_unload): Free relocators.
25200 (grub_multiboot): Setup stack. Use relocators.
25201 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25202 (grub_multiboot_load_elfXX): Use relocators.
25203 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25204 (grub_multiboot_payload_size): Likewise.
25205 (grub_multiboot_payload_dest): Likewise.
25206 (grub_multiboot_payload_entry_offset): Likewise.
25207 (grub_multiboot_forward_relocator): Likewise.
25208 (grub_multiboot_backward_relocator): Likewise.
25209 (grub_multiboot_real_boot): Likewise.
25210 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25211 (grub_xnu_entry_point): Likewise.
25212 (grub_xnu_arg1): Likewise.
25213 (grub_xnu_stack): Likewise.
25214 (grub_xnu_launch): Removed.
25215 (grub_xnu_boot_resume): New function.
25216 (grub_xnu_boot): Use relocators.
25217 * loader/i386/xnu_helper.S: Removed.
25218 * loader/xnu.c (grub_xnu_heap_start): New variable.
25219 (grub_xnu_heap_size): Likewise.
25220 (grub_xnu_heap_malloc): Use relocators.
25221 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25222
29eb90c6
VS
252232009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25224
25225 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25226 anything.
25227
31027430
CPE
252282009-12-13 Carles Pina i Estany <carles@pina.cat>
25229
25230 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25231 GRUB_ERR_NONE before calling grub_env_set.
25232
dc0c71d9
RM
252332009-12-12 Robert Millan <rmh@aybabtu.com>
25234
25235 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25236 * genmk.rb (video): New variable.
25237 (CLEANFILES, VIDEOFILES): Add #{video}.
25238 (#{video}): New target rule.
25239 * genvideolist.sh: New file.
25240 * Makefile.in (pkglib_DATA): Add video.lst.
25241 (video.lst): New target rule.
25242 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25243 `video.lst'.
25244 * util/grub.d/30_os-prober.in: Replace `vbe' with
25245 ${GRUB_VIDEO_BACKEND}.
25246
2a4bfcf0
RM
252472009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25248
25249 * THANKS: Add David Miller.
25250
2a3aa4d5
RM
252512009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 libpciaccess support.
25254
25255 * Makefile.in (LIBPCIACCESS): New variable.
25256 (enable_grub_emu_pci): Likewise.
25257 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25258 util/pci.c and commands/lspci.c.
25259 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25260 * configure.ac (grub-emu-pci): New option.
25261 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25262 (grub_pci_device_unmap_range): Likewise.
25263 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25264 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25265 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25266 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25267 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25268 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25269 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25270 * include/grub/pciutils.h: New file.
25271 * util/pci.c: Likewise.
25272
0ad46fd7 252732009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25274
25275 * util/misc.c: Don't include <errno.h> twice.
25276
0ad46fd7 252772009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25278
25279 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25280 name in an error message.
25281 (grub_biosdisk_rw): Likewise.
25282
2e59983c
VS
252832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25284
25285 Eliminate NTFS 4Gib barrier.
25286
25287 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25288 (read_run_data): Likewise.
25289 (grub_ntfs_read_run_list): Likewise.
25290 (grub_ntfs_read_block): Likewise.
25291 (grub_ntfs_iterate_dir): Likewise.
25292 (read_mft): Likewise.
25293 (read_data): Likewise.
25294 Use COM_LOG_LEN.
25295 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25296 to avoid 64-bit division
25297 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25298 (grub_ntfs_rlst): Use grub_disk_addr_t.
25299
71ee178a
VS
253002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25301
25302 Eliminate grub-fstest 4Gib barrier.
25303
25304 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25305 (read_file): Fix error reporting.
25306
2520d4b8
VS
253072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25308
25309 Eliminate hexdump 4Gib barrier.
25310
25311 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25312 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25313
e1f27065
VS
253142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25317 Fixes amarsh bug.
25318
1a0f7f45
RM
253192009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25320
25321 Remove miscellaneous files in distclean target.
25322
25323 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25324
c631d9fb
CW
253252009-12-09 Colin Watson <cjwatson@ubuntu.com>
25326
25327 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25328 if they're already set. This resolves the conflict between my
25329 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25330 fixing the --grub-probe option again.
25331 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25332 change on 2009-10-06, so that we now once again source
25333 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25334
7c7b6106
RM
253352009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25336
25337 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25338 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25339 `util/devicemap.c'.
25340
e3069ec1
CPE
253412009-12-08 Carles Pina i Estany <carles@pina.cat>
25342
25343 * include/grub/misc.h (grub_printf_): New declaration.
25344 * kern/misc.c (grub_printf_): New definition.
25345 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25346 instead of `grub_printf' and `_'.
25347 * normal/menu_entry.c (store_completion): Likewise.
25348 (run): Likewise.
25349 (grub_menu_entry_run): Likewise.
25350 * normal/menu_text.c (grub_wait_after_message): Likewise.
25351 (notify_booting): Likewise.
25352 (notify_fallback): Likewise.
25353 (notify_execution_failure): Likewise.
25354
d6ceebf1
CW
253552009-12-07 Colin Watson <cjwatson@ubuntu.com>
25356
25357 * configure.ac: Check for vasprintf.
25358 * util/misc.c (asprintf): Move allocation from here ...
25359 (vasprintf): ... to here. New function.
25360 (xasprintf): New function.
25361 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25362 prototypes.
25363 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25364 * util/grub-mkfont.c (write_font): Likewise.
25365 * util/grub-probe.c (probe): Likewise.
25366 * util/hostdisk.c (make_device_name): Likewise.
25367
de6daa8b
DM
253682009-12-06 David S. Miller <davem@sunset.davemloft.net>
25369
25370 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25371 anything even prefixed with 'cdrom' as a cdrom.
25372
0ad46fd7 253732009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25374
25375 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25376 mount points.
25377
98d3dc02
CPE
253782009-12-05 Carles Pina i Estany <carles@pina.cat>
25379
25380 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25381 grub_gettext_msg_list.
25382 (grub_gettext_gettranslation_from_position): Return const char *
25383 and not char *.
a2c1332b 25384 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25385 returns from the list if existing there.
25386 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25387 (grub_gettext_delete_list): Delete the list.
25388 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25389 lang environment variable is changed.
25390 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25391
b283f108
VS
253922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 Rename kernel.mod to kernel.img.
25395
25396 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25397 (kernel_mod_EXPORTS): Rename to ...
25398 (kernel_img_EXPORTS): ... this.
25399 (kernel_mod_SOURCES): Rename to ...
25400 (kernel_img_SOURCES): ... this.
25401 (kernel_mod_HEADERS): Rename to ...
25402 (kernel_img_HEADERS): ... this. All users updated.
25403 (kernel_mod_CFLAGS): Rename to ...
25404 (kernel_img_CFLAGS): ... this.
25405 (kernel_mod_ASFLAGS): Rename to ...
25406 (kernel_img_ASFLAGS): ... this.
25407 (kernel_mod_LDFLAGS): Rename to ...
25408 (kernel_img_LDFLAGS): ... this.
25409 * conf/x86_64-efi.rmk: Likewise.
25410 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25411 (read_kernel_image): ... this. All users updated.
25412 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25413
69055f8a
CPE
254142009-12-05 Carles Pina i Estany <carles@pina.cat>
25415
25416 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25417 (print_spaces): New function.
25418 (grub_print_ucs4): New function.
25419 (getstringwidth): New function.
25420 (print_message_indented): New function.
25421 (print_message): Gettexttize strings using print_message_indented.
25422 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25423 width.
25424 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25425 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25426 Gettextize.
25427 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25428 string.
25429 (run): Likewise.
25430 (grub_menu_entry_run): Likewise.
25431 * PO/POTFILES: Add normal/menu_entry.c.
25432
f616f51c
VS
254332009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25436
57bbe3be
CPE
254372009-12-05 Carles Pina i Estany <carles@pina.cat>
25438
25439 * util/grub-install.in: Install gettext .mo files.
25440 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25441
013d67a1
CPE
254422009-12-05 Carles Pina i Estany <carles@pina.cat>
25443
25444 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25445 grub_dprintf.
25446
fb954db0
RM
254472009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25450 non-firmware-dependant one in realmode.S takes precedence.
25451
6b8474f8
RM
254522009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25453
25454 * commands/halt.c: Replace misc arch-specific headers with
25455 `<grub/misc.h>'.
25456 * commands/reboot.c: Likewise.
25457 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25458 `<grub/misc.h>'.
25459 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25460 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25461 (kernel_img_SOURCES): ... to here.
25462
25463 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25464 * include/grub/i386/pc/init.h: Likewise.
25465 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25466 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25467
25468 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25469
25470 * include/grub/i386/halt.h: Remove.
25471 * include/grub/i386/reboot.h: Likewise.
25472
25473 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25474
4b2e6ca2
DM
254752009-12-03 David S. Miller <davem@sunset.davemloft.net>
25476
25477 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25478 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25479 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25480 "progname.h"
25481 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25482 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25483 (usage): Add missing comma in printf.
25484
5239348f
RM
254852009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25486
25487 Use the same reboot approach on i386 coreboot and qemu as we do on
25488 BIOS.
25489
25490 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25491 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25492 * kern/i386/reboot.c: Remove.
25493 * include/grub/i386/reboot.h (grub_reboot): Export function.
25494 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25495 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25496 0xf000:0xfff0 instead of 0xffff:0x0000.
25497 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25498 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25499
ef34cbd4
RM
255002009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25501
25502 Fix $srcdir != $objdir build.
25503
25504 * Makefile.in (po/%.po): Rewrite as ...
25505 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25506
dc9837ea
ST
255072009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25508
25509 Fix GNU/Hurd grub-install crash.
25510 * util/grub-probe.c (probe): Try to access `path' only when it is not
25511 NULL.
25512
2f857f98
VS
255132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25514
25515 Correct module naming.
25516
25517 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25518 (GRUB_MOD_INIT(efi_uga)): ... to this
25519 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25520 (GRUB_MOD_FINI(efi_uga)): ... to this
25521 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25522 (GRUB_MOD_INIT(efi_gop)): ... to this
25523 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25524 (GRUB_MOD_FINI(efi_gop)): ... to this
25525
c5448046
RM
255262009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25527
25528 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25529 translatable.
25530 (usage): Translate `arg' strings using gettext().
25531 Thanks to Jordi Mallach for the suggestion.
25532
c85184ad
VS
255332009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25534
25535 GOP support. Based on patch from Bean
25536 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25537
25538 * video/efi_gop.c: New file.
25539 * include/grub/efi/graphics_output.h: Likewise.
25540 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25541 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25542 variables.
25543 * conf/x86_64-efi.rmk: Likewise.
25544
8a4c48d8
VS
255452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25546
25547 Rename efi_fb to efi_uga.
25548
25549 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25550 'efi_uga.mod'.
25551 (efi_fb_mod_SOURCES): Rename this ...
25552 (efi_uga_mod_SOURCES): ... to this.
25553 (efi_fb_mod_CFLAGS): Rename this ...
25554 (efi_uga_mod_CFLAGS): ... to this.
25555 (efi_fb_mod_LDFLAGS): Rename this ...
25556 (efi_uga_mod_LDFLAGS): ... to this.
25557 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25558 'efi_uga.mod'.
25559 (efi_fb_mod_SOURCES): Rename this ...
25560 (efi_uga_mod_SOURCES): ... to this.
25561 (efi_fb_mod_CFLAGS): Rename this ...
25562 (efi_uga_mod_CFLAGS): ... to this.
25563 (efi_fb_mod_LDFLAGS): Rename this ...
25564 (efi_uga_mod_LDFLAGS): ... to this.
25565 * video/efi_fb.c: Move this ...
25566 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25567
fb6c1a7b
RM
255682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25569
25570 * po/README: New file. Explain our PO file workflow.
25571
3bc7896c
RM
255722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25573
25574 * po/ChangeLog: Remove. Move relevant entries back to ...
25575 * ChangeLog: ... here.
25576 * po/ca.po: Remove (now handled by TLP).
25577 * po/id.po: Likewise.
25578 * po/zh_CN.po: Likewise.
25579 * Makefile.in (LINGUAS): Initialize in a way that supports
25580 empty set.
25581
9ed4841d
RM
255822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25583
25584 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25585 reliing on po/LINGUAS.
25586 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25587 (po/%.po): ... this.
25588
0ad46fd7 255892009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25590
25591 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25592 (main): Use `program_name' instead of nonexistent `progname'.
25593
e30dd392
FZ
255942009-11-26 Felix Zielcke <fzielcke@z-51.de>
25595
25596 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25597 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25598
7656de4f
RM
255992009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25600
25601 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25602 commit.
25603 * conf/i386-efi.rmk: Likewise.
25604 * conf/i386-ieee1275.rmk: Likewise.
25605 * conf/powerpc-ieee1275.rmk: Likewise.
25606 * conf/sparc64-ieee1275.rmk: Likewise.
25607 * conf/x86_64-efi.rmk: Likewise.
25608
db77c4d4
FZ
256092009-11-26 Felix Zielcke <fzielcke@z-51.de>
25610
25611 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25612
a755bb04
FZ
256132009-11-26 Felix Zielcke <fzielcke@z-51.de>
25614
25615 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25616
8a4c07fd
RM
256172009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25620 (grub_mkdevicemap_SOURCES): New variable.
25621 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25622 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25623 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25624 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25625 (grub_mkdevicemap_SOURCES): Remove.
25626 * conf/i386-efi.rmk: Likewise.
25627 * conf/i386-ieee1275.rmk: Likewise.
25628 * conf/i386-pc.rmk: Likewise.
25629 * conf/powerpc-ieee1275.rmk: Likewise.
25630 * conf/sparc64-ieee1275.rmk: Likewise.
25631 * conf/x86_64-efi.rmk: Likewise.
25632 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25633 (usage): Fix strings to use `program_name'.
25634 (main): Initialize gettext.
25635 * util/grub-editenv.c: Likewise.
25636 * util/grub-emu.c: Likewise.
25637 * util/grub-fstest.c: Likewise.
25638 * util/grub-mkdevicemap.c: Likewise.
25639 * util/grub-mkfont.c: Likewise.
25640 * util/grub-mkrelpath.c: Likewise.
25641 * util/grub-pe2elf.c: Likewise.
25642 * util/grub-probe.c: Likewise.
25643 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25644 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25645 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25646
25647 * util/misc.c: Include `"progname.h"'.
25648 (progname): Remove variable.
25649 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25650
6f61ed55
FZ
256512009-11-25 Felix Zielcke <fzielcke@z-51.de>
25652
25653 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25654 printf and print a newline after the menuentry header line.
25655 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25656
f022876b
FZ
256572009-11-25 Felix Zielcke <fzielcke@z-51.de>
25658
25659 autoconf >= 2.60 support $(localedir).
25660
25661 * INSTALL: Note that autoconf 2.60 is required.
25662 * configure.ac (AC_PREREQ): Bump to 2.60.
25663 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25664 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25665
6717926e
YB
256662009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25667
25668 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25669 aclocal is run.
25670
08806a54
RM
256712009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25672
25673 * normal/main.c (grub_normal_read_line): Fix off-by-one
25674 buffer overflow.
25675
13b33fba
RM
256762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25677
25678 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25679 "parser.grub" in grub_command_execute() call.
25680
4a8572e9
CPE
256812009-11-24 Carles Pina i Estany <carles@pina.cat>
25682
25683 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25684 * conf/i386-efi.rmk: Likewise.
25685 * conf/i386-ieee1275.rmk: Likewise.
25686 * conf/i386-pc.rmk: Likewise.
25687 * conf/powerpc-ieee1275.rmk: Likewise.
25688 * conf/sparc64-ieee1275.rmk: Likewise.
25689 * conf/x86_64-efi.rmk: Likewise.
25690 * gettext/gettex.c: Include <grub/i18n.h>.
25691 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25692 here ...
25693 * include/grub/i18n.h: ... to here
25694 * include/grub/i18n.h: ... to here.
25695 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25696 (grub_gettext_dummy): Move above user.
4a8572e9 25697
bee48093
FZ
256982009-11-24 Felix Zielcke <fzielcke@z-51.de>
25699
25700 * util/Makefile.in (install-local): Convert a `for' into a normal
25701 shell expansion.
25702
a031e91c
RM
257032009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25704
25705 * autogen.sh: Add automake call.
25706 * config.guess: Remove.
25707 * config.sub: Likewise.
25708 * install-sh: Likewise.
25709
26bec39d
FZ
257102009-11-24 Felix Zielcke <fzielcke@z-51.de>
25711
25712 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25713
8e2532fd
FZ
257142009-11-24 Felix Zielcke <fzielcke@z-51.de>
25715
25716 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25717 function to a normal shell `for'.
25718
fefa1b7d
FZ
257192009-11-24 Felix Zielcke <fzielcke@z-51.de>
25720
25721 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25722
4501250b
FZ
257232009-11-24 Felix Zielcke <fzielcke@z-51.de>
25724
25725 * util/grub-mkrelpath.c: New file.
25726 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25727 (grub_mkrelpath_SOURCES): New variable.
25728 * include/grub/util/misc.h: New function prototype.
25729 * util/misc.c (make_system_path_relative_to_its_root): New function.
25730
25731 * util/grub-mkconfig_lib.in (bindir): New variable.
25732 (grub_mkrelpath): Likewise.
25733 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25734
25735 * util/probe.c (probe): Make the file path relative to its root.
25736 Change a info message to use the GRUB path. Enable again the
25737 check if we can read the file with GRUB facilities.
25738
25739 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25740 to its root.
25741
11d9778b
FZ
257422009-11-24 Felix Zielcke <fzielcke@z-51.de>
25743
25744 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25745 platform.
25746
4465287d
FZ
257472009-11-24 Felix Zielcke <fzielcke@z-51.de>
25748
25749 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25750 strncmp().
25751
62b47f22
FZ
257522009-11-24 Felix Zielcke <fzielcke@z-51.de>
25753
25754 * util/getroot.c (grub_util_is_dmraid): New function.
25755 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25756 devices as normal ones, not as LVM.
25757
1eafb9b9 257582009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25759
25760 * conf/common.rmk: Add grub-gettext_lib target and updates
25761 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25762 LDFLAGS.
25763 * gettext/gettext.c: New file. (Reads mo files).
25764 * include/grub/file.h (grub_file_pread): New prototype.
25765 * include/grub/i18n.h (_): New prototype.
25766 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25767 prototypes.
25768 * kern/misc.c (grub_gettext_dummy): New function.
25769 * normal/menu_text.c: Include <grub/i18n.h>.
25770 * normal/menu_text.c (print_timeout): Gettexttize string.
25771 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25772 * po/POTFILES: Add `normal/menu_text.c'.
25773 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25774 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25775 gettext module and defines locale_dir and lang in grub.cfg.
25776 * NEWS: Add gettext support.
25777
0fdb2568
RM
257782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25779
25780 * util/hostdisk.c: Include `<grub/i18n.h>'.
25781 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25782 (make_device_name): Rewrite using asprintf.
25783 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25784 (find_system_device): If a device is not found, generate one just
25785 by reusing the OS path name.
25786 (read_device_map): Make it permissible for device.map not to exist.
25787
f515aa62
RM
257882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25789
25790 * script/sh/execute.c: Move from here ...
25791 * script/execute.c: ... to here. Update all users.
25792 * script/sh/function.c: Move from here ...
25793 * script/function.c: ... to here. Update all users.
25794 * script/sh/lexer.c: Move from here ...
25795 * script/lexer.c: ... to here. Update all users.
25796 * script/sh/main.c: Move from here ...
25797 * script/main.c: ... to here. Update all users.
25798 * script/sh/parser.y: Move from here ...
25799 * script/parser.y: ... to here. Update all users.
25800 * script/sh/script.c: Move from here ...
25801 * script/script.c: ... to here. Update all users.
25802
f84b481b
RM
258032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25804
25805 * configure.ac: Detect all `emu' platforms. Define
25806 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25807 --enable-grub-emu logic. Disable include/grub/machine
25808 symlink on `emu' platforms.
25809
25810 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25811 * gensymlist.sh.in: Likewise.
25812
25813 * include/grub/i386/coreboot/machine.h: Remove file.
25814 * include/grub/i386/efi/machine.h: Likewise.
25815 * include/grub/i386/ieee1275/machine.h: Likewise.
25816 * include/grub/i386/pc/machine.h: Likewise.
25817 * include/grub/i386/qemu/machine.h: Likewise.
25818 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25819 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25820 * include/grub/x86_64/efi/machine.h: Likewise.
25821
25822 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25823 * commands/halt.c: Likewise.
25824 * commands/reboot.c: Likewise.
25825 * include/grub/autoefi.h: Likewise.
25826 * include/grub/i386/at_keyboard.h: Likewise.
25827 * include/grub/i386/kernel.h: Likewise.
25828 * include/grub/i386/loader.h: Likewise.
25829 * include/grub/i386/pc/memory.h: Likewise.
25830 * kern/dl.c: Likewise.
25831 * kern/i386/coreboot/init.c: Likewise.
25832 * loader/i386/bsd.c: Likewise.
25833 * loader/i386/linux.c: Likewise.
25834 * loader/multiboot_loader.c: Likewise.
25835 * term/i386/pc/serial.c: Likewise.
25836 * term/usb_keyboard.c: Likewise.
25837
25838 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25839 `<grub/machine/machine.h>'
25840 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25841 * util/misc.c: Remove `<grub/machine/machine.h>' and
25842 `<grub/machine/time.h>'.
25843
25844 * Makefile.in (enable_grub_emu): Remove variable.
25845 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25846
25847 * conf/any-emu.rmk: New file.
25848 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25849 (grub_emu_init.c): Move from here ...
25850 * conf/any-emu.rmk: ... to here.
25851
25852 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25853 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25854 * conf/any-emu.rmk: ... to here.
25855
4efeab03
RM
258562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25857
25858 * include/grub/parser.h (grub_parser_register): Document need
25859 of `name' parameter.
25860 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25861 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25862 "sh" to "grub".
25863
ea1dd8bf
RM
258642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25865
25866 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25867 `$(XGETTEXT)'.
25868 * include/grub/i18n.h (N_): New macro.
25869 * util/mkisofs/mkisofs.h: Likewise.
25870 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25871 around N_().
25872 (usage): Use gettext() to translate help strings when printing them.
25873
0c140626
RM
258742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 Based on patch from Bean
25877 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25878
25879 * video/efi_fb.c: New file.
25880 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25881 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25882 variables.
25883 * conf/x86_64-efi.rmk: Likewise.
25884
87d58298
RM
258852009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25886
25887 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25888 * util/i386/pc/grub-setup.c: Likewise.
25889
994cc3a3
ST
258902009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25891
25892 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25893 <hurd/fs.h>
25894 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25895 file_get_storage_info to implement grub_guess_root_device.
25896
26a61d6a
FZ
258972009-11-21 Felix Zielcke <fzielcke@z-51.de>
25898
25899 * Makefile.in (target): Use make's builtin $(shell) function
25900 instead of calling directly $(SHELL) to create the locale directories,
25901 inside the $(foreach) function.
25902
74ff1dd5
FZ
259032009-11-21 Felix Zielcke <fzielcke@z-51.de>
25904
25905 * util/grub-mkrescue.in: Print an error and usage if output option
25906 has not been given.
25907
0b787d0e
FZ
259082009-11-21 Felix Zielcke <fzielcke@z-51.de>
25909
25910 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25911 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25912 root and /boot are on different devices.
25913
1164b270
RM
259142009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25915
25916 Fix build for srcdir != objdir.
25917
25918 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25919 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25920 $(srcdir).
25921 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25922 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25923 reference for input.
25924
13774a2f
RM
259252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25926
25927 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25928 or hardlinking it). Remove -J option, Joliet is not compatible with
25929 multiple source directories.
25930
efda854e
RM
259312009-11-21 Carles Pina i Estany <carles@pina.cat>
259322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25933
25934 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25935 (process_input_dir): New function. Process an arbitrary input
25936 directory.
25937 Misc adjustments to support both "override mode" and system-wide mode.
25938
6c09890c
FZ
259392009-11-20 Felix Zielcke <fzielcke@z-51.de>
25940
25941 * configure.ac (UNIFONT_BDF): Rename to ...
25942 (FONT_SOURCE): ... this. Update all users.
25943
a797824f
FZ
259442009-11-20 Felix Zielcke <fzielcke@z-51.de>
25945
25946 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25947 to the list of unifont files to look for.
25948
cd4f42b0
RM
259492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25950
25951 Patch from Joe Auricchio <jauricchio@gmail.com>
25952 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25953 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25954 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25955
393c783d
FZ
259562009-11-19 Felix Zielcke <fzielcke@z-51.de>
25957
25958 * Makefile.in (install-local): Add a missing backslash.
25959
b2f1e327
FZ
259602009-11-19 Felix Zielcke <fzielcke@z-51.de>
25961
25962 * include/grub/x86_64/io.h: New file.
25963
f577f7a0
RM
259642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25967 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25968 Include `"progname.h"'.
25969 (main): Initialize gettext.
25970 * util/i386/pc/grub-setup.c: Gettexttize.
25971 * util/i386/pc/grub-mkimage.c: Likewise.
25972
25973 * Makefile.in (po/*.po): Redefine as ...
25974 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25975
3bc7896c
RM
25976 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25977
c37943b6
RM
259782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25979
25980 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25981 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25982 (program_name): Remove.
25983 (main): Initialize gettext support.
6323f705
RM
25984 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25985 Include `<libintl.h>'.
25986 (_): New macro.
c37943b6
RM
25987
25988 * util/mkisofs/eltorito.c: Gettexttize.
25989 * util/mkisofs/joliet.c: Likewise.
25990 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25991 * util/mkisofs/multi.c: Likewise.
25992 * util/mkisofs/rock.c: Likewise.
25993 * util/mkisofs/tree.c: Likewise.
25994 * util/mkisofs/write.c: Likewise.
25995
3bc7896c
RM
25996 * po/POTFILES: Update with new files.
25997
5ce77c6e
RM
259982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25999
26000 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26001 * util/mkisofs/iso9660.h: Likewise.
26002 * util/mkisofs/joliet.c: Likewise.
26003 * util/mkisofs/mkisofs.c: Likewise.
26004 * util/mkisofs/mkisofs.h: Likewise.
26005 * util/mkisofs/rock.c: Likewise.
26006 * util/mkisofs/tree.c: Likewise.
26007 * util/mkisofs/write.c: Likewise.
26008
26009 * util/mkisofs/eltorito.c (rcsid): Remove.
26010 * util/mkisofs/hash.c: Likewise.
26011 * util/mkisofs/joliet.c: Likewise.
26012 * util/mkisofs/name.c: Likewise.
26013 * util/mkisofs/rock.c: Likewise.
26014 * util/mkisofs/tree.c: Likewise.
26015 * util/mkisofs/write.c: Likewise.
26016
1dabbc77
RM
260172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26020 instead of static allocation.
26021 * util/mkisofs/match.h: Likewise.
26022
633877cb
RM
260232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26024
3bc7896c
RM
26025 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26026 and `util/grub.d/10_linux.in'.
633877cb
RM
26027 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26028 translatable Shell files.
26029
af1c0c85
RM
260302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26031
26032 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26033
769ae37b
RM
260342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26035
26036 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26037 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26038 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26039 Add gettext initialization.
26040 (kfreebsd_entry): Make menuentry output translatable.
26041
260422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26043
26044 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26045 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26046 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26047 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26048 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26049 * po/LINGUAS: New file.
769ae37b
RM
26050
260512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26052
26053 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26054 other things).
26055 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26056 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26057 bindtextdomain() calls for gettext initialization.
26058
260592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26060
26061 * gnulib/progname.c: New file (imported from Gnulib).
26062 * gnulib/progname.h: Likewise.
26063 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26064 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26065 (usage): Replace `progname' with `program_name'.
26066 (main): Use set_program_name() for program name initialization.
26067
260682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26069
26070 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26071 from here ...
26072 * Makefile.in (CPPFLAGS): ... to here.
26073
260742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26075
26076 * aclocal.m4: Move from here ...
26077 * acinclude.m4: ... to here.
26078 * autogen.sh: Add call to `aclocal'.
26079 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26080
260812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26082
26083 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26084 (LINGUAS): New variable.
26085 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26086 (install-local): Install MO files.
26087 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26088 * include/grub/i18n.h: New file.
3bc7896c
RM
26089 * po/POTFILES: New file.
26090 * po/ca.po: New file.
769ae37b
RM
26091 * util/grub.d/10_linux.in (bindir): New variable.
26092 Add gettext initialization.
26093 (linux_entry): Make menuentry output translatable.
26094 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26095 (usage): Make --help output translatable.
26096 (main): Initialize gettext.
26097
02c0a6ad
RM
260982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26099
26100 * import_gcry.py: New file (written by Vladimir with minor
26101 adjustments).
26102 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26103 ciphers.
26104 * INSTALL: Document that Python is required for bootstrap.
26105
261062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26107
26108 Import ciphers from libgcrypt 1.4.4.
26109
26110 * lib/libgcrypt/cipher/ChangeLog
26111 * lib/libgcrypt/cipher/ac.c
26112 * lib/libgcrypt/cipher/arcfour.c
26113 * lib/libgcrypt/cipher/bithelp.h
26114 * lib/libgcrypt/cipher/blowfish.c
26115 * lib/libgcrypt/cipher/camellia-glue.c
26116 * lib/libgcrypt/cipher/camellia.c
26117 * lib/libgcrypt/cipher/camellia.h
26118 * lib/libgcrypt/cipher/cast5.c
26119 * lib/libgcrypt/cipher/cipher.c
26120 * lib/libgcrypt/cipher/crc.c
26121 * lib/libgcrypt/cipher/des.c
26122 * lib/libgcrypt/cipher/dsa.c
26123 * lib/libgcrypt/cipher/ecc.c
26124 * lib/libgcrypt/cipher/elgamal.c
26125 * lib/libgcrypt/cipher/hash-common.c
26126 * lib/libgcrypt/cipher/hash-common.h
26127 * lib/libgcrypt/cipher/hmac-tests.c
26128 * lib/libgcrypt/cipher/md.c
26129 * lib/libgcrypt/cipher/md4.c
26130 * lib/libgcrypt/cipher/md5.c
26131 * lib/libgcrypt/cipher/primegen.c
26132 * lib/libgcrypt/cipher/pubkey.c
26133 * lib/libgcrypt/cipher/rfc2268.c
26134 * lib/libgcrypt/cipher/rijndael-tables.h
26135 * lib/libgcrypt/cipher/rijndael.c
26136 * lib/libgcrypt/cipher/rmd.h
26137 * lib/libgcrypt/cipher/rmd160.c
26138 * lib/libgcrypt/cipher/rsa.c
26139 * lib/libgcrypt/cipher/seed.c
26140 * lib/libgcrypt/cipher/serpent.c
26141 * lib/libgcrypt/cipher/sha1.c
26142 * lib/libgcrypt/cipher/sha256.c
26143 * lib/libgcrypt/cipher/sha512.c
26144 * lib/libgcrypt/cipher/tiger.c
26145 * lib/libgcrypt/cipher/twofish.c
26146 * lib/libgcrypt/cipher/whirlpool.c
26147
af2f93ac
RM
261482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 Fix build for systems without error().
26151
26152 * gnulib/error.c: New file (imported from Gnulib).
26153 * gnulib/error.h: Likewise.
26154 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26155 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26156 (this variable is now used by error()).
26157
73fb3dd5
FZ
261582009-11-16 Felix Zielcke <fzielcke@z-51.de>
26159
814f5e96
FZ
26160 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26161 instead of relying that char is signed.
73fb3dd5 26162
a691ca33
VS
261632009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26166 blocksize different from specified.
26167 (grub_pxefs_read): Likewise.
26168
2af8f0f4
FZ
261692009-11-16 Felix Zielcke <fzielcke@z-51.de>
26170
26171 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26172
26173 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26174 (grub_ata_readwrite): Likewise. Update 2 format strings.
26175 (grub_atapi_read): Likewise.
26176
26177 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26178 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26179 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26180 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26181 (ata_mod_LDFLAGS): Move from here ...
26182 * conf/i386.rmk: ... to here ...
26183 * conf/x86_64-efi.rmk: ... and here.
26184 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26185 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26186
83bdecaf
RM
261872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26188
26189 Relicense multiboot.h, with RMS' blessing.
26190
26191 * include/multiboot.h: Change to X11 license.
26192
fd6fd3d7
RM
261932009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26194
26195 Support --version in grub-mkisofs.
26196
26197 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26198 (OPTION_VERSION): New macro.
26199 (ld_options): Recognize --version.
26200 (usage): Move `program_name' from here ...
26201 (program_name): ... to here. Add `static' qualifier.
26202 (main): Recognize `OPTION_VERSION'.
26203
16a88c49
FZ
262042009-11-15 Felix Zielcke <fzielcke@z-51.de>
26205
26206 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26207 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26208
a4158476
RM
262092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 Fix help2man generation for mkisofs.
26212
26213 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26214 (usage): Send output to stdout (rather than stderr).
26215
fc2208b0
RM
262162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26217
26218 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26219 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26220 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26221 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26222 (bin_SCRIPTS): Add `grub-mkfloppy'.
26223 (grub_mkfloppy_SOURCES): New variable.
26224
26225 * util/grub-mkrescue.in: New file.
26226 * util/i386/pc/grub-mkfloppy.in: New file.
26227
26228 * util/i386/coreboot/grub-mkrescue.in: Remove.
26229 * util/i386/pc/grub-mkrescue.in: Remove.
26230
8d0edf4a
RM
262312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26232
26233 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26234 from here ...
26235 * include/multiboot.h (struct multiboot_header): ... to here. Update
26236 all users.
26237 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26238 from here ...
26239 * include/multiboot.h (struct multiboot_info): ... to here. Update
26240 all users.
26241 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26242 from here ...
26243 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26244 Update all users.
26245 * include/grub/multiboot.h (struct grub_mod_list): Move
26246 from here ...
26247 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26248 Update all users.
26249
a73f5969
RM
262502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * include/multiboot2.h (multiboot_word): Rename from this ...
26253 (multiboot2_word): ... to this. Update all users.
26254 (multiboot_header): Rename from this ...
26255 (multiboot2_header): ... to this. Update all users.
26256 (multiboot_tag_header): Rename from this ...
26257 (multiboot2_tag_header): ... to this. Update all users.
26258 (multiboot_tag_start): Rename from this ...
26259 (multiboot2_tag_start): ... to this. Update all users.
26260 (multiboot_tag_name): Rename from this ...
26261 (multiboot2_tag_name): ... to this. Update all users.
26262 (multiboot_tag_module): Rename from this ...
26263 (multiboot2_tag_module): ... to this. Update all users.
26264 (multiboot_tag_memory): Rename from this ...
26265 (multiboot2_tag_memory): ... to this. Update all users.
26266 (multiboot_tag_unused): Rename from this ...
26267 (multiboot2_tag_unused): ... to this. Update all users.
26268 (multiboot_tag_end): Rename from this ...
26269 (multiboot2_tag_end): ... to this. Update all users.
26270
1c8927f0
RM
262712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26274 this platform we should support Multiboot1 first.
26275
26276 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26277 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26278 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26279
6e1e0d89
RM
262802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26281
26282 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26283 of write calls (converting them to fwrite() if they aren't already).
26284 (get_torito_desc): Likewise.
26285 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26286
7f2b34d8
RM
262872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26288
26289 * util/i386/pc/grub-install.in: Move from here ...
26290 * util/grub-install.in: ... to here. Update all users.
26291
c0ef3311
CW
262922009-11-11 Colin Watson <cjwatson@ubuntu.com>
26293
26294 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26295
e1f240ff
RM
262962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26297
26298 Support for El Torito without floppy emulation.
26299
26300 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26301 (init_boot_catalog): Improve error handling.
26302 (get_torito_desc): Don't use floppy emulation unless requested by
26303 user. Patch boot information table when requested via
26304 `-boot-info-table'.
26305 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26306 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26307 (use_boot_info_table): New variables.
26308 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26309 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26310 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26311 `--eltorito-emul-floppy'.
26312 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26313 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26314 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26315 (use_boot_info_table, get_731): New prototypes.
26316 * util/mkisofs/write.c (get_731): New function.
26317
af7d4de5
FZ
263182009-11-11 Felix Zielcke <fzielcke@z-51.de>
26319
26320 Fix the generation of the man page.
26321
26322 * util/pc/i386/grub-install.in: Source
26323 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26324
2c55dbc0
RM
263252009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26326
26327 Large file support for grub-mkisofs.
26328
26329 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26330 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26331 (session_start): Upgrade type to `uint64_t'. Update all users.
26332 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26333 (struct directory_entry): Upgrade type of `starting_block' and
26334 `size' to `uint64_t'. Update all users.
26335 (struct deferred): Remove unused structure.
26336 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26337 Update all users.
26338 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26339 file is larger than `UINT32_MAX'.
26340 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26341 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26342 return value.
26343 (struct deferred_write): Upgrade type of `extent' and `size' to
26344 `uint64_t'. Update all users.
26345 (last_extent_written): Upgrade type to `uint64_t'. Update all
26346 users.
26347 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26348 Update all users. Upgrade type of `remain' to `int64_t' and
26349 `use' to `size_t'. Use error() to handle fread() errors.
26350 (write_files): Rely on write_one_file() rather than calling
26351 xfwrite() directly.
26352
6a9cead5
FZ
263532009-11-09 Felix Zielcke <fzielcke@z-51.de>
26354
26355 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26356
4825d790
RM
263572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26358
26359 * util/mkisofs/fnmatch.c: Remove.
26360 * util/mkisofs/getopt1.c: Likewise.
26361 * util/mkisofs/getopt.c: Likewise.
26362 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26363 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26364 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26365 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26366 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26367
26368 * configure.ac: Detect `mingw32msvc' host_os.
26369 Check for lstat(), getuid() and getgid().
26370
26371 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26372 instances of `u_char' with `uint8_t'.
26373
26374 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26375 [!HAVE_GETUID] (getuid): New function (stub).
26376 [!HAVE_GETGID] (getgid): Likewise.
26377 [!HAVE_LSTAT] (lstat): Likewise.
26378 [!S_IROTH] (S_IROTH): New macro (dummy).
26379 [!S_IRGRP] (S_IRGRP): Likewise.
26380
84b860d8
RM
263812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26382
26383 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26384 conditional expression).
26385
66e9b712
RM
263862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26387
26388 Import from Gnulib.
26389
26390 * gnulib/fnmatch.c: New file.
26391 * gnulib/fnmatch.h: Likewise.
26392 * gnulib/fnmatch_loop.c: Likewise.
26393 * gnulib/getopt.c: Likewise.
26394 * gnulib/getopt.h: Likewise.
26395 * gnulib/getopt1.c: Likewise.
26396 * gnulib/getopt_int.h: Likewise.
26397 * gnulib/gettext.h: Likewise.
26398
34f4a5b0
RM
263992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26400
26401 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26402 * normal/handler.c (read_handler_list): Likewise.
26403
ac451143
RM
264042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26405
26406 Misc cleanup.
26407
26408 * kern/command.c (grub_register_command_prio): Use
26409 grub_zalloc() instead of explicitly zeroing data.
26410 * kern/list.c: Include `<grub/mm.h>'.
26411 (grub_named_list_find): Replace `0' with `NULL'.
26412 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26413 (fs_module_list): Change type to `grub_named_list_t'. Update all
26414 users.
26415 * normal/dyncmd.c (read_command_list): Add space between function
26416 call and parenthesis.
26417 * normal/handler.c (read_handler_list): Likewise.
26418
4089b167
RM
264192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26420
26421 * normal/auth.c (punishment_delay): Moved from here ...
26422 (grub_auth_strcmp): ... to here (inside function).
26423
325f5037
RM
264242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26425
26426 * include/grub/list.h (struct grub_named_list): Remove `const'
26427 qualifier from `name'.
26428 (struct grub_prio_list): Likewise.
26429
7aea29a3
RM
264302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26431
26432 * normal/auth.c: Include `<grub/time.h>'.
26433 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26434
3fd6f044
RM
264352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26436
26437 * normal/auth.c (punishment_delay): New variable.
26438 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26439 (grub_auth_check_authentication): Punish failed login attempts with
26440 an incremental (2^N) delay.
26441
a4cd68e4
RM
264422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26445 path with $(srcdir).
26446
7ad12f43
VS
264472009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26448
26449 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26450
c1129f03
RM
264512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26452
26453 * util/i386/coreboot/grub-mkrescue.in: New file.
26454 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26455 variables.
26456
26457 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26458 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26459 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26460 requirements.
26461 * util/mkisofs/defaults.h: New file.
26462 * util/mkisofs/eltorito.c: Likewise.
26463 * util/mkisofs/exclude.h: Likewise.
26464 * util/mkisofs/fnmatch.c: Likewise.
26465 * util/mkisofs/getopt.c: Likewise.
26466 * util/mkisofs/getopt1.c: Likewise.
26467 * util/mkisofs/hash.c: Likewise.
26468 * util/mkisofs/include/fctldefs.h: Likewise.
26469 * util/mkisofs/include/mconfig.h: Likewise.
26470 * util/mkisofs/include/prototyp.h: Likewise.
26471 * util/mkisofs/include/statdefs.h: Likewise.
26472 * util/mkisofs/iso9660.h: Likewise.
26473 * util/mkisofs/joliet.c: Likewise.
26474 * util/mkisofs/match.c: Likewise.
26475 * util/mkisofs/match.h: Likewise.
26476 * util/mkisofs/mkisofs.c: Likewise.
26477 * util/mkisofs/mkisofs.h: Likewise.
26478 * util/mkisofs/multi.c: Likewise.
26479 * util/mkisofs/name.c: Likewise.
26480 * util/mkisofs/rock.c: Likewise.
26481 * util/mkisofs/tree.c: Likewise.
26482 * util/mkisofs/write.c: Likewise.
26483
ec8bb77d
VS
264842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26487 being insecure.
26488
3716b12c
RM
264892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26490
26491 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26492 `grub-mkimage' (and use $0 when possible).
26493
b97b7b91
RM
264942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26495
26496 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26497 error message for excessively large memory map.
26498
04114812
RM
264992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26500
26501 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26502 executable bit.
26503
e4eb2373
RM
265042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26505
26506 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26507 message for coreboot users.
26508
c926e1d5 265092009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26510
26511 Fix build with GNU gold.
26512
26513 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26514 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26515 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26516 link addresses.
26517 * aclocal.m4: Likewise.
26518
86e5b1db 265192009-11-04 Felix Zielcke <fzielcke@z-51.de>
26520
26521 * configure.ac (AC_PREREQ): Bump to 2.59d.
26522 * INSTALL: Make it more clear when Autoconf and Ruby are
26523 needed and when to run `./autogen.sh'.
26524
246cd78f 265252009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26526
26527 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26528 OSes.
26529
4f9dfb37 265302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26531
26532 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26533
b82bd5e1 265342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26535
26536 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26537 giving it to GNU Mach.
26538
ff1a9bca 265392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26540
26541 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26542 GNU partition number to get internal GRUB partition number.
26543
61697d9c 265442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26545
26546 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26547 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26548
a50569e1 265492009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26550
26551 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26552 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26553 case.
26554
5b153867 265552009-11-01 Felix Zielcke <fzielcke@z-51.de>
26556
26557 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26558
d9e2cd70 265592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26560
26561 Fix build problem.
26562
26563 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26564 `-isystem=$(srcdir)/include'.
26565
805111a4 265662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26569 checked (grub-install doesn't currently rely on it).
26570
fa6e945f 265712009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26572
26573 Revert SVN r2660.
26574
26575 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26576 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26577 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26578 * conf/i386-ieee1275.rmk: Likewise.
26579 * conf/i386-pc.rmk: Likewise.
26580 * conf/powerpc-ieee1275.rmk: Likewise.
26581 * conf/sparc64-ieee1275.rmk: Likewise.
26582 * conf/x86_64-efi.rmk: Likewise.
26583
cee15086 265842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26585
26586 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26587
95b9239e 265882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * include/grub/misc.h: Stop checking for APPLE_CC.
26591
2ed19dfd 265922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26593
26594 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26595 doesn't cause an infinite call loop.
26596
fdcdde19 265972009-10-28 Felix Zielcke <fzielcke@z-51.de>
26598
26599 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26600 strings.
26601
cefabfe1 266022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26603
26604 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26605 variable.
26606 * Makefile.in: Likewise.
26607
ed96ab6d 266082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26609
26610 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26611
0579b753 266122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26615
478df409 266162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26619
083d1679 266202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26621
26622 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26623 from here ...
26624 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26625
5947ae32 266262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26629 in $(MAKEINFO) invocation. This makes it clear in output that
26630 errors are being ignored.
26631
94180ff6 266322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26635 from here ...
26636 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26637 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26638 * conf/i386-ieee1275.rmk: Likewise.
26639 * conf/i386-pc.rmk: Likewise.
26640 * conf/powerpc-ieee1275.rmk: Likewise.
26641 * conf/sparc64-ieee1275.rmk: Likewise.
26642 * conf/x86_64-efi.rmk: Likewise.
26643
9031b03a 266442009-10-26 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * util/grub-editenv.c (main): If only a command is given, use
26647 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26648 (usage): FILENAME is now optional and has a default.
26649
e4f6809b 266502009-10-26 Colin Watson <cjwatson@ubuntu.com>
26651
26652 Improve grub-mkconfig performance when there are several menu
26653 entries on a single filesystem.
26654
26655 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26656 prepare_grub_to_access_device.
26657 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26658 * util/grub.d/30_os-prober.in: Likewise.
26659
67937d4d 266602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26661
26662 * util/grub.d/10_freebsd.in: Remove.
26663 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26664 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26665
ee3756cc 266662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26667
5c35048e 26668 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26669
4dea1c6f 266702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26671
26672 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26673 grub_util_error() call.
26674
042484d7 266752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26676
26677 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26678 `reserved_first_sector' member.
26679 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26680 `reserved_first_sector' to 1.
26681 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26682 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26683 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26684 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26685 filesystems which begin at first sector.
26686 (options): New option --skip-fs-probe.
26687 (main): Handle --skip-fs-probe and pass it to setup().
26688
d64448a7 266892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26690
26691 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26692 (memset): Fix function prototype.
26693
508d42ec 266942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
266952009-10-25 Vasily Averin <vvs@parallels.com>
26696
26697 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26698 `dirent.direntlen == 0'.
26699
b240e30c 267002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26701
26702 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26703 `cpio'.
26704 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26705
346e7fbe 267062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26707
26708 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26709 `__trampoline_setup' and `__ucmpdi2'.
26710 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26711 that libgcc provides.
26712
cdb308b0 267132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26714
26715 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26716 * include/grub/sparc64/libgcc.h (memset): Likewise.
26717 * include/grub/misc.h (memset, memcmp): New function prototypes.
26718
fb26abc2 267192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26720
26721 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26722 `cpio'.
26723 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26724
f6693890 267252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26728 * docs/grub.cfg: Compensate for recent change in multiboot
26729 loader (since 2009-08-14 it won't pass filename to payload).
26730 * util/grub.d/10_hurd.in: Likewise.
26731
0933cdc0 267322009-10-21 Felix Zielcke <fzielcke@z-51.de>
26733
26734 * config.guess: Update to latest version from config git
26735 repository.
26736 * config.sub: Likewise.
26737
3b2fe8c2 267382009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26739
26740 Fix build on sparc64.
26741
26742 * configure.ac: Perform checks for libgcc symbols before
26743 adding `-nostdlib' to LDFLAGS.
26744
46695a62 267452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 Let user specify OpenBSD root device.
26748
26749 * loader/i386/bsd.c (openbsd_root): New variable.
26750 (openbsd_opts): New option 'root'.
26751 (OPENBSD_ROOT_ARG): New macro.
26752 (grub_openbsd_boot): Use 'openbsd_root'.
26753 (grub_cmd_openbsd): Fill 'openbsd_root'.
26754
d2b6b7fc 267552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 * NEWS: Misc adjustments.
26758
421bd7ac 267592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26760
26761 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26762
f1d29d87 267632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 * configure.ac: Bump version to 1.97.
26766
6f3cd880 267672009-10-16 Colin Watson <cjwatson@ubuntu.com>
26768
26769 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26770 -mno-3dnow on x86 architectures. Some toolchains enable these
26771 features by default, but they rely on registers that aren't enabled
26772 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26773
035f7122 267742009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26775
26776 Make entry text a bit more readable.
26777
26778 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26779
44998e58 267802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26781
26782 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26783
cd2851b3 267842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26787 operations.
26788
c6f3b249 267892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26790
26791 * configure.ac: Add missing dollar.
26792
6b5886ba 267932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26794
26795 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26796
26797 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26798 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26799 exports.
26800 * include/grub/sparc64/libgcc.h: Likewise. Use
26801 preprocessor conditionals.
26802
e9d66f6d 268032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26804
26805 * conf/common.rmk (grub-dumpbios): Remove rule.
26806 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26807 * util/grub-dumpbios.in: Remove file.
26808
9155bc17 268092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26810
26811 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26812 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26813
26814 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26815 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26816 users.
26817
26818 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26819 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26820 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26821 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26822 users.
26823
bf7f7a18 268242009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26825
26826 * term/tparm.c: Switch to GPLv3.
26827
86564c26 268282009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26829
26830 * include/grub/i386/cpuid.h: Add header protection.
26831
5c936493 268322009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26833
26834 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26835
26836 * include/grub/i386/cpuid.h: New file.
26837 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26838 (has_longmode): Rename to ...
26839 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26840 `static' attribute.
26841 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26842 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26843 on a CPU that doesn't implement AMD64 instruction set.
26844
186e7cf2 268452009-10-06 Colin Watson <cjwatson@ubuntu.com>
26846
26847 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26848 that version.texi is rebuilt on version number changes.
26849
83b65c4a 268502009-10-06 Colin Watson <cjwatson@ubuntu.com>
26851
26852 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26853 Fixes bug #27602.
26854
d244281c 268552009-10-06 Colin Watson <cjwatson@ubuntu.com>
26856
26857 * util/i386/pc/grub-install.in: Source
26858 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26859 that the --grub-probe option will work.
26860 * util/sparc64/ieee1275/grub-install.in: Likewise.
26861
da25306d 268622009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26863
26864 * configure.ac: Bump version to 1.97~beta4.
26865
e8ee83c0 268662009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26867
26868 Resync grub-mkdevicemap in x86_64-efi.
26869
26870 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26871 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26872 `util/devicemap.c'.
26873
50dcabcf 268742009-10-01 Colin Watson <cjwatson@ubuntu.com>
26875
26876 * util/grub-editenv.c (create_envblk_file): Write new block with a
26877 .new suffix and then rename it into place, to ensure atomic
26878 creation.
26879
0e51c3a7 268802009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26881
26882 Do not automatically install headers.
26883
26884 * Makefile.in (include_DATA): Remove. Update all users.
26885
31299a95 268862009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26887
26888 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26889 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26890
26891 * util/osdetect.lua: Remove.
26892 * script/lua/lauxlib.c: Likewise.
26893 * script/lua/ldebug.c: Likewise.
26894 * script/lua/grub_main.c: Likewise.
26895 * script/lua/lauxlib.h: Likewise.
26896 * script/lua/ldebug.h: Likewise.
26897 * script/lua/ltablib.c: Likewise.
26898 * script/lua/liolib.c: Likewise.
26899 * script/lua/lstrlib.c: Likewise.
26900 * script/lua/lualib.h: Likewise.
26901 * script/lua/ldo.c: Likewise.
26902 * script/lua/ldump.c: Likewise.
26903 * script/lua/ldo.h: Likewise.
26904 * script/lua/loslib.c: Likewise.
26905 * script/lua/lundump.c: Likewise.
26906 * script/lua/grub_lib.c: Likewise.
26907 * script/lua/ldblib.c: Likewise.
26908 * script/lua/lundump.h: Likewise.
26909 * script/lua/lmem.c: Likewise.
26910 * script/lua/grub_lib.h: Likewise.
26911 * script/lua/lmathlib.c: Likewise.
26912 * script/lua/lstate.c: Likewise.
26913 * script/lua/ltm.c: Likewise.
26914 * script/lua/lvm.c: Likewise.
26915 * script/lua/lmem.h: Likewise.
26916 * script/lua/lstate.h: Likewise.
26917 * script/lua/ltm.h: Likewise.
26918 * script/lua/ltable.c: Likewise.
26919 * script/lua/lvm.h: Likewise.
26920 * script/lua/llex.c: Likewise.
26921 * script/lua/lgc.c: Likewise.
26922 * script/lua/grub_lua.h: Likewise.
26923 * script/lua/loadlib.c: Likewise.
26924 * script/lua/lfunc.c: Likewise.
26925 * script/lua/lopcodes.c: Likewise.
26926 * script/lua/lparser.c: Likewise.
26927 * script/lua/ltable.h: Likewise.
26928 * script/lua/llex.h: Likewise.
26929 * script/lua/lgc.h: Likewise.
26930 * script/lua/lfunc.h: Likewise.
26931 * script/lua/lbaselib.c: Likewise.
26932 * script/lua/lopcodes.h: Likewise.
26933 * script/lua/lparser.h: Likewise.
26934 * script/lua/lzio.c: Likewise.
26935 * script/lua/linit.c: Likewise.
26936 * script/lua/lobject.c: Likewise.
26937 * script/lua/llimits.h: Likewise.
26938 * script/lua/lstring.c: Likewise.
26939 * script/lua/lzio.h: Likewise.
26940 * script/lua/lapi.c: Likewise.
26941 * script/lua/lcode.c: Likewise.
26942 * script/lua/lua.h: Likewise.
26943 * script/lua/lobject.h: Likewise.
26944 * script/lua/lstring.h: Likewise.
26945 * script/lua/lapi.h: Likewise.
26946 * script/lua/lcode.h: Likewise.
26947 * script/lua/luaconf.h: Likewise.
26948
cb8a2c38 269492009-09-26 Colin Watson <cjwatson@ubuntu.com>
26950
26951 * docs/grub.texi (Command-line and menu entry commands): Document
26952 date and echo commands.
26953
6b9b6276 269542009-09-24 Pavel Roskin <proski@gnu.org>
26955
26956 * include/grub/kernel.h (struct grub_module_header): Remove
26957 `grub_module_header_types'. Make `type' unsigned. Make `size'
26958 32-bit on all platforms.
26959 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26960 8-bit field. Use grub_host_to_target32() for `size'.
26961 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26962 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26963 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26964
4e5a02a7 269652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 Fix "lost keypress" bug in at_keyboard.
26968
26969 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26970 Checks for readyness of input buffer (without flushing it).
26971 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26972 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26973
c6dcedf6 269742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26975
26976 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26977 size check within GRUB_MACHINE_PCBIOS section.
26978
74c958b1 269792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26982 return value.
26983 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26984 KEYBOARD_ISREADY check.
26985 (grub_at_keyboard_checkkey): Rename to ...
26986 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26987 Remove gratuitous cast.
26988
ff420223 269892009-09-23 Colin Watson <cjwatson@ubuntu.com>
26990
26991 * configure.ac: Call AC_PROG_MKDIR_P.
26992 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26993 version.texi in $(builddir) rather than $(srcdir).
26994 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26995 to makeinfo's @include search path.
26996
d96875df 269972009-09-23 Felix Zielcke <fzielcke@z-51.de>
26998
26999 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27000
9b3f8365 270012009-09-23 Felix Zielcke <fzielcke@z-51.de>
27002
27003 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27004 for `*.dpkg-new'.
27005
c44c90db 270062009-09-21 Colin Watson <cjwatson@ubuntu.com>
27007
27008 Build info documentation. Some code borrowed from Automake.
27009
27010 * configure.ac: Check for makeinfo.
27011 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27012 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27013 docs/version.texi.
27014 (MOSTLYCLEANFILES): Add vti.tmp.
27015 (docs/version.texi, docs/stamp-vti): Update automatically.
27016 (docs/grub.info): Build info documentation. Use --force and ignore
27017 errors for now.
27018 (all-local): Add $(INFOS).
27019 (install-local): Install info files.
27020 (uninstall): Uninstall info files.
27021 * docs/version.texi: Remove from revision control. This file is
27022 automatically generated on build now.
27023 * gendistlist.sh: Add `*.info'.
27024
e0b37bb5 270252009-09-21 Felix Zielcke <fzielcke@z-51.de>
27026
27027 * kern/term.c: Fix indentation.
27028
5a78865b 270292009-09-21 Felix Zielcke <fzielcke@z-51.de>
27030
27031 * util/hostdisk.c: Fix a comment.
27032
dace7e8a 270332009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27034
27035 Fix regression introduced in r2539.
27036
27037 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27038 to 0xA1.
27039
a83d079b 270402009-09-19 Colin Watson <cjwatson@ubuntu.com>
27041
27042 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27043 os-prober. Under normal operation, it does not print anything to
27044 stderr; if it does, we need to debug it, and throwing away stderr
27045 makes that excessively difficult.
a83d079b 27046
be94a509 270472009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27050
63f745e8 270512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27052
27053 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27054 AC_LANG_PROGRAM from autoconf.
27055 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27056 prototypes (fixes warning).
27057
27058 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27059 `--disable-werror' was used.
27060
bbb2a70f 270612009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27062
27063 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27064 uninitialized `lastaddr'.
27065
77c24f1d 270662009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27067
0f0b8c87 27068 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27069
07197f23 270702009-09-14 Colin Watson <cjwatson@ubuntu.com>
27071
27072 * commands/test.c (get_fileinfo): Return immediately if
27073 grub_fs_probe fails.
27074
dabf1798 270752009-09-14 José Martínez <xosemp@gmail.com>
27076
27077 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27078
d52109a7 270792009-09-14 Colin Watson <cjwatson@ubuntu.com>
27080
27081 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27082 output.
27083
56532179 270842009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27085
27086 * configure.ac: Remove --enable-grub-pe2elf. Only build
27087 grub-pe2elf when needed by the build system itself.
27088 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27089
8ef070f5 270902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27091
27092 * configure.ac: Bump version to 1.97~beta3.
27093 * docs/version.texi: Likewise.
27094
61229557 270952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27096
27097 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27098 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27099 from here ...
27100 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27101 (grub_linux_setup_video): ... to here (with some adjustments).
27102
5c9f8d84 271032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27104
27105 Fix memory corruption issue (spotted by Colin Watson).
27106
27107 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27108 causing returned size to be stored in an incorrect memory location.
27109 Fix use of uninitialized value when storing the returned size.
27110
e8f5d6e9 271112009-09-12 Yves Blusseau <blusseau@zetam.org>
27112
27113 Change clean rules to properly remove files
27114
27115 * genmk.rb: add new clean rules
27116 * Makefile.in (clean): add the new targets
27117 (mostlyclean): likewise
27118
cda2a409 271192009-09-11 Colin Watson <cjwatson@ubuntu.com>
27120
27121 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27122 to grub_uint64_t.
27123 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27124 non-resident files.
27125
86695375 271262009-09-11 Colin Watson <cjwatson@ubuntu.com>
27127
27128 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27129 part of bug #27349.
27130
8aa1541a 271312009-09-10 Felix Zielcke <fzielcke@z-51.de>
27132
27133 * util/grub-mkconfig.in: Make the created config mode 400 and
27134 print a warning if it fails.
27135
48d9bb0a 271362009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27137
27138 * util/grub.d/40_custom.in: Ask user to type custom entries below
27139 comment, rather than below 'exec tail' line.
27140
3b0521be 271412009-09-10 Colin Watson <cjwatson@ubuntu.com>
27142
27143 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27144 visible in grub.cfg.
27145
50051d55 271462009-09-10 Colin Watson <cjwatson@ubuntu.com>
27147
27148 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27149 file.
27150
c0d34387 271512009-09-10 Felix Zielcke <fzielcke@z-51.de>
27152
27153 * docs/grub.cfg: Add an example menu entry for memtest86+.
27154
80a608f3 271552009-09-09 Felix Zielcke <fzielcke@z-51.de>
27156
a2094832 27157 * config.guess: Update to latest version from config git.
80a608f3 27158 * config.sub: Likewise.
27159
99423078 271602009-09-08 Colin Watson <cjwatson@ubuntu.com>
27161
27162 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27163 unknown-command case. Fixes bug #27320.
27164
44454e4c 271652009-09-08 Felix Zielcke <fzielcke@z-51.de>
27166
27167 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27168 `help' if the command exists.
27169
e30d87ad 271702009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27171
27172 * INSTALL: Require GCC 4.1.3 or later.
27173
9a86f1ec 271742009-09-06 Yves Blusseau <blusseau@zetam.org>
27175
27176 * Makefile.in (RMKFILES): add i386-qemu.rmk
27177 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27178 $(srcdir)/stamp-h.in
27179
7f26d466 271802009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27181
27182 * util/grub-probe.c (probe): Comment out buggy codepath, which
27183 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27184 should be re-enabled after 1.97.
27185
3a613259 271862009-09-05 Felix Zielcke <fzielcke@z-51.de>
27187
27188 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27189 find searches for.
27190
197f76c7 271912009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27192
27193 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27194 unnecessary calls to grub_error.
27195
70ba68ce 271962009-09-04 Colin Watson <cjwatson@ubuntu.com>
27197
27198 * NEWS: Mention `keystatus' and Unicode fonts.
27199
4ff0d7a4 272002009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27201
27202 * configure.ac: Bump version to 1.97~beta2.
27203 * docs/version.texi: Likewise.
27204
77c55a87 272052009-09-03 Colin Watson <cjwatson@ubuntu.com>
27206
27207 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27208 containing unwind information in some cases where it previously did
27209 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27210 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27211 discussion.
27212
f79572cd 272132009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27214
27215 Embedding loadenv module into grub-emu
27216
27217 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27218 commands/loadenv.c
27219 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27221 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27225
93a81088 272262009-09-03 Magnus Granberg <zorry@ume.nu>
27227
27228 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27229 include -fPIE in the default specs.
27230 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27231 to TARGET_CFLAGS.
27232
160034b2 272332009-09-03 Felix Zielcke <fzielcke@z-51.de>
27234
27235 * INSTALL: Note that GNU Bison 2.3 or later is required.
27236
087c07c4 272372009-09-03 Colin Watson <cjwatson@ubuntu.com>
27238
27239 * kern/i386/pc/startup.S: Fix typo.
27240
cbf978c0 272412009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27242
27243 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27244 according to GCS.
27245
272462009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27247
27248 * docs/grub.texi (Naming convention): Describe one-based partition
27249 numbering.
27250 (Device syntax): Likewise.
27251 (File name syntax): Likewise.
27252 (Block list syntax): Likewise.
27253 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27254 menu.lst.
27255 (File name syntax): Likewise.
27256 (Command-line and menu entry commands): Document acpi, blocklist,
27257 crc, export, insmod, keystatus, ls, set, and unset commands.
27258
f3e8cdfd 272592009-09-02 Colin Watson <cjwatson@ubuntu.com>
27260
27261 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27262 to avoid implying that only one of --shift, --ctrl, or --alt may be
27263 used.
27264
c0bc232b 272652009-09-02 Colin Watson <cjwatson@ubuntu.com>
27266
27267 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27268 rather than comparing against S_IFREG, which will almost never work.
27269
aa0f752d 272702009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27273 (write_blocklists): Likewise.
27274
ecb3166a 272752009-09-01 Colin Watson <cjwatson@ubuntu.com>
27276
27277 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27278 argument to grub_printf.
27279
c403a125 272802009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27281
27282 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27283 non GNU test.
31aba781 27284
b5e7312c 272852009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27286
27287 * kern/file.c (grub_file_read): Spelling fix
27288
fe00f472 272892009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27290
27291 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27292 loading of headers in some cases.
27293
cc55302e 272942009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27295
27296 * configure.ac: Bump version to 1.97~beta1.
27297 * docs/version.texi: Likewise.
27298
5c90cdd2 272992009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27300
27301 * include/grub/i386/xnu.h: Add license header.
27302 include grub/err.h explicitly.
27303
c90edae4 273042009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27305
27306 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27307 to `ufs' in the vfs.root.mountfrom kernel parameter.
27308
d8888b5c 273092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27312
27313 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27314 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27315
27316 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27317 `ARRAY_SIZE' macro.
27318
6f07b921 273192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27320
27321 * kern/file.c (grub_file_read): Check offset.
27322 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27323 * fs/jfs.c (grub_jfs_read_file): Likewise.
27324 * fs/ntfs.c (grub_ntfs_read): Likewise.
27325 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27326 * fs/minix.c (grub_minix_read_file): Correct offset check.
27327 * fs/ufs.c (grub_ufs_read_file): Likewise.
27328
b4f34077 273292009-08-28 Colin Watson <cjwatson@ubuntu.com>
27330
27331 * term/i386/pc/console.c (bios_data_area): Cast
27332 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27333
e7c69859 273342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27335
27336 1-bit optimised blitters.
27337
27338 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27339 prototype.
27340 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27341 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27342 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27343 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27344 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27345 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27346 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27347 function.
27348 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27349 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27350 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27351 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27352 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27353 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27354 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27355 when possible.
27356 * video/video.c (grub_video_get_blit_format): Return
27357 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27358
a57da43f 273592009-08-28 Colin Watson <cjwatson@ubuntu.com>
27360
27361 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27362 the first argument to grub_printf.
27363
4cbe67e5 273642009-08-28 Colin Watson <cjwatson@ubuntu.com>
273652009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27366
27367 Add `getkeystatus' terminal method. Add a new `keystatus' command
27368 to query it.
27369
27370 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27371 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27372 modifier key bitmasks.
27373 (struct grub_term_input): Add `getkeystatus' member.
27374 (grub_getkeystatus): Add prototype.
27375 * kern/term.c (grub_getkeystatus): New function.
27376
27377 * include/grub/i386/pc/memory.h
27378 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27379 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27380 Data Area layout.
27381 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27382 (grub_console_term_input): Set `getkeystatus' member.
27383 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27384 constants.
27385 (grub_usb_keyboard_getreport): Likewise.
27386 (grub_usb_keyboard_checkkey): Likewise.
27387 (grub_usb_keyboard_getkeystatus): New function.
27388 (grub_usb_keyboard_term): Set `getkeystatus' member.
27389
27390 * commands/keystatus.c: New file.
27391 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27392 (keystatus_mod_SOURCES): New variable.
27393 (keystatus_mod_CFLAGS): Likewise.
27394 (keystatus_mod_LDFLAGS): Likewise.
27395 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27396 commands/keystatus.c.
27397 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27398 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27399 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27403
6e2a9085 274042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27405
27406 Split befs.mod and afs.mod into *_be.mod and *.mod
27407
27408 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27409 (grub_fstest_SOURCES): Likewise.
27410 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27411 (afs_be_mod_SOURCES): New variable.
27412 (afs_be_mod_CFLAGS): Likewise.
27413 (afs_be_mod_LDFLAGS): Likewise.
27414 (befs_be_mod_SOURCES): Likewise.
27415 (befs_be_mod_CFLAGS): Likewise.
27416 (befs_be_mod_LDFLAGS): Likewise.
27417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27418 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27420 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27421 (grub_emu_SOURCES): Likewise.
27422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27423 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27424 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27425 * fs/afs_be.c: New file.
27426 * fs/befs_be.c: New file.
27427 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27428 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27429 (U16): Replaced with ...
27430 (grub_afs_to_cpu16): ...this. All users updated.
27431 (U32): Replaced with ...
27432 (grub_afs_to_cpu32): ...this. All users updated.
27433 (U64): Replaced with ...
27434 (grub_afs_to_cpu64): ...this. All users updated.
27435 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27436 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27437 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27438 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27439 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27440 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27441 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27442 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27443 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27444 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27445 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27446
32a71655 274472009-08-26 Bean <bean123ch@gmail.com>
27448
27449 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27450 64-bit number.
27451 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27452 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27453 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27454
552bf6c5 274552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27456
27457 NetBSD memory map support.
27458
27459 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27460 (grub_netbsd_btinfo_mmap_header): New structure.
27461 (grub_netbsd_btinfo_mmap_entry): Likewise.
27462 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27463
1ae2078c 274642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27465
27466 Enable bsd.mod on coreboot.
27467
27468 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27469 (bsd_mod_SOURCES): New variable.
27470 (bsd_mod_CFLAGS): Likewise.
27471 (bsd_mod_LDFLAGS): Likewise.
27472 (bsd_mod_ASFLAGS): Likewise.
27473 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27474 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27475
beefc598 274762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 Cleanup NetBSD root support.
27479
27480 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27481 grub_bsd_get_device.
27482 Fix typo.
27483
3b76e68b 274842009-08-25 Felix Zielcke <fzielcke@z-51.de>
27485
27486 * util/grub.d/00_header.in: Move check for the video backend of
27487 gfxterm from here ...
27488 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27489 a suitable video backend.
27490
aea664ea 274912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 Fix breakage in grub-setup.
27494
27495 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27496 "msdos_partition_map".
27497
ff747d50 274982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27499
27500 Fix breakage in normal/auth.c.
27501
27502 * normal/auth.c (grub_iswordseparator): New function.
27503
e7e1f93f 275042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27505
27506 Authentication support.
27507
27508 * commands/password.c: New file.
27509 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27510 (password_mod_SOURCES): New variable.
27511 (password_mod_CFLAGS): Likewise.
27512 (password_mod_LDFLAGS): Likewise.
27513 (normal_mod_SOURCES): Add normal/auth.c.
27514 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27515 normal/auth.c.
27516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27517 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27518 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27522 * include/grub/auth.h: New file.
27523 * include/grub/err.h (grub_err_t): New enum value
27524 GRUB_ERR_ACCESS_DENIED.
27525 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27526 'users'.
27527 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27528 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27529 users updated.
27530 * normal/auth.c: New file.
27531 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27532 (grub_cmdline_run): Don't allow to go to command line without
27533 authentication.
27534 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27535 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27536 menuentry without superuser rights.
27537 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27538 user isn't a superuser.
27539
70f1161d 275402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 Save space by inlining misc.c functions.
27543
27544 * kern/misc.c (grub_iswordseparator): Made static.
27545 * kern/misc.c (grub_strcat): Moved from here ...
27546 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27547 * kern/misc.c (grub_strncat): Moved from here ...
27548 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27549 * kern/misc.c (grub_strcasecmp): Moved from here ...
27550 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27551 * kern/misc.c (grub_strncasecmp): Moved from here ...
27552 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27553 * kern/misc.c (grub_isalpha): Moved from here ...
27554 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27555 * kern/misc.c (grub_isdigit): Moved from here ...
27556 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27557 * kern/misc.c (grub_isgraph): Moved from here ...
27558 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27559 * kern/misc.c (grub_tolower): Moved from here ...
27560 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27561
48e40bff 275622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27563
27564 * script/sh/function.c (grub_script_function_find): Cut error message
27565 not to flood terminal.
27566 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27567 limit.
27568 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27569
c385bfc3 275702009-08-24 Colin Watson <cjwatson@ubuntu.com>
27571
27572 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27573 `report' grub_uint8_t *.
27574 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27575 Use a 50-millisecond timeout rather than just repeating
27576 grub_usb_keyboard_getreport 50 times.
27577 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27578
2d21e3e8 275792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27580
27581 Rename *_partition_map to part_*
27582
27583 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27584 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27585 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27586 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27587 All users updated.
27588 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27589 All users updated.
27590 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27591 * util/grub-probe.c (probe_partmap): Don't transform partition name
27592 to get module name.
27593
dd103c4e 275942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27595
27596 Fix OpenBSD and NetBSD support.
27597
27598 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27599 memory address conflict.
27600 (OPENBSD_MMAP_ACPI): New definition.
27601 (OPENBSD_MMAP_NVS): Likewise.
27602 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27603 and OPENBSD_MMAP_NVS.
27604 Add memory map terminator
27605 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27606 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27607
16c84d74 276082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27609
27610 Let user specify NetBSD root device.
27611
27612 * loader/i386/bsd.c (netbsd_root): New variable.
27613 (netbsd_opts): New option 'root'.
27614 (NETBSD_ROOT_ARG): New macro.
27615 (grub_netbsd_boot): Use 'netbsd_root'.
27616 (grub_bsd_unload): Free 'netbsd_root'.
27617 (grub_cmd_netbsd): Fill 'netbsd_root'.
27618
adb29902 276192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27620
27621 Support for 64-bit NetBSD.
27622
27623 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27624 point when booting non-FreeBSD.
27625
f5ae9f74 276262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 Support --no-smp and --no-acpi for NetBSD.
27629
27630 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27631 (NETBSD_AB_NOACPI): Likewise.
27632 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27633 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27634
de74f136 276352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27636
27637 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27638 errors.
27639 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27640 errors. Call grub_error when needed.
27641
e9a925da 276422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 * commands/search.c (search_fs): Try searching without autoload first.
27645 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27646 filesystem module explicitly for faster booting.
27647
5174302b 276482009-08-23 Colin Watson <cjwatson@ubuntu.com>
27649
27650 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27651
c8c80635 276522009-08-23 Colin Watson <cjwatson@ubuntu.com>
27653
27654 * util/grub.d/30_os-prober.in: Disable os-prober if
27655 `GRUB_DISABLE_OS_PROBER' was set to true.
27656
71acf5e5 276572009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27658
27659 * partmap/pc.c: Rename to ...
27660 * partmap/msdos.c: ... this. Update all users.
27661 (grub_pc_partition_map): Rename to ...
27662 (grub_msdos_partition_map): ... this. Update all users.
27663
27664 * parttool/pcpart.c: Rename to ...
27665 * parttool/msdospart.c: ... this. Update all users.
27666
27667 * include/grub/pc_partition.h: Rename to ...
27668 * include/grub/msdos_partition.h: ... this. Update all users.
27669 (grub_pc_partition_bsd_entry): Rename to ...
27670 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27671 (grub_pc_partition_disk_label): Rename to ...
27672 (grub_msdos_partition_disk_label): ... this. Update all users.
27673 (grub_pc_partition_entry): Rename to ...
27674 (grub_msdos_partition_entry): ... this. Update all users.
27675 (grub_pc_partition_mbr): Rename to ...
27676 (grub_msdos_partition_mbr): ... this. Update all users.
27677 (grub_pc_partition): Rename to ...
27678 (grub_msdos_partition): ... this. Update all users.
27679 (grub_pc_partition_is_empty): Rename to ...
27680 (grub_msdos_partition_is_empty): ... this. Update all users.
27681 (grub_pc_partition_is_extended): Rename to ...
27682 (grub_msdos_partition_is_extended): ... this. Update all users.
27683 (grub_pc_partition_is_bsd): Rename to ...
27684 (grub_msdos_partition_is_bsd): ... this. Update all users.
27685
27686 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27687 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27688 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27689 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27690 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27691 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27692 (gpt_mod_LDFLAGS): Rename to ...
27693 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27694 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27695 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27696 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27697 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27698 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27699 (part_gpt_mod_LDFLAGS): ... this.
27700 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27701 `pcpart.mod' to `msdospart.mod'.
27702 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27703 to ...
27704 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27705 (msdospart_mod_LDFLAGS): ... this.
27706
c11fded5 277072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27708
27709 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27710 (openbsd_opts): Likewise.
27711 (netbsd_opts): Likewise.
27712 (freebsd_flags): Added 0 terminator.
27713 (openbsd_flags): Likewise.
27714 (netbsd_flags): Likewise.
27715 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27716 (grub_cmd_freebsd): Transformed into extended command.
27717 (grub_cmd_openbsd): Likewise.
27718 (grub_cmd_netbsd): Likewise.
27719 (cmd_freebsd): Changed type to grub_extcmd_t.
27720 (cmd_openbsd): Likewise.
27721 (cmd_netbsd): Likewise.
27722 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27723 grub_cmd_openbsd as extended commands.
27724 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27725 cmd_netbsd and cmd_openbsd
27726
11d1c769 277272009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27728
27729 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27730
7a9094e5 277312009-08-21 Pavel Roskin <proski@gnu.org>
27732
5496c37e 27733 * Makefile.in (install-local): When checking if a file is in the
27734 build directory, use "test -e" to detect symlinks.
27735
7a9094e5 27736 * Makefile.in (install-local): Remove all files in
27737 $(DESTDIR)$(pkglibdir) before installing new files there.
27738
e53cea11 277392009-08-18 Felix Zielcke <fzielcke@z-51.de>
27740
27741 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27742 grub-mkelfimage.
27743
9aced544 277442009-08-18 Felix Zielcke <fzielcke@z-51.de>
27745
27746 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27747 explicitly specified by the user.
27748
b7da6bab 277492009-08-18 Pavel Roskin <proski@gnu.org>
27750
27751 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27752 grub_uint8_t pointer for data.
27753 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27754 Likewise.
27755 * video/fb/fbutil.c: Remove unnecessary casts.
27756
19f1b335 277572009-08-17 Michal Suchanek <hramrach@centrum.cz>
27758
27759 VBE cleanup.
27760
27761 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27762 (grub_vbe_set_video_mode): Save active mode info
27763 only after setting the mode.
27764 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27765 second argument.
27766
2f467aa9 277672009-08-17 Michal Suchanek <hramrach@centrum.cz>
27768
27769 Rename variables for clarity.
27770
27771 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27772 (active_vbe_mode_info): ... this. All users updated.
27773 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27774 All users updated.
27775 (initial_mode): Rename to ...
27776 (initial_vbe_mode): ... this. All users updated.
27777 (mode_in_use): Rename to ..
27778 (vbe_mode_in_use): ... this. All users updated.
27779 (mode_list): Rename to ..
27780 (vbe_mode_list): ... this. All users updated.
27781 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27782 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27783 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27784 'mode_list_size' to 'vbe_mode_list_size'.
27785 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27786 'best_mode_info' to 'best_vbe_mode_info' and
27787 'best_mode' to 'best_vbe_mode'
27788
6025fcd7 277892009-08-17 Michal Suchanek <hramrach@centrum.cz>
27790
27791 Remove duplicate grub_video_fb_get_video_ptr.
27792
27793 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27794 (grub_video_fb_get_video_ptr): ... this.
27795 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27796 * video/fb/fbutil.c: Add comment about addressing.
27797 (get_data_ptr): Rename to ...
27798 (grub_video_fb_get_video_ptr): ... this. All users updated.
27799 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27800
cc8c6faf 278012009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27802
27803 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27804 grub_dprintf() that was just added.
27805
08aa61f0 278062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27807
27808 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27809 (DEFAULT_VIDEO_MODE): Remove macros.
27810 (grub_linux_boot): Remove assumption that Linux has FB support,
27811 and use "text" as default video mode.
27812
7cef4f75 278132009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27814
27815 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27816 grub_dprintf.
27817 * fs/fat.c (grub_fat_read_data): Likewise.
27818
e1f39873 278192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27820
27821 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27822 payload.
27823 (grub_module): Likewise.
27824
c166d79e 278252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27826
27827 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27828 mbi->cmdline but free playground.
27829
c60cee8e 278302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 Handle group offset on UFS1.
27833
27834 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27835 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27836
c0d8b5d4 278372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 Split ufs.mod into ufs1.mod and ufs2.mod.
27840
27841 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27842 (grub_fstest_SOURCES): Likewise.
27843 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27844 (ufs_mod_SOURCES): Remove.
27845 (ufs_mod_CFLAGS): Likewise.
27846 (ufs_mod_LDFLAGS): Likewise.
27847 (ufs1_mod_SOURCES): New variable.
27848 (ufs1_mod_CFLAGS): Likewise.
27849 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27850 (ufs2_mod_SOURCES): New variable.
27851 (ufs2_mod_CFLAGS): Likewise.
27852 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27854 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27855 Likewise.
27856 (grub_emu_SOURCES): Likewise.
27857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27858 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27859 (grub_setup_SOURCES): Likewise.
27860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27861 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27862 (grub_setup_SOURCES): Likewise.
27863 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27864 Likewise.
27865 * fs/ufs2.c: New file.
27866 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27867
d3539132 278682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27869
27870 Framebuffer split.
27871
27872 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27873 subsystem at the end.
27874 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27875 (video_fb_mod_SOURCES): New variable.
27876 (video_fb_mod_CFLAGS): Likewise.
27877 (video_fb_mod_LDFLAGS): Likewise.
27878 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27879 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27880 * video/i386/pc/vbeblit.c: Moved from here ...
27881 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27882 * video/i386/pc/vbefill.c: Moved from here ...
27883 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27884 * video/i386/pc/vbeutil.c: Moved from here ...
27885 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27886 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27887 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27888 * include/grub/i386/pc/vbefill.h: Moved from here ...
27889 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27890 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27891 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27892 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27893 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27894 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27895 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27896 (grub_video_adapter): Added 'get_info_and_fini'.
27897 (grub_video_get_info_and_fini): New prototype.
27898 (grub_video_set_mode): make modestring const char *.
27899 * loader/i386/linux.c (grub_linux_setup_video): Use
27900 grub_video_get_info_and_fini.
27901 (grub_linux_boot): Move modesetting just before booting.
27902 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27903 grub_video_get_info_and_fini.
27904 * video/i386/pc/vbe.c: Moved framebuffer part ...
27905 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27906 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27907 grub_video_fbstd_colors and grub_video_fb_set_palette.
27908 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27909 grub_video_fb_init.
27910 (grub_video_vbe_fini): Use grub_video_fb_fini.
27911 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27912 render_target and use grub_video_fb_set_active_render_target and
27913 grub_video_fb_set_palette.
27914 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27915 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27916 (grub_video_vbe_adapter): Use framebuffer.
27917 * video/video.c (grub_video_get_info_and_fini): New function.
27918 (grub_video_set_mode): Make modestring const char *.
27919 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27920 values are already initialised.
27921
d404ee56 279222009-08-14 Pavel Roskin <proski@gnu.org>
27923
27924 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27925 ABS and APPLE_CC.
27926 * boot/i386/pc/diskboot.S: Likewise.
27927 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27928 sectors allow compilation on MacOSX.
27929 * conf/i386-pc.rmk: Enable unconditional compilation of
27930 lnxboot.img.
27931
9a10df16 279322009-08-13 Colin Watson <cjwatson@ubuntu.com>
27933
27934 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27935 * util/grub.d/00_header.in: Enter interruptible sleep if
27936 GRUB_HIDDEN_TIMEOUT is set.
27937
be3c9ca7 279382009-08-13 Yves Blusseau <blusseau@zetam.org>
27939
27940 * include/grub/symbol.h: Add the LOCAL macro.
27941 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27942 starting with "L_".
27943
1f9e557e 279442009-08-13 Pavel Roskin <proski@gnu.org>
27945
9ca62843 27946 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27947 any modern compilers we support.
27948
1f9e557e 27949 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27950 Use local labels starting with "L_" so that Apple assembler
27951 knows they are local.
27952
81623db6 279532009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27954
27955 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27956 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27957 (bsd_kernel_types): ... this enum.
27958
27959 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27960 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27961 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27962
27963 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27964 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27965 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27966 messages.
27967
f5d35e7a 279682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27969
27970 * util/grub-dumpdevtree: Moved from here ...
27971 * util/i386/efi/grub-dumpdevtree: ... to here.
27972 (hexify): New function. Converts a string to its hex version.
27973 Generate hex versions of "efi" and "device-properties" by calling
27974 hexify() on the ASCII strings rather than by hardcoding numbers.
27975
d1e1d527 279762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27977
27978 * fs/jfs.c: Update copyright year.
27979
1ebbe064 279802009-08-08 Felix Zielcke <fzielcke@z-51.de>
27981
27982 * util/grub.d/00_header.in: Fix a comment.
27983 * util/grub.d/10_linux.in: Likewise.
27984 * util/grub.d/10_windows.in: Likewise.
27985 * util/grub.d/10_hurd.in: Likewise.
27986
a78c8d24 279872009-08-08 Felix Zielcke <fzielcke@z-51.de>
27988
27989 * util/grub-mkconfig.in: Allow the user to specify the used font
27990 with GRUB_FONT.
27991
29a6b9e8 279922009-08-08 Pavel Roskin <proski@gnu.org>
27993
b5f16cc4 27994 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27995 available, xfs.mod needs it now.
27996
2f5cb827 27997 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27998 the "g" modifier in sed when the intention is to strip something
27999 once. This fixes comparison of kernels with multiple dashes.
28000
29a6b9e8 28001 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28002 on it. Add missing space before closing bracket. Fix
28003 misleading formatting.
28004
892a3d98 280052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28006
28007 * docs/grub.texi: Major overhaul. Remove all sections that are
28008 specific to GRUB Legacy, or mostly composed of Legacy-specific
28009 information.
28010
ed94253f 280112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28012
28013 * docs/version.texi: New file. Provides version information for
28014 grub.texi.
28015
126d6628 280162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28017
28018 * docs/grub.texi: Update CVS information to SVN.
28019 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28020
998b5aa9 280212009-08-07 Felix Zielcke <fzielcke@z-51.de>
28022
28023 * util/grub-mkconfig.in: Remove a wrong `fi'.
28024
818e094a 280252009-08-07 Felix Zielcke <fzielcke@z-51.de>
28026
28027 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28028 (grub_jfs_uuid): New function.
28029 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28030
b969c52f 280312009-08-07 Felix Zielcke <fzielcke@z-51.de>
28032
28033 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28034 of it to ...
28035 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28036 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28037
7a4894cc 280382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28039
28040 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28041 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28042 Update all users.
28043
28044 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28045 not just "vmlinu[zx]".
28046 Moved from here ...
28047 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28048 all users.
28049
28050 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28051 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28052 all users.
28053
4e2171f8 280542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28055
28056 * util/grub.d/10_freebsd.in: Use an absolute device path for
28057 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28058
6dcfcb32 280592009-08-06 Felix Zielcke <fzielcke@z-51.de>
28060
28061 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28062 handling of multiple abstraction modules.
28063
f56a8756 280642009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28065
28066 Fix a bug resulting in black screen when loading Linux using a
28067 packed video mode.
28068
28069 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28070 function.
28071
28072 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28073 (grub_vbe_bios_getset_dac_palette_width): New function.
28074 (grub_vbe_bios_get_dac_palette_width)
28075 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28076 grub_vbe_bios_getset_dac_palette_width()).
28077
28078 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28079 check for return status.
28080 (grub_vbe_get_video_mode_info): When getting information for a packed
28081 mode (<= 8 bpp), obtain DAC palette width using
28082 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28083 {red,green,blue}_mark_size.
28084
222671b2 280852009-08-04 Felix Zielcke <fzielcke@z-51.de>
28086
ecb1a6d9 28087 * commands/search.c (options): Fix help output to match actual code.
222671b2 28088
f84114f5 280892009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28092 of homegrown code.
28093
bd288a20 280942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28095
28096 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28097 on XFS or ReiserFS.
28098
8aab5e25 280992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 Support Apple partition map with sector size different from 512 bytes.
28102
28103 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28104 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28105 and 'apart.partmap_size'.
28106
6ad6258a 281072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
281082009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28109
28110 Fix cpuid command.
28111
28112 * commands/i386/cpuid.c (options): New variable.
28113 (grub_cmd_cpuid): Return real error.
28114 (GRUB_MOD_INIT(cpuid)): Declare options.
28115
67459bc6 281162009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28119 valid.
28120
fbc6ab54 281212009-07-31 Bean <bean123ch@gmail.com>
28122
28123 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28124 log2_inode.
28125 (grub_fshelp_node): Move inode field to the end.
28126 (grub_xfs_data): Remove inode field.
28127 (grub_xfs_inode_block): Calculate inode size using sblock.
28128 (grub_xfs_inode_offset): Likewise.
28129 (grub_xfs_read_inode): Calculate inode size using sblock.
28130 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28131 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28132 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28133 to match inode size.
28134 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28135 not accessible when data is null.
28136 (grub_xfs_open): Likewise.
28137
f45d6cfc 281382009-07-31 Bean <bean123ch@gmail.com>
28139
28140 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28141 Don't change pv->disk if it's already set.
28142
28143 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28144 (grub_raid_register): ... here.
28145 (grub_raid_rescan): Removed.
28146
28147 * include/grub/raid.h (grub_raid_rescan): Removed.
28148
28149 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28150 (fstest): Replace grub_raid_rescan with module fini function followed
28151 by init function.
28152
28153 * util/grub-probe.c: Add include file <grub/raid.h>.
28154 (probe_raid_level): New function.
28155 (probe): Detect abstraction by walking the disk device, support two
28156 level of abstraction (LVM on RAID) when detecting partition map.
28157
24443b5a 281582009-07-31 Pavel Roskin <proski@gnu.org>
28159
28160 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28161 to grub_zalloc(), it was erroneous.
28162 Reported by Bean <bean123ch@gmail.com>
28163
a275d9e7 281642009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28167 embedding zone, not only the first one.
a275d9e7 28168
56c5a47f 281692009-07-29 Joe Auricchio <jauricchio@gmail.com>
28170
28171 * term/gfxterm.c (clear_char): New function.
28172 (grub_virtual_screen_setup): Use clear_char.
28173 (scroll_up): Likewise.
28174 (grub_virtual_screen_cls): Likewise.
28175
67bb323a 281762009-07-29 Felix Zielcke <fzielcke@z-51.de>
28177
28178 * util/deviceiter.c (get_acceleraid_disk_name): New static
28179 function.
28180 (grub_util_iterate_devices): Handle Accelraid devices.
28181 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28182
388a7c75 281832009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28184
28185 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28186 separator for the suggested gfxpayload string (';' collides with the
28187 parser and needs escaping).
28188
3bb7abcf 281892009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28192 Clear direction flag before jumping to OS.
28193 (grub_multiboot2_real_boot): Likewise.
28194
2ddd36d7 281952009-07-28 Felix Zielcke <fzielcke@z-51.de>
28196
28197 * util/i386/pc/grub-install: Fix parsing of --disk-module
28198 option.
28199
c521b62b 282002009-07-28 Felix Zielcke <fzielcke@z-51.de>
28201
28202 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28203 when embedding.
28204
880e0a0c 282052009-07-26 Felix Zielcke <fzielcke@z-51.de>
28206
28207 * util/grub-mkconfig.in (package_version): New variable.
28208 Use it do display the version.
28209
2366e356 282102009-07-25 Felix Zielcke <fzielcke@z-51.de>
28211
28212 * kern/file.c (grub_file_open): Revert to previous check with
28213 grub_errno.
28214
7ad8c80e 282152009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28216
28217 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28218 from help line. It's out of sync with code.
28219
72b9658b 282202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28223 entries on failed boot.
28224
77435277 282252009-07-25 Felix Zielcke <fzielcke@z-51.de>
28226
28227 * kern/file.c (grub_file_open): Fix an error check.
28228
fcaa8b21 282292009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28230
35d16c74 28231 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28232 partition map couldn't be identified.
fcaa8b21 28233
48904cd1 282342009-07-23 Pavel Roskin <proski@gnu.org>
28235
ef3c317f 28236 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28237 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28238 case of little endian words becomes just an optimization.
28239 Respect const modifier.
ad8ea1f4 28240 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28241
48904cd1 28242 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28243 to avoid loss of upper bits if align is unsigned and shorter
28244 than addr.
28245
260c9a89 282462009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28247
28248 UUID support for UFS
28249
28250 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28251 (grub_ufs_uuid): New function.
28252 (grub_ufs_fs): add .uuid
28253
f76ce889 282542009-07-21 Pavel Roskin <proski@gnu.org>
28255
28256 * kern/dl.c (grub_dl_check_header): Make static.
28257
6a6cbcaf 282582009-07-21 Felix Zielcke <fzielcke@z-51.de>
28259
28260 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28261 add drivemap for Vista. It breaks Windows 7.
28262
cffcddb2 282632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28264
28265 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28266 128 bytes
28267
1ef44b80 282682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28269
28270 Add BFS support
28271
28272 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28273 (grub_fstest_SOURCES): Likewise.
28274 (pkglib_MODULES): Add befs.mod.
28275 (befs_mod_SOURCES): New variable.
28276 (befs_mod_CFLAGS): Likewise.
28277 (befs_mod_LDFLAGS): Likewise.
28278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28281 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28282 (grub_setup_SOURCES): Likewise.
28283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28284 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28285 (grub_setup_SOURCES): Likewise.
28286 * fs/befs.c: New file.
28287 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28288 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28289 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28290 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28291 (B_KEY_INDEX_ALIGN): New declaration.
28292 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28293 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28294 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28295 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28296 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28297 (grub_afs_mount) [MODE_BFS]: Likewise.
28298 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28299 (grub_afs_fs): Use GRUB_AFS_FSNAME
28300 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28301 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28302 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28303 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28304
4f253044 283052009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28306
28307 * util/getroot.c (find_root_device): Add support for MacOSX.
28308 * util/hostdisk.c: Likewise.
28309
57a55913 283102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 * font/font.c (find_glyph): Check whether a font is present to avoid
28313 segmentation fault.
75421ca9 28314
283152009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28316
28317 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28318
e98cd0c2 283192009-07-20 Pavel Roskin <proski@gnu.org>
28320
28321 * configure.ac: Trim excessively wordy excuses.
28322
1d2d169a 283232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28324
28325 Add symlink, mtime and label support to AtheFS.
28326
28327 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28328 (grub_afs_iterate_dir): Handle symlinks.
28329 (grub_afs_open): Use grub_afs_read_symlink.
28330 (grub_afs_dir): Likewise.
28331 Pass mtime.
28332 (grub_afs_label): New function.
28333 (grub_afs_fs): Add grub_afs_label.
28334 (grub_afs_read_symlink): New function.
28335
186f3189 283362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 Fix AtheFS support.
28339
28340 * fs/afs.c: Fix comments style.
28341 (grub_afs_blockrun): Declare as packed.
28342 (grub_afs_datastream): Likewise.
28343 (grub_afs_bnode): Likewise.
28344 (grub_afs_btree): Likewise.
28345 (grub_afs_sblock): Likewise.
28346 Declare `name' as char.
28347 (grub_afs_inode): Declare as packed.
28348 Change void *vnode to grub_uint32_t unused.
28349 (grub_afs_iterate_dir): Check that key_size is positive.
28350 (grub_afs_mount): Don't read superblock twice.
75421ca9 28351 (grub_afs_dir): Don't free node in case of error,
186f3189 28352 grub_fshelp_find_file already handles this.
28353 (grub_afs_open): Likewise.
28354
5680109e 283552009-07-19 Pavel Roskin <proski@gnu.org>
28356
28357 * Makefile.in: Remove LIBLZO and enable_lzo.
28358 * conf/i386-pc.rmk: Remove lzo support.
28359 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28360 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28361 support.
28362 * kern/i386/pc/lzo1x.S: Remove.
28363 * kern/i386/pc/startup.S: Remove lzo support.
28364 * util/i386/pc/grub-mkimage.c: Likewise.
28365
ac70fa32 283662009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28369 * fs/xfs.c (grub_xfs_dir): Likewise.
28370 * fs/afs.c (grub_afs_dir): Likewise.
28371 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28372 (grub_iso9660_open): Likewise.
28373 * fs/jfs.c (grub_jfs_open): Likewise.
28374 * fs/ext2.c (grub_ext2_dir): Likewise.
28375 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28376 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28377
eab58da2 283782009-07-16 Pavel Roskin <proski@gnu.org>
28379
d2838156 28380 * configure.ac: Never add "-c" to CFLAGS.
28381
55c70904 28382 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28383
43e6200c 28384 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28385 grub_cv_cc_efiemu should be used.
28386
ce7a733d 28387 * configure.ac: Typo fixes.
28388
eab58da2 28389 * kern/mm.c (grub_zalloc): New function.
28390 (grub_debug_zalloc): Likewise.
28391 * include/grub/mm.h: Declare grub_zalloc() and
28392 grub_debug_zalloc().
28393 * util/misc.c (grub_zalloc): New function.
28394 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28395 instead of grub_malloc(), remove unneeded initializations.
28396 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28397 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28398 * commands/parttool.c (grub_cmd_parttool): Likewise.
28399 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28400 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28401 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28402 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28403 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28404 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28405 (grub_cmd_efiemu_pnvram): Likewise.
28406 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28407 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28408 (grub_iso9660_iterate_dir): Likewise.
28409 * fs/jfs.c (grub_jfs_opendir): Likewise.
28410 * fs/ntfs.c (list_file): Likewise.
28411 (grub_ntfs_mount): Likewise.
28412 * kern/disk.c (grub_disk_open): Likewise.
28413 * kern/dl.c (grub_dl_load_core): Likewise.
28414 * kern/elf.c (grub_elf_file): Likewise.
28415 * kern/env.c (grub_env_context_open): Likewise.
28416 (grub_env_set): Likewise.
28417 (grub_env_set_data_slot): Likewise.
28418 * kern/file.c (grub_file_open): Likewise.
28419 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28420 * loader/i386/multiboot.c (grub_module): Likewise.
28421 * loader/xnu.c (grub_xnu_create_key): Likewise.
28422 (grub_xnu_create_value): Likewise.
28423 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28424 (read_config_file): Likewise.
28425 * normal/menu_entry.c (make_screen): Likewise.
28426 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28427 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28428 * script/sh/script.c (grub_script_parse): Likewise.
28429 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28430 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28431 * video/readers/png.c (grub_png_output_byte): Likewise.
28432 (grub_video_reader_png): Likewise.
28433
830afef7 284342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28435
28436 Enable all targets that can be built by default
28437
830afef7 28438 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28439 grub-mkfont and grub-fstest if they can be built
28440
ee293aee 284412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28442
28443 Fix hang and segmentation fault in grub-emu-usb
28444
28445 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28446 * util/usb.c (grub_libusb_devices): likewise
28447 (grub_libusb_init): rename to ...
28448 (GRUB_MOD_INIT (libusb)):...this
28449 (grub_libusb_fini): rename to ..
28450 (GRUB_MOD_FINI (libusb)):...this
28451 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28452 * include/grub/disk.h (grub_raid_init): removed, it's useless
28453 (grub_raid_fini): likewise
28454 (grub_lvm_init): likewise
28455 (grub_lvm_fini): likewise
28456 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28457 by grub_init_all
28458
94414221 284592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 Fix libusb
28462
28463 * Makefile.in (LIBUSB): new macro
28464 * genmk.rb (Utility/print_tail): new method
28465 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28466 (top level): call util.print_tail at the end.
28467
59ade63d 284682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28469
28470 Make FreeBSD accept zpool.cache
28471
28472 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28473 type is /boot/zfs/zpool.cache
28474
a58da8c7 284752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 Fix 64-bit efiemu
28478
28479 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28480 correct wrong typedef
28481 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28482
20591577 284832009-07-15 Pavel Roskin <proski@gnu.org>
28484
560ca572 28485 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28486 * kern/disk.c (struct grub_disk_cache): Likewise.
28487
e8e8e4fd 28488 * commands/probe.c (options): Typo fix.
28489
fde24e10 28490 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28491 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28492 accordingly.
28493 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28494
379c54c1 28495 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28496 the end of "Error" to make the message more readable.
28497
7bd8f5bf 28498 * boot/i386/pc/boot.S (kernel_segment): Remove.
28499 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28500 for destination.
28501
40b132c5 28502 * boot/i386/pc/boot.S (boot_version): Remove.
28503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28504 Remove.
28505
20591577 28506 * include/grub/i386/pc/boot.h: Sort all offsets.
28507 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28508 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28509 * boot/i386/pc/boot.S: Assert location of every offset listed in
28510 include/grub/i386/pc/boot.h.
28511
2df32b2c 285122009-07-13 Pavel Roskin <proski@gnu.org>
28513
44b5d879 28514 * include/grub/i386/coreboot/machine.h: Rename
28515 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28516 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28517 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28518
17dc3751 28519 * kern/dl.c: Force native word size to suppress warnings when
28520 compiling grub-emu.
28521
2df32b2c 28522 * kern/device.c (grub_device_iterate): Change struct part_ent to
28523 hold the name, not a pointer to it. Use one grub_malloc() per
28524 partition, not two. Free partition_name if grub_malloc() fails.
28525 Set ents to NULL only before grub_partition_iterate() is called.
28526
75c59f59 285272009-07-11 Bean <bean123ch@gmail.com>
28528
28529 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28530 childname.
28531
0ae1bf88 285322009-07-10 Bean <bean123ch@gmail.com>
285332009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28534
28535 * kern/ieee1275/openfw.c (grub_children_iterate)
28536 (grub_devalias_iterate): Fix size evaluation for property or path
28537 strings, which was broken since r2132.
28538
8279cade 285392009-07-07 Pavel Roskin <proski@gnu.org>
28540
7d8a52d3 28541 * commands/search.c (search_file): Merge into ...
28542 (search_fs): ... this. Accept search type as argument.
28543 (grub_cmd_search): Pass search type to search_fs().
28544
25f9a05a 28545 * include/grub/util/console.h: New file.
28546 * util/console.c: Use it instead of grub/machine/console.h.
28547 * util/grub-emu.c: Likewise.
28548
8279cade 28549 * lib/arg.c (find_long_option): Remove.
28550 (find_long): Add `len' argument, make `s' const char *.
28551 (grub_arg_parse): Parse long options in place, not in a
28552 temporary buffer.
28553
4a11b60f 285542009-07-06 Pavel Roskin <proski@gnu.org>
28555
99f68041 28556 * commands/search.c (search_fs): Fix potential NULL pointer
28557 dereference.
28558
4a11b60f 28559 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28560 function pointer.
28561
e110f4de 285622009-07-06 Daniel Mierswa <impulze@impulze.org>
28563
28564 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28565 comparison.
28566
46eeb6a2 285672009-07-05 Pavel Roskin <proski@gnu.org>
28568
bab74958 28569 * include/grub/i386/linux.h (struct linux_kernel_params):
28570 Restore padding3, it's still needed.
28571
46eeb6a2 28572 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28573 FreeBSD.
28574 * util/osdetect.lua: Likewise.
28575
b4a1dc79 285762009-07-05 Bean <bean123ch@gmail.com>
28577
28578 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28579
28580 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28581 (grub_lua_getenv): Likewise.
28582 (grub_lua_setenv): Likewise.
28583 (save_errno): New function.
28584 (push_result): Likewise.
28585 (grub_lua_enum_device): Likewise.
28586 (grub_lua_enum_file): Likewise.
28587 (grub_lua_file_open): Likewise.
28588 (grub_lua_file_close): Likewise.
28589 (grub_lua_file_seek): Likewise.
28590 (grub_lua_file_read): Likewise.
28591 (grub_lua_file_getline): Likewise.
28592 (grub_lua_file_getsize): Likewise.
28593 (grub_lua_file_getpos): Likewise.
28594 (grub_lua_file_eof): Likewise.
28595 (grub_lua_file_exist): Likewise.
28596 (grub_lua_add_menu): Likewise.
28597
28598 * script/lua/grub_lua.h (isupper): New inline function.
28599 (islower): Likewise.
28600 (ispunct): Likewise.
28601 (isxdigit): Likewise.
28602 (strcspn): Change to normal function.
28603 (strpbkr): New function declaration.
28604 (memchr): Likewise.
28605
28606 * script/lua/grub_main.c (scan_str): New function.
28607 (strcspn): Likewise.
28608 (strpbrk): Likewise.
28609 (memchr): Likewise.
28610
28611 * script/lua/linit.c (lualibs): Enable the string library.
28612
28613 * util/osdetect.lua: New file.
28614
2da92295 286152009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28616
28617 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28618 `capabilities' member.
28619
b2582ec9 286202009-07-02 Pavel Roskin <proski@gnu.org>
28621
28622 * genparttoollist.sh: Add missing newline at the end.
28623
32622956 286242009-07-01 Pavel Roskin <proski@gnu.org>
28625
87a7339e 28626 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28627
d23af54e 28628 * util/hostdisk.c (open_device): Remove `const' from
28629 `sysctl_size', as sysctlbyname() can change it (in this case it
28630 doesn't actually happen).
28631
c94b18a9 28632 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28633 using signed long int constants.
28634
c6cd3ef0 28635 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28636 constant to avoid a warning on FreeBSD.
28637
0df63420 28638 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28639 where it's needed.
28640
999577f1 28641 * Makefile.in: Install include/grub/machine symlink.
28642
6f41557f 28643 * Makefile.in: When installing symlinks, use "cp -fR", which
28644 works on FreeBSD and MacOSX.
28645 From Yves Blusseau <cl7m42e02@sneakemail.com>
28646
c8d22988 28647 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28648 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28649
1b96e952 28650 * util/misc.c: Move grub_reboot() and grub_halt() ...
28651 * util/grub-emu.c: ... here. Make main_env static.
28652 * include/grub/util/misc.h: Remove main_env.
28653
2ef0084d 28654 * kern/mm.c: Use correct format to print size_t.
28655
32622956 28656 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28657 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28658 * kern/powerpc/dl.c: Likewise.
28659 * kern/sparc64/dl.c: Likewise.
28660 * kern/x86_64/dl.c: Likewise.
28661
3f7f0cd0 286622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28663
28664 Fix grub-emu build on sparc64-ieee1275.
28665
75421ca9 28666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28668
211d06b5 286692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28670
28671 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28672 (grub_reboot, grub_halt): New functions.
28673
28674 * util/i386/pc/misc.c: Delete. Update all users.
28675 * util/sparc64/ieee1275/misc.c: Likewise.
28676 * util/powerpc/ieee1275/misc.c: Likewise.
28677
aaf53e3c 286782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 * conf/i386.rmk (setjmp_mod_SOURCES)
28681 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28682 * conf/common.rmk (setjmp_mod_SOURCES)
28683 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28684 to use $(target_cpu).
28685 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28686 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28687 * conf/powerpc-ieee1275.rmk: Likewise.
28688 * conf/sparc64-ieee1275.rmk: Likewise.
28689
28690 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28691 $(target_cpu) for kern/$(target_cpu)/dl.c.
28692 * conf/i386-efi.rmk: Likewise.
28693 * conf/i386-ieee1275.rmk: Likewise.
28694 * conf/x86_64-efi.rmk: Likewise.
28695 * conf/i386-coreboot.rmk: Likewise.
28696 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28697 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28698 kern/$(target_cpu)/cache.S.
28699 * conf/sparc64-ieee1275.rmk: Likewise.
28700
a337130b 287012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28702
28703 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28704 type to `grub_uint8_t', and adjust `padding9' accordingly.
28705
c6fe4d53 287062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28707
b09db61d 28708 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28709
c6fe4d53 28710 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28711 assembly in final jump, using register constraints.
28712
b09db61d 28713 (grub_linux_boot): For text mode, initialize `have_vga' using
28714 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28715
28716 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28717 right before the final jump.
28718
28719 Set `video_mode' to 0x3.
28720
28721 Document initialization of `video_page', `video_mode' and
28722 `video_ega_bx'.
28723
28333ad0 287242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28727 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28728 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28729
02164e1b 287302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28731
28732 Fix build on Debian / sparc.
28733
28734 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28735
18b6c557 287362009-06-28 Pavel Roskin <proski@gnu.org>
28737
85f2aab6 28738 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28739 fix a warning.
28740
18b6c557 28741 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28742
ad760f81 287432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28744
28745 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28746 `err'.
28747
87a4623b 287482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28749
28750 Revert r2338.
28751
28752 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28753 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28754 grub_errno / grub_errmsg appropriately.
87a4623b 28755 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28756
8231fb77 287572009-06-27 Pavel Roskin <proski@gnu.org>
287582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * include/grub/dl.h: Include grub/elf.h.
28761 (struct grub_dl): Add symtab field.
28762 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28763 GRUB_MODULES_MACHINE_READONLY.
28764 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28765 of the header for read-only modules.
28766 (grub_dl_unload): Free mod->symtab for read-only modules.
28767 * kern/i386/dl.c: Use mod->symtab.
28768 * kern/powerpc/dl.c: Likewise.
28769 * kern/sparc64/dl.c: Likewise.
28770 * kern/x86_64/dl.c: Likewise.
28771
28772 * conf/i386-qemu.rmk: New file.
28773 * kern/i386/qemu/startup.S: Likewise.
28774 * kern/i386/qemu/mmap.c: Likewise.
28775 * boot/i386/qemu/boot.S: Likewise.
28776 * include/grub/i386/qemu/time.h: Likewise.
28777 * include/grub/i386/qemu/serial.h: Likewise.
28778 * include/grub/i386/qemu/kernel.h: Likewise.
28779 * include/grub/i386/qemu/console.h: Likewise.
28780 * include/grub/i386/qemu/boot.h: Likewise.
28781 * include/grub/i386/qemu/init.h: Likewise.
28782 * include/grub/i386/qemu/machine.h: Likewise.
28783 * include/grub/i386/qemu/loader.h: Likewise.
28784 * include/grub/i386/qemu/memory.h: Likewise.
28785
28786 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28787 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28788 [qemu] (pkglib_IMAGES): Add `boot.img'.
28789 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28790 [qemu] (boot_img_FORMAT): New variables.
28791 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28792 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28793 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28794 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28795 [qemu] (kernel_img_FORMAT): New variables.
28796
28797 * configure.ac: Recognise `i386-qemu'.
28798
28799 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28800 (for no compression).
28801 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28802 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28803 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28804 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28805 ifdefs).
28806
97fe384e 288072009-06-27 Pavel Roskin <proski@gnu.org>
28808
28809 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28810 read.
28811 * efiemu/prepare32.c: Likewise.
28812 * efiemu/prepare64.c: Likewise.
28813
c402ab17 288142009-06-26 Pavel Roskin <proski@gnu.org>
28815
28816 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28817 * include/grub/elf.h: Define symbols without "32" or "64" based
28818 on GRUB_TARGET_WORDSIZE.
28819 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28820 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28821 ELF definitions.
28822 * efiemu/loadcore64.c: Likewise.
28823 * loader/i386/bsd32.c: Likewise.
28824 * loader/i386/bsd64.c: Likewise.
28825 * kern/dl.c: Remove own ELF definitions.
28826 * util/i386/efi/grub-mkimage.c: Likewise.
28827
9bbdfd4d 288282009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28829
28830 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28831 segment 0x0 unconditionally, because the reference generated by
28832 GAS is an absolute address.
28833
a42ce6e9 288342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28835
28836 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28837 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28838
c952cf92 288392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28840
28841 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28842 indexes. Check for -f explicitly.
cc3752ad 28843 (search_file): Improve error message.
28844 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28845
132a0a59 288462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28847
28848 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28849 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28850
387a140c 288512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28852
28853 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28854 * conf/i386-ieee1275.rmk: Likewise.
28855 * conf/i386-coreboot.rmk: Likewise.
28856
28857 * kern/i386/pc/startup.S (grub_stop): Remove function.
28858 * kern/i386/ieee1275/startup.S: Likewise.
28859 * kern/i386/coreboot/startup.S: Likewise.
28860 * kern/i386/misc.S (grub_stop): New function.
28861
41da9665 288622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28863
28864 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28865 * kern/i386/realmode.S (real_to_prot): ... to here.
28866
bf337234 288672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28868
28869 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28870 with `kernel.img'.
28871 (kernel_elf_SOURCES): Rename to ...
28872 (kernel_img_SOURCES): ... this.
28873 (kernel_elf_HEADERS): Rename to ...
28874 (kernel_img_HEADERS): ... this. Update all users.
28875 (kernel_elf_ASFLAGS): Rename to ...
28876 (kernel_img_ASFLAGS): ... this.
28877 (kernel_elf_CFLAGS): Rename to ...
28878 (kernel_img_CFLAGS): ... this.
28879 (kernel_elf_LDFLAGS): Rename to ...
28880 (kernel_img_LDFLAGS): ... this.
28881 * conf/i386-coreboot.rmk: Likewise.
28882 * conf/powerpc-ieee1275.rmk: Likewise.
28883
28884 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28885 with "kernel.img".
28886
f52196ff 288872009-06-21 Pavel Roskin <proski@gnu.org>
28888
c3cee413 28889 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28890 to match nested functions.
28891 * loader/sparc64/ieee1275/linux.c: Likewise.
28892
f52196ff 28893 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28894
58750afc 288952009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28896
28897 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28898 all i386 platforms.
28899
15355c7d 289002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28901
28902 Fix asm file handling on ELF, and remove workarounds.
28903
28904 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28905 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28906 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28907 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28908
3f3ec72b 289092009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28910
28911 Load BSD ELF modules
28912
28913 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28914 and loader/i386/bsd64.c
28915 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28916 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28917 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28918 (grub_freebsd_load_elfmodule32): New declaration
28919 (grub_freebsd_load_elfmoduleobj64): Likewise
28920 (grub_freebsd_load_elf_meta32): Likewise
28921 (grub_freebsd_load_elf_meta64): Likewise
28922 (grub_freebsd_add_meta): Likewise
28923 (grub_freebsd_add_meta_module): Likewise
28924 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28925 (grub_freebsd_add_meta_module): Likewise and move module-specific
28926 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28927 (grub_cmd_freebsd): Add elf-kernel specific parts
28928 based on grub_freebsd_add_meta_module
28929 (grub_cmd_freebsd_module): Add type parsing moved from
28930 grub_freebsd_add_meta_module
28931 (grub_cmd_freebsd_module_elf): New function
28932 (cmd_freebsd_module_elf): New variable
28933 (GRUB_MOD_INIT): Register freebsd_module_elf
28934 * loader/i386/bsd32.c: New file
28935 * loader/i386/bsd64.c: Likewise
28936 * loader/i386/bsdXX.c: Likewise
28937 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28938 (grub_elf64_load): Likewise
28939 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28940 All users updated
28941 (grub_elf64_load_hook_t): Likewise
28942
0db15301 289432009-06-21 Colin Watson <cjwatson@ubuntu.com>
28944
28945 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28946 variable.
28947 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28948 don't write a menu entry for recovery mode.
28949
546796c1 289502009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28953 after it's no longer needed.
28954
cd7310d5 289552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * include/grub/i386/loader.h (grub_linux_prot_size)
28958 (grub_linux_tmp_addr, grub_linux_real_addr)
28959 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28960 GRUB_MACHINE_PCBIOS.
28961 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28962 common grub_util_info() call to ...
28963 (generate_image): ... here.
28964 Fix use of uninitialized memory, comparison of signed with
28965 unsigned integers and memory leak.
28966 Remove bogus module address message.
28967
ab32d3b5 289682009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28971 grub_raid_register
28972 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28973
024ef597 289742009-06-19 Pavel Roskin <proski@gnu.org>
28975
28976 * configure.ac: Remove stray AC_MSG_CHECKING.
28977
3ac72b51 289782009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28981
e14cd814 289822009-06-18 Pavel Roskin <proski@gnu.org>
28983
28984 * conf/common.rmk: Add fs_file.mod.
28985 * disk/fs_file.c: New file.
28986 * include/grub/disk.h (enum grub_disk_dev_id): Add
28987 GRUB_DISK_DEVICE_FILE_ID.
28988
26586d98 289892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28990
28991 Fix build with Apple's toolchain. Part 2
28992
28993 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28994 a fake start
28995
26de2bcd 289962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 Fix build with Apple's toolchain. Part 1
28999
29000 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29001 for long calls
29002 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29003 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29004 Apple's toolchain
29005
09b3490b 290062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29007
29008 Fix warnings
29009
29010 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29011 (decomp_block): initialize ch
29012 use grub_memcpy instead of memcpy
29013
c22a006a 290142009-06-17 Pavel Roskin <proski@gnu.org>
29015
d3638678 29016 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29017 version, use declarations needed to use vga_text as the startup
29018 console.
29019
c22a006a 29020 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29021 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29022 the kernel.
29023 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29024 and grub_at_keyboard_fini(), it's done on module load and
29025 unload.
29026
05b129e0 290272009-06-17 Felix Zielcke <fzielcke@z-51.de>
29028
29029 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29030 file can't be found.
29031 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29032
cf24ed9e 290332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 Fix newline handling
29036
29037 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29038 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29039 (grub_script_yylex): don't segfault on unterminated script
29040 newline terminates command and variable
29041
74aa8e4b 290422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29043
29044 avoid double grub_adjust_range call. Bug reported by David Simner
29045
29046 * kern/disk.c (grub_disk_write): change to raw disk access before
29047 calling disk_read
29048
1bd265f3 290492009-06-17 Colin Watson <cjwatson@ubuntu.com>
29050
29051 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29052 spaces, for the benefit of help2man.
29053 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29054
a2d08c06 290552009-06-16 Pavel Roskin <proski@gnu.org>
29056
29057 * kern/i386/halt.c: Include grub/machine/init.h.
29058 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29059
b97bcb19 290602009-06-16 Felix Zielcke <fzielcke@z-51.de>
29061
29062 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29063 drivemap menuentry.
29064
0644f96c 290652009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29066
29067 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29068 `echo' command.
29069
3ef17a2e 290702009-06-16 Pavel Roskin <proski@gnu.org>
29071
29072 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29073 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29074 save %dx, we only need %dl and we never change it.
29075 * boot/i386/pc/cdboot.S: Don't set the root drive.
29076 * boot/i386/pc/pxeboot.S: Likewise.
29077 * include/grub/i386/pc/boot.h: Remove
29078 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29079 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29080 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29081 * kern/i386/pc/init.c (make_install_device): Remove references
29082 to grub_root_drive.
29083 * kern/i386/pc/startup.S: Likewise.
29084 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29085
693fe637 290862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 xnu_uuid command
29089
29090 * commands/xnu_uuid.c: new file
29091 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29092 (xnu_uuid_mod_SOURCES): new variable
29093 (xnu_uuid_mod_CFLAGS): likewise
29094 (xnu_uuid_mod_LDFLAGS): likewise
29095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29096 * conf/i386-ieee1275.rmk: likewise
29097 * conf/i386-pc.rmk: likewise
29098 * conf/powerpc-ieee1275.rmk: likewise
29099 * conf/sparc64-ieee1275.rmk: likewise
29100 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29101
c9da87d0 291022009-06-16 Pavel Roskin <proski@gnu.org>
29103
29104 * configure.ac: Avoid '==' in test command, it's not portable.
29105
9c6f4596 291062009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29107
29108 Probe command
29109
29110 * commands/probe.c: new file
29111 * conf/common.rmk (pkglib_MODULES): add probe.mod
29112 (probe_mod_SOURCES): new variable
29113 (probe_mod_CFLAGS): likewise
29114 (probe_mod_LDFLAGS): likewise
29115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29116 * conf/i386-ieee1275.rmk: likewise
29117 * conf/i386-pc.rmk: likewise
29118 * conf/powerpc-ieee1275.rmk: likewise
29119 * conf/sparc64-ieee1275.rmk: likewise
29120
70b7f9fd 291212009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 Fix handling of string like \"hello\" and "a
29124 b"
29125
29126 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29127 (grub_script_yylex): fix parsing of quoting, escaping and newline
29128
71c79a6b 291292009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29130
dd74360c 29131 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29132 handling
dd74360c 29133
0644f96c 291342009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29135
29136 * util/grub-mkconfig.in: Fix parsing of --output option.
29137
e40893c3 291382009-06-12 Pavel Roskin <proski@gnu.org>
29139
29140 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29141 genmk.rb don't need to be generated or installed.
29142
3a1acfe2 291432009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29144
29145 * commands/i386/pc/drivemap_int13h.S: add more comments
29146
3a4575d4 291472009-06-11 Pavel Roskin <proski@gnu.org>
29148
0658e928 29149 * Makefile.in (uninstall): Uninstall manuals.
29150
ca0388f0 29151 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29152 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29153 and update-grub_lib in two places.
29154 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29155
e3b27c39 29156 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29157 a compiler warning.
29158
3a4575d4 29159 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29160 `entry_lo' to fix variable shadowing.
29161
af1f4f55 291622009-06-11 Christian Franke <franke@computer.org>
29163
29164 * kern/misc.c (__enable_execute_stack): Add missing return type
29165 to prevent gcc warning.
29166
5225e649 291672009-06-11 Felix Zielcke <fzielcke@z-51.de>
29168
29169 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29170
7d83bd47 291712009-06-11 Pavel Roskin <proski@gnu.org>
29172
c1cb63ba 29173 * Makefile.in: Don't rely on any scripts being executable.
29174 Always use $(SHELL) to run shell scripts.
29175
7d83bd47 29176 * configure.ac: Always define ___main if using -nostdlib. This
29177 fixes tests on Cygwin.
29178
948f48e7 291792009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29180
29181 UDF fix
29182
7d83bd47 29183 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29184 is in bytes and not in blocks
7d83bd47 29185
8ada9bc1 291862009-06-11 Pavel Roskin <proski@gnu.org>
29187
29188 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29189 warning.
29190
25ad2323 291912009-06-11 Felix Zielcke <fzielcke@z-51.de>
29192
29193 * util/grub.d/30_os-prober.in: Fix a comment. Source
29194 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29195 to set the root device. Place drivemap command in the generated
29196 chain entry.
29197
e65acb0c 291982009-06-11 Pavel Roskin <proski@gnu.org>
29199
29200 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29201 have long been resolved.
29202
f285fe2d 292032009-06-11 Colin Watson <cjwatson@ubuntu.com>
29204
bd47b0b5 29205 * util/grub.d/10_linux.in: Capitalise "Linux".
29206
f285fe2d 29207 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29208
a0c62e4e 292092009-06-11 Pavel Roskin <proski@gnu.org>
29210
b6783cb2 29211 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29212 fix a gcc warning and ensure that the function won't ever exit.
29213
dde032e8 29214 * kern/i386/ieee1275/init.c: Add missing prototype for
29215 grub_stop_floppy().
29216
22cd079d 29217 * loader/ieee1275/multiboot2.c [__i386__]: Include
29218 grub/cpu/multiboot.h.
29219
a0c62e4e 29220 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29221 casts to short - they are not portable and cause warnings. Fix
29222 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29223
63963d17 292242009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29225
29226 Drivemap fixes
29227
29228 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29229 new function
29230 (grub_get_root_biosnumber_saved): new variable
29231 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29232 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29233 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29234 %dx after the call if necessary
29235 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29236 (boot_mod_SOURCES): remove
29237 (boot_mod_CFLAGS): remove
29238 (boot_mod_LDFLAGS): remove
29239 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29240 (boot_mod_SOURCES): new variable
29241 (boot_mod_CFLAGS): likewise
29242 (boot_mod_LDFLAGS): likewise
29243 * conf/i386-efi.rmk: likewise
29244 * conf/i386-ieee1275.rmk: likewise
29245 * conf/i386-pc.rmk: likewise
29246 * conf/powerpc-ieee1275.rmk: likewise
29247 * conf/sparc64-ieee1275.rmk: likewise
29248 * conf/x86_64-efi.rmk: likewise
29249 * include/grub/i386/pc/biosnum.h: new file
29250 * lib/i386/pc/biosnum.c: likewise
29251 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29252 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29253 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29254
33abf7ae 292552009-06-10 Pavel Roskin <proski@gnu.org>
29256
5ac35b35 29257 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29258 Use separate variables. Read only the file size at the end, but
29259 not the checksum that we don't use.
29260
5c5215d5 29261 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29262 Adjust all callers.
29263
27d5fef7 29264 * kern/ieee1275/openfw.c: Remove libc includes.
29265 * kern/ieee1275/cmain.c: Likewise.
29266 * include/grub/ieee1275/ieee1275.h: Likewise.
29267
33abf7ae 29268 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29269 compiler warnings.
29270
19d50c2b 292712009-06-10 Felix Zielcke <fzielcke@z-51.de>
29272
29273 * Makefile.in: Remove all trailing whitespace.
29274 * conf/i386-pc.rmk: Likewise.
29275 * conf/powerpc-ieee1275.rmk: Likewise.
29276 * conf/sparc64-ieee1275.rmk: Likewise.
29277 * docs/grub.texi: Likewise.
29278 * docs/texinfo.tex: Likewise.
29279 * disk/fs_uuid.c: Likewise.
29280 * disk/lvm.c: Likewise.
29281 * disk/scsi.c: Likewise.
29282 * disk/ata.c: Likewise.
29283 * disk/ieee1275/ofdisk.c: Likewise.
29284 * disk/i386/pc/biosdisk.c: Likewise.
29285 * disk/host.c: Likewise.
29286 * disk/raid.c: Likewise.
29287 * disk/efi/efidisk.c: Likewise.
29288 * disk/usbms.c: Likewise.
29289 * disk/memdisk.c: Likewise.
29290 * disk/loopback.c: Likewise.
29291 * kern/powerpc/dl.c: Likewise.
29292 * kern/device.c: Likewise.
29293 * kern/dl.c: Likewise.
29294 * kern/sparc64/dl.c: Likewise.
29295 * kern/ieee1275/ieee1275.c: Likewise.
29296 * kern/term.c: Likewise.
29297 * kern/fs.c: Likewise.
29298 * kern/i386/dl.c: Likewise.
29299 * kern/i386/pc/startup.S: Likewise.
29300 * kern/i386/pc/init.c: Likewise.
29301 * kern/i386/pc/mmap.c: Likewise.
29302 * kern/i386/pc/lzo1x.S: Likewise.
29303 * kern/i386/ieee1275/init.c: Likewise.
29304 * kern/i386/realmode.S: Likewise.
29305 * kern/i386/tsc.c: Likewise.
29306 * kern/partition.c: Likewise.
29307 * kern/corecmd.c: Likewise.
29308 * kern/file.c: Likewise.
29309 * kern/efi/efi.c: Likewise.
29310 * kern/efi/init.c: Likewise.
29311 * kern/efi/mm.c: Likewise.
29312 * kern/main.c: Likewise.
29313 * kern/err.c: Likewise.
29314 * kern/env.c: Likewise.
29315 * kern/disk.c: Likewise.
29316 * kern/generic/millisleep.c: Likewise.
29317 * kern/generic/rtc_get_time_ms.c: Likewise.
29318 * kern/misc.c: Likewise.
29319 * kern/parser.c: Likewise.
29320 * genmk.rb: Likewise.
29321 * configure.ac: Likewise.
29322 * boot/i386/pc/diskboot.S: Likewise.
29323 * boot/i386/pc/pxeboot.S: Likewise.
29324 * boot/i386/pc/boot.S: Likewise.
29325 * boot/i386/pc/lnxboot.S: Likewise.
29326 * boot/i386/pc/cdboot.S: Likewise.
29327 * parttool/pcpart.c: Likewise.
29328 * video/readers/tga.c: Likewise.
29329 * video/video.c: Likewise.
29330 * video/bitmap.c: Likewise.
29331 * lib/envblk.c: Likewise.
29332 * lib/i386/setjmp.S: Likewise.
29333 * fs/xfs.c: Likewise.
29334 * fs/afs.c: Likewise.
29335 * fs/fat.c: Likewise.
29336 * fs/ntfs.c: Likewise.
29337 * fs/udf.c: Likewise.
29338 * fs/affs.c: Likewise.
29339 * fs/iso9660.c: Likewise.
29340 * fs/hfs.c: Likewise.
29341 * fs/fshelp.c: Likewise.
29342 * fs/ext2.c: Likewise.
29343 * fs/jfs.c: Likewise.
29344 * fs/reiserfs.c: Likewise.
29345 * fs/hfsplus.c: Likewise.
29346 * fs/minix.c: Likewise.
29347 * fs/cpio.c: Likewise.
29348 * fs/sfs.c: Likewise.
29349 * fs/ufs.c: Likewise.
29350 * efiemu/prepare.c: Likewise.
29351 * efiemu/loadcore_common.c: Likewise.
29352 * efiemu/runtime/efiemu.sh: Likewise.
29353 * efiemu/runtime/efiemu.S: Likewise.
29354 * efiemu/runtime/efiemu.c: Likewise.
29355 * efiemu/pnvram.c: Likewise.
29356 * efiemu/main.c: Likewise.
29357 * efiemu/i386/pc/cfgtables.c: Likewise.
29358 * efiemu/i386/loadcore64.c: Likewise.
29359 * efiemu/i386/loadcore32.c: Likewise.
29360 * efiemu/loadcore.c: Likewise.
29361 * efiemu/symbols.c: Likewise.
29362 * efiemu/mm.c: Likewise.
29363 * include/grub/autoefi.h: Likewise.
29364 * include/grub/datetime.h: Likewise.
29365 * include/grub/term.h: Likewise.
29366 * include/grub/hfs.h: Likewise.
29367 * include/grub/lvm.h: Likewise.
29368 * include/grub/i386/tsc.h: Likewise.
29369 * include/grub/i386/linux.h: Likewise.
29370 * include/grub/i386/xnu.h: Likewise.
29371 * include/grub/i386/efiemu.h: Likewise.
29372 * include/grub/i386/pc/biosdisk.h: Likewise.
29373 * include/grub/i386/pc/memory.h: Likewise.
29374 * include/grub/i386/pc/vbe.h: Likewise.
29375 * include/grub/parttool.h: Likewise.
29376 * include/grub/video.h: Likewise.
29377 * include/grub/memory.h: Likewise.
29378 * include/grub/fs.h: Likewise.
29379 * include/grub/partition.h: Likewise.
29380 * include/grub/xnu.h: Likewise.
29381 * include/grub/efi/api.h: Likewise.
29382 * include/grub/efi/pe32.h: Likewise.
29383 * include/grub/efi/memory.h: Likewise.
29384 * include/grub/multiboot.h: Likewise.
29385 * include/grub/usbdesc.h: Likewise.
29386 * include/grub/multiboot2.h: Likewise.
29387 * include/grub/acpi.h: Likewise.
29388 * include/grub/efiemu/efiemu.h: Likewise.
29389 * include/grub/disk.h: Likewise.
29390 * include/grub/ieee1275/ieee1275.h: Likewise.
29391 * include/grub/net.h: Likewise.
29392 * include/grub/machoload.h: Likewise.
29393 * include/grub/macho.h: Likewise.
29394 * include/multiboot.h: Likewise.
29395 * genmoddep.awk: Likewise.
29396 * normal/main.c: Likewise.
29397 * normal/menu_entry.c: Likewise.
29398 * normal/menu_viewer.c: Likewise.
29399 * normal/completion.c: Likewise.
29400 * normal/cmdline.c: Likewise.
29401 * normal/misc.c: Likewise.
29402 * normal/datetime.c: Likewise.
29403 * bus/usb/usbtrans.c: Likewise.
29404 * bus/usb/ohci.c: Likewise.
29405 * bus/usb/uhci.c: Likewise.
29406 * bus/usb/usb.c: Likewise.
29407 * mmap/efi/mmap.c: Likewise.
29408 * mmap/i386/pc/mmap_helper.S: Likewise.
29409 * mmap/i386/pc/mmap.c: Likewise.
29410 * mmap/i386/mmap.c: Likewise.
29411 * mmap/i386/uppermem.c: Likewise.
29412 * mmap/mmap.c: Likewise.
29413 * commands/acpi.c: Likewise.
29414 * commands/echo.c: Likewise.
29415 * commands/blocklist.c: Likewise.
29416 * commands/loadenv.c: Likewise.
29417 * commands/usbtest.c: Likewise.
29418 * commands/boot.c: Likewise.
29419 * commands/parttool.c: Likewise.
29420 * commands/search.c: Likewise.
29421 * commands/cat.c: Likewise.
29422 * commands/i386/pc/play.c: Likewise.
29423 * commands/i386/pc/drivemap.c: Likewise.
29424 * commands/i386/pc/vbeinfo.c: Likewise.
29425 * commands/i386/pc/acpi.c: Likewise.
29426 * commands/i386/pc/vbetest.c: Likewise.
29427 * commands/ls.c: Likewise.
29428 * commands/cmp.c: Likewise.
29429 * commands/test.c: Likewise.
29430 * commands/efi/acpi.c: Likewise.
29431 * commands/gptsync.c: Likewise.
29432 * commands/help.c: Likewise.
29433 * partmap/amiga.c: Likewise.
29434 * partmap/apple.c: Likewise.
29435 * partmap/acorn.c: Likewise.
29436 * partmap/pc.c: Likewise.
29437 * partmap/sun.c: Likewise.
29438 * partmap/gpt.c: Likewise.
29439 * script/sh/lexer.c: Likewise.
29440 * script/sh/function.c: Likewise.
29441 * font/font.c: Likewise.
29442 * font/font_cmd.c: Likewise.
29443 * loader/powerpc/ieee1275/linux.c: Likewise.
29444 * loader/efi/chainloader.c: Likewise.
29445 * loader/multiboot_loader.c: Likewise.
29446 * loader/macho.c: Likewise.
29447 * loader/i386/multiboot.c: Likewise.
29448 * loader/i386/linux.c: Likewise.
29449 * loader/i386/pc/linux.c: Likewise.
29450 * loader/i386/pc/multiboot2.c: Likewise.
29451 * loader/i386/pc/chainloader.c: Likewise.
29452 * loader/i386/pc/xnu.c: Likewise.
29453 * loader/i386/bsd_trampoline.S: Likewise.
29454 * loader/i386/efi/linux.c: Likewise.
29455 * loader/i386/multiboot_elfxx.c: Likewise.
29456 * loader/i386/bsd_helper.S: Likewise.
29457 * loader/i386/bsd.c: Likewise.
29458 * loader/i386/linux_trampoline.S: Likewise.
29459 * loader/i386/xnu_helper.S: Likewise.
29460 * loader/i386/xnu.c: Likewise.
29461 * loader/i386/bsd_pagetable.c: Likewise.
29462 * loader/i386/multiboot_helper.S: Likewise.
29463 * loader/xnu.c: Likewise.
29464 * loader/xnu_resume.c: Likewise.
29465 * io/gzio.c: Likewise.
29466 * term/efi/console.c: Likewise.
29467 * term/terminfo.c: Likewise.
29468 * term/ieee1275/ofconsole.c: Likewise.
29469 * term/i386/pc/serial.c: Likewise.
29470 * term/i386/pc/vesafb.c: Likewise.
29471 * term/i386/pc/vga.c: Likewise.
29472 * term/usb_keyboard.c: Likewise.
29473 * term/gfxterm.c: Likewise.
29474 * aclocal.m4: Likewise.
29475 * util/lvm.c: Likewise.
29476 * util/grub.d/30_os-prober.in: Likewise.
29477 * util/grub.d/10_hurd.in: Likewise.
29478 * util/console.c: Likewise.
29479 * util/grub-macho2img.c: Likewise.
29480 * util/grub-probe.c: Likewise.
29481 * util/hostfs.c: Likewise.
29482 * util/i386/pc/grub-mkimage.c: Likewise.
29483 * util/i386/pc/grub-setup.c: Likewise.
29484 * util/i386/efi/grub-mkimage.c: Likewise.
29485 * util/grub-mkconfig.in: Likewise.
29486 * util/raid.c: Likewise.
29487 * util/resolve.c: Likewise.
29488 * util/grub-mkdevicemap.c: Likewise.
29489 * util/grub-emu.c: Likewise.
29490 * util/getroot.c: Likewise.
29491 * util/hostdisk.c: Likewise.
29492 * util/usb.c: Likewise.
29493 * util/grub-editenv.c: Likewise.
29494 * util/misc.c: Likewise.
29495
d2d49665 294962009-06-10 Felix Zielcke <fzielcke@z-51.de>
29497
29498 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29499 `genparttoollist.sh'.
29500 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29501 Add `*.sh' to the list find searches for and change `mdate.sh'
29502 to `mdate-sh'.
29503
fe052e37 295042009-06-10 Pavel Roskin <proski@gnu.org>
29505
2763ac18 29506 * include/grub/multiboot2.h: Provide compatibility defines for
29507 multiboot2.h.
29508 * include/multiboot2.h: Include stdint.h only if needed, using
29509 angle brackets.
29510 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29511 grub/multiboot2.h.
29512 * loader/ieee1275/multiboot2.c: Likewise.
29513 * loader/multiboot2.c: Likewise.
29514 * loader/multiboot_loader.c: Likewise.
29515
437e6adc 29516 * configure.ac: Use -nostdlib when probing for the target. It
29517 should not be required to have libc for the target.
29518
06a6836c 29519 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29520 they fail without libc headers for the target.
29521 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29522 exports.
29523 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29524 preprocessor conditionals.
29525
fe052e37 29526 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29527 build system doesn't need to be aware of the tar.c internals.
29528
afd22553 295292009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29530
afd22553 29531 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29532
6b787c4f 295332009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29534
29535 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29536 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29537
295382009-06-09 Felix Zielcke <fzielcke@z-51.de>
29539
29540 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29541 aren't available if ata.mod gets used.
6b787c4f 29542
473d1e45 295432009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29544
473d1e45 29545 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29546 initialising controller.
473d1e45 29547 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29548
255a27d4 295492009-06-08 Felix Zielcke <fzielcke@z-51.de>
29550
29551 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29552 to choose between ata and biosdisk module on i386-pc.
29553
473d1e45 295542009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29555
d55842d8 29556 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29557 Subclass and Programming Interface fields in terms of the 3 byte
29558 Class Code register.
29559 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29560
fa5db0b1 29561 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29562 interface is OHCI. Add grub_dprintf for symmetry with
29563 bus/usb/uhci.c.
29564 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29565 interface is UHCI. Add interf variable for programming
29566 interface. Print interface with class/subclass.
29567
c0947beb 29568 * bus/usb/ohci.c: Set interf with correct field.
29569
69da8877 29570 * bus/usb/uhci.c: Remove unneeded doubled lines.
29571 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29572 Remove whitespace inside comment.
29573
9e172e30 295742009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29575
29576 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29577 as fallback an equivalent option without depth.
29578
de65ee2b 295792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 Not fail if unable to retrieve C/H/S on LBA disks
29582
473d1e45 29583 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29584 if unable to retrieve C/H/S on LBA disks
29585
b57ea2c9 295862009-06-08 Pavel Roskin <proski@gnu.org>
29587
29588 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29589 about aliasing.
29590
af361263 295912009-06-08 Felix Zielcke <fzielcke@z-51.de>
29592
29593 * Makefile.in (uninstall): Remove all $lib_DATA files.
29594
4c9ec6b3 295952009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29596
29597 Bugfix: install on partitionless device
29598
29599 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29600 is a whole disk
29601
e76fc924 296022009-06-08 Felix Zielcke <fzielcke@z-51.de>
29603
29604 * Makefile.in (uninstall): Remove all $include_DATA files.
29605
ba5a0d05 296062009-06-08 Felix Zielcke <fzielcke@z-51.de>
29607
29608 * commands/true.c: New file. Implement the true and false commands.
29609 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29610 (true_mod_SOURCES): New variable.
29611 (true_mod_CFLAGS): Likewise.
29612 (true_mod_LDFLAGS): Likewise.
29613
c8048e32 296142009-06-05 Colin D Bennett <colin@gibibit.com>
29615
29616 Optimized font character lookup using binary search instead of linear
29617 search. Fonts now are required to have the character index ordered by
29618 code point.
29619
29620 * font/font.c (load_font_index): Verify that fonts have ordered
29621 character indices.
29622 (find_glyph): Use binary search instead of linear search to find a
29623 character in a font.
29624
408305be 296252009-06-05 Michael Scherer <misc@mandriva.org>
29626
29627 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29628 uses case sensitive btree.
29629 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29630 only for case insensitive filesystems.
29631
8ee1e0d9 296322009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29633
29634 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29635 * conf/common.rmk (search_mod_CFLAGS): likewise
29636
a9966eb1 296372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29638
473d1e45 29639 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29640 compensate a compiler bug
29641
9e7100fb 296422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29643
473d1e45 29644 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29645 instead of '\b'
473d1e45 29646
ede21d71 296472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 Definitions for creating asm symbols with Apple's CC
29650
29651 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29652 [APPLE_CC] (VARIABLE): likewise
29653
9dbf7653 296542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29655
29656 Disable lnxboot.img when compiled
29657 with Apple's CC
29658
29659 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29660 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29661 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29662 [! APPLE_CC] (CODE_LENG): skip
29663 [! APPLE_CC] (setup_sects): likewise
29664 [! APPLE_CC]: skip filling
473d1e45 29665
e93cdc3d 296662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 Address in trampolines based on 32-bit registers when compiled
29669 with Apple's CC
29670
473d1e45 29671 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29672 for addresses
29673 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29674
6c688477 296752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29676
29677 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29678
29679 * kern/misc.c [APPLE_CC] (memcpy): new function
29680 [APPLE_CC] (memmove): likewise
29681 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29682 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29683 (memset): likewise
29684 (abort): likewise
29685 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29686 APPLE_CC are defined
29687 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29688 (grub_assert_fail): make prototype conditional
29689
e37ffc5c 296902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29691
29692 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29693
473d1e45 29694 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29695 grub-macho2img
e37ffc5c 29696 (CLEANFILES): add grub-macho2img
29697 (grub_macho2img_SOURCES): new variable
29698 * kern/i386/pc/startup.S (bss_start): new variable
29699 (bss_end): likewise
29700 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29701 * util/grub-macho2img.c: new file
29702
cf00df31 297032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29704
29705 Use objconv when compiling with Apple's CC
29706
29707 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29708 (efiemu64.o): likewise
29709 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29710 when compiling with Apple's CC
29711 (efiemu64_s.o): likewise
29712 * configure.ac: check for objconv when compiling with Apple's CC
29713 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29714
d119a20c 297152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 Define segment as well as section when compiling with
29718 Apple's CC
29719
29720 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29721 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29722 (efiemu_convert_pointer): likewise
29723 (efiemu_set_virtual_address_map): likewise
29724 (efiemu_convert_pointer): likewise
29725 (efiemu_getcrc32): likewise
29726 (init_crc32_table): likewise
29727 (reflect): likewise
29728 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29729 (GRUB_MOD_DEP): likewise
473d1e45 29730
c8600122 297312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29732
29733 Allow a compilation without -mcmodel=large
29734
29735 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29736 when compiled without -mcmodel=large
473d1e45 29737 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29738 without -mcmodel=large
473d1e45 29739 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29740 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29741
e8df1d4e 297422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29743
29744 Remove nested functions in efiemu core
29745
29746 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29747
cc6c3ac1 297482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29749
29750 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29751
29752 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29753 temporary storage
473d1e45 29754 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29755 using Apple's CC
cc6c3ac1 29756 (grub_cpu_is_tsc_supported): likewise
29757 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29758
3e325901 297592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29760
29761 Absolute addressing through constant with Apple's cc
29762
29763 * kern/i386/pc/startup.S: Define necessary constants
29764 and address through it when using ABS with Apple's CC
29765 * boot/i386/pc/diskboot.S: likewise
29766 * boot/i386/pc/boot.S: likewise
29767 * boot/i386/pc/lnxboot.S: likewise
29768 * boot/i386/pc/cdboot.S: likewise
29769 * mmap/i386/pc/mmap_helper.S: likewise
29770 * commands/i386/pc/drivemap_int13h.S: likewise
29771
2b167a72 297722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29773
29774 Check if compiler is apple cc
29775
29776 * Makefile.in (ASFLAGS): new variable
29777 (TARGET_ASFLAGS): likewise
29778 (TARGET_MODULE_FORMAT): likewise
29779 (TARGET_APPLE_CC): likewise
29780 (OBJCONV): likewise
29781 (TARGET_IMG_CFLAGS): likewise
29782 (TARGET_CPPFLAGS): add includedir
29783 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29784 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29785 Check for linker script only if compiler isn't Apple's CC
29786 (TARGET_MODULE_FORMAT): set
29787 (TARGET_APPLE_CC): likewise
29788 (TARGET_ASFLAGS): likewise
29789 (ASFLAGS): likewise
29790 Check for objcopy only if compiler isn't Apple's CC
29791 Check for BSS symbol only if compiler isn't Apple's CC
29792 * genmk.rb: adapt nm options if we use Apple's utils
29793 * aclocal.m4 (grub_apple_cc): new test
29794 (grub_apple_target_cc): likewise
473d1e45 29795
fb14123e 297962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29797
29798 Simplify sed expressions and improve awk
29799
29800 * Makefile.in (install-local): simplify sed expression
29801 * gencmdlist.sh: likewise
29802 * genmoddep.awk: avoid adding module as a dependency of itself
29803
5b889789 298042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29805
29806 Add missing start symbols
29807
29808 * boot/i386/pc/boot.S: add start
fb14123e 29809 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29810
fd2bf2e3 298112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29814
29815 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29816 (relocate_addresses): consider both r_addend and value at offset
29817 (make_mods_section): zerofill modinfo and header
29818 (convert_elf): write prefix here
473d1e45 29819
5389763d 298202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29821
29822 Use .asciz instead of .string
29823
29824 * i386/pc/diskboot.S: use .asciz instead of .string
29825 * i386/pc/boot.S: likewise
29826 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29827 (GRUB_MOD_NAME): likewise
473d1e45 29828
3eb5ed4e 298292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29830
29831 gfxpayload support
29832
29833 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29834 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29835 (grub_video_setup): remove
29836 (grub_video_set_mode): new prototype
29837 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29838 (vid_mode): remove
29839 (linux_vesafb_res): compile only on PCBIOS
29840 (grub_linux_boot): support gfxpayload
29841 * loader/i386/pc/xnu.c (video_hook): new function
29842 (grub_xnu_set_video): support gfxpayload
29843 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29844 (DEFAULT_VIDEO_HEIGHT): likewise
29845 (DEFAULT_VIDEO_FLAGS): likewise
29846 (DEFAULT_VIDEO_MODE): new definition
29847 (video_hook): new function
29848 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29849 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29850 loading xnu
29851 * video/video.c (grub_video_setup): removed
473d1e45 29852 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29853 grub_video_setup
29854
4b0e1143 298552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29856
29857 Avoid calling biosdisk in drivemap
29858
29859 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29860 (revparse_biosdisk): likewise
29861 (list_mappings): derive name from id directly
29862 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29863
fda6cb98 298642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29865
29866 Script fixes
29867
29868 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29869 (grub_lexer_param): add tokenonhold
29870 (grub_script_create_cmdline): remove cmdline. All callers updated
29871 (grub_script_function_create): make functionname
29872 grub_script_arg. All callers updated
29873 (grub_script_execute_argument_to_string): new prototype
29874 * kern/parser.c (state_transitions): reorder
29875 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29876 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29877 make global
29878 (grub_script_execute_cmdline): use new format
29879 * script/sh/function.c (grub_script_function_create): make functionname
29880 grub_script_arg. All callers updated
473d1e45 29881 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29882 (grub_script_yylex): remove
29883 (grub_script_yylex2): renamed to ...
29884 (grub_script_yylex): ...renamed
29885 parse the expressions like a${b}c
29886 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29887 (GRUB_PARSER_TOKEN_VAR): remove
29888 (GRUB_PARSER_TOKEN_NAME): likewise
29889 ("if"): declare as typeless
29890 ("while"): likewise
29891 ("function"): likewise
29892 ("else"): likewise
29893 ("then"): likewise
29894 ("fi"): likewise
29895 (text): remove
29896 (argument): likewise
29897 (script): accept empty scripts and make exit on error
29898 (arguments): use GRUB_PARSER_TOKEN_ARG
29899 (function): likewise
29900 (command): move error handling to script
29901 (menuentry): move grub_script_lexer_ref before
473d1e45 29902 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29903 argument. All callers updated
29904
f4448a07 299052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29906
29907 Prevent GRUB from probing floppies during boot.
29908
29909 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29910 * commands/search.c (options): Add --no-floppy.
29911 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29913 --no-floppy when searching for UUIDs.
29914
2bf5885a 299152009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29916
29917 Simplify the code duplication in commands/search.c.
29918
29919 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29920 (search_fs): ... this. Update all users.
29921
f6fd460a 299222009-06-03 Felix Zielcke <fzielcke@z-51.de>
29923
29924 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29925
cbb3c83e 299262009-05-28 Pavel Roskin <proski@gnu.org>
29927
57788cfd 29928 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29929 Remove the original symlink explicitly.
29930
cbb3c83e 29931 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29932 just one slash. That's how grub_fshelp_find_file() does it.
29933
cd0d5e30 299342009-05-26 Pavel Roskin <proski@gnu.org>
29935
f0f8bbe2 29936 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29937 to `str'.
29938
cd0d5e30 29939 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29940 possibly unused.
29941
8c2cab51 299422009-05-25 Christian Franke <franke@computer.org>
29943
29944 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29945 register.
29946 (grub_atapi_identify): Add wait after drive select.
29947 (grub_ata_identify): Do more strict status register check before
29948 calling grub_atapi_identify (). Suppress error message if status
29949 register is 0x00 after command failure. Add status register
29950 check after PIO read to avoid bogus identify due to stuck DRQ.
29951 Thanks to Pavel Roskin for testing.
29952 (grub_device_initialize): Remove unsafe status register check.
29953 Thanks to 'phcoder' for problem report and patch.
29954 Prevent sign extension in debug message.
29955
230c0ad6 299562009-05-23 Colin D Bennett <colin@gibibit.com>
29957
29958 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29959 definition file, and functions defined in `normal/menu.c' have had
29960 their prototypes moved to `include/grub/menu.h' for consistency.
29961
29962 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29963 from normal.h.
29964 (grub_menu_get_entry): Likewise.
29965 (grub_menu_get_timeout): Likewise.
29966 (grub_menu_set_timeout): Likewise.
29967 (grub_menu_execute_entry): Likewise.
29968 (grub_menu_execute_with_fallback): Likewise.
29969 (grub_menu_entry_run): Likewise.
29970
29971 * include/grub/normal.h: Re-ordered and grouped function
29972 prototypes by file that the function is defined in.
29973 (grub_menu_execute_callback): Removed; moved to menu.h.
29974 (grub_menu_get_entry): Likewise.
29975 (grub_menu_get_timeout): Likewise.
29976 (grub_menu_set_timeout): Likewise.
29977 (grub_menu_execute_entry): Likewise.
29978 (grub_menu_execute_with_fallback): Likewise.
29979 (grub_menu_entry_run): Likewise.
29980 (grub_menu_addentry): Renamed from this ...
29981 (grub_normal_add_menu_entry): ... to this.
29982
29983 * normal/main.c (grub_menu_addentry): Renamed from this ...
29984 (grub_normal_add_menu_entry): ... to this.
29985
29986 * script/sh/execute.c (grub_script_execute_menuentry): Update
29987 reference to renamed grub_menu_addentry function.
29988
861f03a5 299892009-05-23 Felix Zielcke <fzielcke@z-51.de>
29990
29991 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29992
96b1619a 299932009-05-22 Pavel Roskin <proski@gnu.org>
29994
bf6a5fb2 29995 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29996 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29997 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29998 compiling for the i386 targets, but not for the utilities.
29999
96b1619a 30000 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30001 to grub_uint8_t.
30002 (grub_root_drive): Likewise.
30003 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30004 remove alignment.
30005 (grub_root_drive): Change size to byte.
30006 (grub_start_addr): Remove.
30007 (grub_end_addr): Likewise.
30008 (grub_apm_bios_info): Likewise.
30009
b729776b 300102009-05-21 Felix Zielcke <fzielcke@z-51.de>
30011
30012 * normal/i386: Remove.
30013 * normal/powerpc: Likewise.
30014 * normal/sparc64: Likewise.
30015 * normal/x86_64: Likewise.
30016
0a15ce80 300172009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30018
30019 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30020 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30021 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30022
33db9015 300232009-05-18 Colin D Bennett <colin@gibibit.com>
30024
d6da58e6 30025 Display error messages when parsing a Lua statement fails.
30026 Previously, executing a syntactically invalid statement like
30027 ")foo" or "bar;" would silently fail.
33db9015 30028
30029 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30030 (grub_lua_parse_line): Improved reporting of Lua parser and
30031 execution errors.
33db9015 30032
46422c89 300332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30034
30035 Remove -Werror which causes build to fail on some systems
30036
30037 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30038 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30039 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30040
22f53a96 300412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30042
30043 trampoline for linux on 64-bit platform
30044
18f547ad 30045 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30046 loader/i386/efi/linux_trampoline.S
30047 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30048 declaration
d6da58e6 30049 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30050 here
22f53a96 30051 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30052 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30053 trampoline
22f53a96 30054 (jumpvector): removed
30055 (grub_linux_trampoline_start): new declaration
30056 (grub_linux_trampoline_end): likewise
30057 (grub_linux_boot): use trampoline when on 64-bit platform
30058 * loader/i386/linux.c: likewise
30059
cb5a0f40 300602009-05-16 Pavel Roskin <proski@gnu.org>
30061
30062 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30063 const to avoid a warning.
30064 (grub_lua_setenv): Likewise.
30065 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30066 lmsg to fix a warning.
30067
334f2c28 300682009-05-16 Felix Zielcke <fzielcke@z-51.de>
30069
30070 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30071 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30072 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30073 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30074 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30075 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30076 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30077 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30078
59e5d3ec 300792009-05-16 Felix Zielcke <fzielcke@z-51.de>
30080
30081 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30082
9d87a1ba 300832009-05-16 Bean <bean123ch@gmail.com>
30084
30085 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30086 (lua_mod_SOURCES): New variable.
30087 (lua_mod_CFLAGS): Likewise.
30088 (lua_mod_LDFLAGS): Likewise.
30089
30090 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30091 (setjmp_mod_SOURCES): New variable.
30092 (setjmp_mod_CFLAGS): Likewise.
30093 (setjmp_LDFLAGS): Likewise.
30094
30095 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30096 (setjmp_mod_SOURCES): New variable.
30097 (setjmp_mod_CFLAGS): Likewise.
30098 (setjmp_LDFLAGS): Likewise.
30099
30100 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30101 (setjmp_mod_SOURCES): New variable.
30102 (setjmp_mod_CFLAGS): Likewise.
30103 (setjmp_LDFLAGS): Likewise.
30104
30105 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30106 (setjmp_mod_SOURCES): New variable.
30107 (setjmp_mod_CFLAGS): Likewise.
30108 (setjmp_LDFLAGS): Likewise.
30109
30110 * normal/i386/setjmp.S: Moved from here ...
30111 * lib/i386/setjmp.S: ... Moved here
30112 * normal/x86_64/setjmp.S: Moved from here ...
30113 * lib/x86_64/setjmp.S: ... Moved here
30114 * normal/powerpc/setjmp.S: Moved from here ...
30115 * lib/powerpc/setjmp.S: ... Moved here
30116 * normal/sparc64/setjmp.S: Moved from here ...
30117 * lib/sparc64/setjmp.S: ... Moved here
30118
30119 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30120 returns_twice in mingw.
30121
30122 * script/lua/grub_lib.c: New file.
30123 * script/lua/grub_lib.h: Likewise.
30124 * script/lua/grub_lua.h: Likewise.
30125 * script/lua/grub_main.c: Likewise.
30126 * script/lua/lapi.c: Likewise.
30127 * script/lua/lapi.h: Likewise.
30128 * script/lua/lauxlib.c: Likewise.
30129 * script/lua/lauxlib.h: Likewise.
30130 * script/lua/lbaselib.c: Likewise.
30131 * script/lua/lcode.c: Likewise.
30132 * script/lua/lcode.h: Likewise.
30133 * script/lua/ldblib.c: Likewise.
30134 * script/lua/ldebug.c: Likewise.
30135 * script/lua/ldebug.h: Likewise.
30136 * script/lua/ldo.c: Likewise.
30137 * script/lua/ldo.h: Likewise.
30138 * script/lua/ldump.c: Likewise.
30139 * script/lua/lfunc.c: Likewise.
30140 * script/lua/lfunc.h: Likewise.
30141 * script/lua/lgc.c: Likewise.
30142 * script/lua/lgc.h: Likewise.
30143 * script/lua/linit.c: Likewise.
30144 * script/lua/liolib.c: Likewise.
30145 * script/lua/llex.c: Likewise.
30146 * script/lua/llex.h: Likewise.
30147 * script/lua/llimits.h: Likewise.
30148 * script/lua/lmathlib.c: Likewise.
30149 * script/lua/lmem.c: Likewise.
30150 * script/lua/lmem.h: Likewise.
30151 * script/lua/loadlib.c: Likewise.
30152 * script/lua/lobject.c: Likewise.
30153 * script/lua/lobject.h: Likewise.
30154 * script/lua/lopcodes.c: Likewise.
30155 * script/lua/lopcodes.h: Likewise.
30156 * script/lua/loslib.c: Likewise.
30157 * script/lua/lparser.c: Likewise.
30158 * script/lua/lparser.h: Likewise.
30159 * script/lua/lstate.c: Likewise.
30160 * script/lua/lstate.h: Likewise.
30161 * script/lua/lstring.c: Likewise.
30162 * script/lua/lstring.h: Likewise.
30163 * script/lua/lstrlib.c: Likewise.
30164 * script/lua/ltable.c: Likewise.
30165 * script/lua/ltable.h: Likewise.
30166 * script/lua/ltablib.c: Likewise.
30167 * script/lua/ltm.c: Likewise.
30168 * script/lua/ltm.h: Likewise.
30169 * script/lua/lua.h: Likewise.
30170 * script/lua/luaconf.h: Likewise.
30171 * script/lua/lualib.h: Likewise.
30172 * script/lua/lundump.c: Likewise.
30173 * script/lua/lundump.h: Likewise.
30174 * script/lua/lvm.c: Likewise.
30175 * script/lua/lvm.h: Likewise.
30176 * script/lua/lzio.c: Likewise.
30177 * script/lua/lzio.h: Likewise.
30178
5e898c9d 301792009-05-16 Bean <bean123ch@gmail.com>
30180
30181 * include/grub/kernel.h (grub_module_header_types): Add type
30182 OBJ_TYPE_CONFIG.
30183
30184 * kern/main.c (grub_load_config): New function.
30185 (grub_main): Call grub_load_config to read boot config.
30186
30187 * grub-mkimage (generate_image): New parameter config_path.
30188 (options): New option --config.
30189 (main): Parse --config option, and pass it to generate_image.
30190
cf353a47 301912009-05-14 Christian Franke <franke@computer.org>
30192
30193 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30194 This fixes build on Cygwin.
30195
3834887f 301962009-05-14 Pavel Roskin <proski@gnu.org>
30197
30198 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30199 jump. This saves two bytes, so the typical case of 2 swapped
30200 drives would fit 32 bytes.
30201
8090fc01 302022009-05-13 Pavel Roskin <proski@gnu.org>
30203
ac963883 30204 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30205 grub_uint32_t to avoid a warning.
30206
8090fc01 30207 * loader/i386/linux.c (allocate_pages): When assigning
30208 real_mode_mem, cast through grub_size_t to fix a warning. The
30209 code already makes sure that the value would fit a pointer.
30210 (grub_linux_setup_video): Cast render_target->data to
30211 grub_size_t to fix a warning.
30212
18f547ad 302132009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30214
30215 * commands/i386/pc/drivemap.c: New file - implement drivemap
30216 command.
30217 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30218 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30219
6f6a8b28 302202009-05-13 Pavel Roskin <proski@gnu.org>
30221
30222 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30223 embedding_area_exists.
30224
15fbf4c4 302252009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30226
30227 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30228 it easier to understand / work with.
59978c8a 30229 Improve warning messages for cases where there's no embedding area,
30230 or when it is too small (or core.img too large).
15fbf4c4 30231
238e871f 302322009-05-13 Pavel Roskin <proski@gnu.org>
30233
0ab3a9a4 30234 * loader/i386/pc/multiboot2.c: Add necessary includes for
30235 grub_multiboot2_real_boot().
30236
a2c8c5f8 30237 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30238 PX record is always little-endian. We only need the lower 2
30239 bytes of the mode.
30240
faec96af 30241 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30242 facilitate code reuse.
30243 (grub_cpio_mount): Use "struct head", not a char buffer. This
30244 fixes a warning reported by gcc 4.4.
30245
238e871f 30246 * kernel/disk.c (grub_disk_read): Use void pointer for the
30247 buffer.
30248 (grub_disk_write): Use const void pointer for the buffer.
30249 Adjust all callers. Remove unnecessary casts.
30250
901d2f0c 302512009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30252
30253 * util/i386/pc/grub-install.in: Update copyright year.
30254
18f547ad 302552009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30256
30257 gptsync
30258
30259 * commands/gptsync.c: new file
30260 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30261 (gptsync_mod_SOURCES): new variable
30262 (gptsync_mod_CFLAGS): likewise
30263 (gptsync_mod_LDFLAGS): likewise
18f547ad 30264 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30265 new definition
30266 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30268 * conf/i386-ieee1275.rmk: likewise
30269 * conf/i386-pc.rmk: likewise
30270 * conf/powerpc-ieee1275.rmk: likewise
30271
b4ba690a 302722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 Fixed grub-emu
30275
30276 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30277 (grub_dl_ref): likewise
30278
317e1a44 302792009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30280
30281 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30282 split in two functions (one for msdos and one for gpt).
30283
041b8094 302842009-05-08 Pavel Roskin <proski@gnu.org>
30285
752473c2 30286 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30287 not modified.
30288
041b8094 30289 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30290 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30291 Initialize them with -1. Add sanity check for bad1. Eliminate
30292 nerr variable.
30293
172800ce 302942009-05-08 David S. Miller <davem@davemloft.net>
30295
30296 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30297
29aa5e81 302982009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30299
30300 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30301 existence.
29aa5e81 30302
96613b62 303032009-05-05 Felix Zielcke <fzielcke@z-51.de>
30304
30305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30306 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30307
eef73c8a 303082009-05-05 David S. Miller <davem@davemloft.net>
30309
30310 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30311
119494b5 303122009-05-05 Pavel Roskin <proski@gnu.org>
30313
30314 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30315 of grub_dl_ref() and grub_dl_unref().
30316 * commands/parttool.c: Remove preprocessor conditionals around
30317 grub_dl_ref() and grub_dl_unref().
30318 * fs/affs.c: Likewise.
30319 * fs/afs.c: Likewise.
30320 * fs/cpio.c: Likewise.
30321 * fs/ext2.c: Likewise.
30322 * fs/fat.c: Likewise.
30323 * fs/hfs.c: Likewise.
30324 * fs/hfsplus.c: Likewise.
30325 * fs/iso9660.c: Likewise.
30326 * fs/jfs.c: Likewise.
30327 * fs/minix.c: Likewise.
30328 * fs/ntfs.c: Likewise.
30329 * fs/reiserfs.c: Likewise.
30330 * fs/sfs.c: Likewise.
30331 * fs/udf.c: Likewise.
30332 * fs/ufs.c: Likewise.
30333 * fs/xfs.c: Likewise.
30334 * include/grub/dl.h: Likewise.
30335 * loader/xnu.c: Likewise.
30336
de5fd76e 303372009-05-04 Pavel Roskin <proski@gnu.org>
30338
30339 * commands/acpi.c: Remove unused variable my_mod.
30340 * partmap/amiga.c: Likewise.
30341 * partmap/apple.c: Likewise.
30342 * partmap/gpt.c: Likewise.
30343 * partmap/pc.c: Likewise.
30344 * partmap/sun.c: Likewise.
30345 * term/gfxterm.c: Likewise.
30346 * term/i386/pc/vesafb.c: Likewise.
30347 * term/i386/pc/vga.c: Likewise.
30348
983598ad 303492009-05-04 David S. Miller <davem@davemloft.net>
30350
30351 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30352 pointer args to grub_ieee1275_get_property().
30353
8aadec43 30354 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30355
9554b15e 30356 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30357 devices, and do not traverse down under controller nodes.
30358
67e23c90 30359 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30360 (grub_ofdisk_open): Use it to un-escape "," characters.
30361 * kern/disk.c (find_part_sep): New.
30362 (grub_disk_open): Use it to find the first non-escaped ','
30363 character in the disk name.
30364 * util/ieee1275/devicemap.c (escape_of_path): New.
30365 (grub_util_emit_devicemap_entry): Use it.
30366 * util/sparc64/ieee1275/grub-install.in: Update script to
30367 strip partition specifiers properly by not triggering on
30368 '\' escaped ',' characters.
30369
74bfdd2f 303702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30371
30372 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30373 to 0x300.
30374 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30375 resolutions.
30376 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30377 on documentation from Wikipedia).
30378
4241d2b1 303792009-05-04 Pavel Roskin <proski@gnu.org>
30380
30381 * disk/ata.c: Spelling fixes.
30382 * disk/raid.c: Likewise.
30383 * disk/usbms.c: Likewise.
30384 * disk/dmraid_nvidia.c: Likewise.
30385 * kern/ieee1275/openfw.c: Likewise.
30386 * kern/ieee1275/init.c: Likewise.
30387 * kern/ieee1275/cmain.c: Likewise.
30388 * boot/i386/pc/cdboot.S: Likewise.
30389 * video/readers/png.c: Likewise.
30390 * video/i386/pc/vbe.c: Likewise.
30391 * fs/udf.c: Likewise.
30392 * fs/hfs.c: Likewise.
30393 * fs/reiserfs.c: Likewise.
30394 * efiemu/runtime/efiemu.c: Likewise.
30395 * efiemu/main.c: Likewise.
30396 * efiemu/mm.c: Likewise.
30397 * include/grub/elf.h: Likewise.
30398 * include/grub/xnu.h: Likewise.
30399 * include/grub/usbdesc.h: Likewise.
30400 * include/grub/usb.h: Likewise.
30401 * include/grub/script_sh.h: Likewise.
30402 * include/grub/lib/LzmaEnc.h: Likewise.
30403 * include/grub/efiemu/efiemu.h: Likewise.
30404 * include/grub/command.h: Likewise.
30405 * normal/menu.c: Likewise.
30406 * normal/main.c: Likewise.
30407 * normal/datetime.c: Likewise.
30408 * bus/usb/uhci.c: Likewise.
30409 * mmap/i386/uppermem.c: Likewise.
30410 * mmap/mmap.c: Likewise.
30411 * commands/acpi.c: Likewise.
30412 * commands/test.c: Likewise.
30413 * partmap/apple.c: Likewise.
30414 * font/font.c: Likewise.
30415 * loader/sparc64/ieee1275/linux.c: Likewise.
30416 * loader/macho.c: Likewise.
30417 * loader/i386/bsd_trampoline.S: Likewise.
30418 * loader/i386/bsd.c: Likewise.
30419 * loader/xnu.c: Likewise.
30420 * term/i386/pc/vesafb.c: Likewise.
30421 * term/usb_keyboard.c: Likewise.
30422 * util/resolve.c: Likewise.
30423 * util/getroot.c: Likewise.
30424
0cfc0083 304252009-05-04 Felix Zielcke <fzielcke@z-51.de>
30426
30427 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30428
7c1d00cd 304292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30430
30431 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30432 build error.
30433
b01f0548 304342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30435
30436 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30437 parameter only available on BIOS.
30438
ecc3eb22 304392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 Removed wrong semicolon in declaration
30442
30443 * grub/misc.h (grub_dprintf): remove semicolon
30444
112972a9 304452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30446
30447 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30448 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30449 is done by grub_cmd_linux() now).
30450 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30451 restore video to text mode.
30452 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30453 indicates lack of "vga=" parameter. "vga=0" is mapped to
30454 `GRUB_LINUX_VID_MODE_NORMAL'.
30455
afd5c115 304562009-05-04 Felix Zielcke <fzielcke@z-51.de>
30457
30458 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30459 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30460 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30461 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30462 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30463 `grub_script.tab.c'.
30464
30465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30470
faa517ce 30471 * Makefile.in: Remove duplicated 2008 in Copyright line.
30472
ae0c0bdc 304732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30474
473d1e45 30475 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30476 unconditionally.
30477 * include/grub/util/misc.h (grub_util_warn): New declaration.
30478
30479 * util/i386/pc/grub-install.in: Understand --force and pass it down
30480 to grub-setup.
30481
30482 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30483 down to setup().
30484 (setup): Improve error messages and add warnings when requested to
30485 install in odd layouts. Refuse to install using blocklists unless
30486 --force was set.
30487
18f547ad 304882009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30489
30490 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30491
6d260daa 304922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30493
30494 Updated copyright year
30495
30496 * fs/hfsplus.c: updated copyright year
18f547ad 30497
69f853f8 304982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30499
30500 HFS+ UUID
30501
18f547ad 30502 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30503 in the space previously used by unused3
30504 (grub_hfsplus_uuid): new function
30505 (grub_hfsplus_fs): added uuid field
30506
4c402e73 305072009-05-03 Pavel Roskin <proski@gnu.org>
30508
30509 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30510 suppress warnings. It's no longer needed.
30511 * disk/host.c: Likewise.
30512 * disk/ata_pthru.c: Likewise.
30513 * disk/loopback.c: Likewise.
30514 * hook/datehook.c: Likewise.
30515 * parttool/pcpart.c: Likewise.
30516 * fs/i386/pc/pxe.c: Likewise.
30517 * fs/ntfscomp.c: Likewise.
30518 * efiemu/main.c: Likewise.
30519 * mmap/mmap.c: Likewise.
30520 * commands/crc.c: Likewise.
30521 * commands/hexdump.c: Likewise.
30522 * commands/hdparm.c: Likewise.
30523 * commands/acpi.c: Likewise.
30524 * commands/echo.c: Likewise.
30525 * commands/minicmd.c: Likewise.
30526 * commands/blocklist.c: Likewise.
30527 * commands/memrw.c: Likewise.
30528 * commands/loadenv.c: Likewise.
30529 * commands/usbtest.c: Likewise.
30530 * commands/lsmmap.c: Likewise.
30531 * commands/boot.c: Likewise.
30532 * commands/parttool.c: Likewise.
30533 * commands/configfile.c: Likewise.
30534 * commands/search.c: Likewise.
30535 * commands/ieee1275/suspend.c: Likewise.
30536 * commands/cat.c: Likewise.
30537 * commands/i386/pc/pxecmd.c: Likewise.
30538 * commands/i386/pc/play.c: Likewise.
30539 * commands/i386/pc/halt.c: Likewise.
30540 * commands/i386/pc/vbeinfo.c: Likewise.
30541 * commands/i386/pc/vbetest.c: Likewise.
30542 * commands/lspci.c: Likewise.
30543 * commands/date.c: Likewise.
30544 * commands/handler.c: Likewise.
30545 * commands/ls.c: Likewise.
30546 * commands/test.c: Likewise.
30547 * commands/cmp.c: Likewise.
30548 * commands/efi/loadbios.c: Likewise.
30549 * commands/efi/fixvideo.c: Likewise.
30550 * commands/halt.c: Likewise.
30551 * commands/help.c: Likewise.
30552 * commands/reboot.c: Likewise.
30553 * hello/hello.c: Likewise.
30554 * script/sh/main.c: Likewise.
30555 * loader/xnu.c: Likewise.
30556 * term/terminfo.c: Likewise.
30557 * term/i386/pc/serial.c: Likewise.
30558 * term/usb_keyboard.c: Likewise.
30559
515b5079 305602009-05-03 David S. Miller <davem@davemloft.net>
30561
30562 * normal/menu.c: Include grub/parser.h
30563
dfc31a22 305642009-05-03 Pavel Roskin <proski@gnu.org>
30565
2fee74f1 30566 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30567 not char*.
30568 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30569 Suggested by Javier Martín <lordhabbit@gmail.com>
30570
dfc31a22 30571 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30572 efiemu??.o doesn't exist.
30573 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30574 copying.
30575
18f547ad 305762009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30577
30578 FreeBSD 64-bit support
30579
18f547ad 30580 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30581 and loader/i386/bsd_trampoline.S
30582 (bsd_mod_ASFLAGS): new variable
30583 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30584 (FREEBSD_MODTYPE_KERNEL64): likewise
30585 (grub_bsd64_trampoline_start): likewise
30586 (grub_bsd64_trampoline_end): likewise
30587 (grub_bsd64_trampoline_selfjump): likewise
30588 (grub_bsd64_trampoline_gdt): likewise
30589 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30590 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30591 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30592 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30593 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30594 of "attrib" member
30595 * loader/i386/bsd_pagetable.c: new file
30596 * loader/i386/bsd_trampoline.S: likewise
30597 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30598 (ALIGN_VAR): likewise
30599 (entry_hi): new variable
30600 (kern_end_mdofs): likewise
30601 (is_64bit): likewise
30602 (grub_freebsd_add_meta): use ALIGN_VAR
30603 (grub_e820_mmap): new declaration
30604 (grub_freebsd_add_mmap): new function
30605 (grub_freebsd_add_meta_module): support 64 bit kernels
30606 (grub_freebsd_list_modules): use ALIGN_VAR
30607 (gdt_descriptor): new declaration
30608 (grub_freebsd_boot): support 64 bit kernels
30609 (grub_bsd_elf64_hook): new function
30610 (grub_bsd_load_elf): support elf64
30611
038c5720 306122009-05-03 Bean <bean123ch@gmail.com>
30613
30614 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30615 after we get the result of if statement.
30616
fc45fb58 306172009-05-03 Bean <bean123ch@gmail.com>
30618
30619 * Makefile.in (enable_efiemu): New variable.
30620
30621 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30622 set.
30623 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30624 path.
30625 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30626 path, add -mno-red-zone option.
30627 (efiemu64_s.o): Likewise.
30628 (efiemu64.o): Use macro $^ for source file.
30629
30630 * configure.ac (--enable-efiemu): New option.
30631
bbee0f2b 306322009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30633
30634 xnu support
30635
30636 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30637 (pkglib_MODULES): add xnu.mod
30638 (xnu_mod_SOURCES): new variable
30639 (xnu_mod_CFLAGS): likewise
30640 (xnu_mod_LDFLAGS): likewise
30641 (xnu_mod_ASFLAGS): likewise
30642 * conf/i386-pc.rmk: likewise
30643 * conf/x86_64-efi.rmk: likewise
7dd4a573 30644 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30645 new declaration
30646 * include/grub/i386/macho.h: new file
30647 * include/grub/i386/xnu.h: likewise
30648 * include/grub/macho.h: likewise
30649 * include/grub/machoload.h: likewise
30650 * include/grub/x86_64/macho.h: likewise
30651 * include/grub/x86_64/xnu.h: likewise
30652 * include/grub/xnu.h: likewise
30653 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30654 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30655 * loader/i386/efi/xnu.c: new file
30656 * loader/i386/pc/xnu.c: likewise
30657 * loader/i386/xnu.c: likewise
30658 * loader/i386/xnu_helper.S: likewise
30659 * loader/macho.c: likewise
30660 * loader/xnu.c: likewise
30661 * loader/xnu_resume.c: likewise
30662 * util/grub-dumpdevtree: likewise
30663 * include/grub/i386/pit.h: include grub/err.h
30664 (grub_pit_wait): export
30665 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30666
5caf964d 306672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30668
30669 Efiemu
7dd4a573 30670
5caf964d 30671 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30672 _linux_efi, linux_efi.
30673 new files in grub-emu
5caf964d 30674 new targets efiemu32.o and efiemu64.o
30675 * loader/linux_normal_efiemu.c: likewise
30676 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30677 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30678 files to copy
30679 * include/grub/autoefi.h: new file
7dd4a573 30680 * include/grub/i386/efiemu.h: likewise
5caf964d 30681 * include/grub/i386/pc/efiemu.h: likewise
30682 * include/grub/efi/api.h: add LL suffix when necessary
30683 new definitions relating to tables
30684 * include/grub/efiemu/efiemu.h: new file
30685 * include/grub/efiemu/runtime.h: likewise
30686 * efiemu/prepare.c: likewise
30687 * efiemu/loadcore_common.c: likewise
30688 * efiemu/loadcore64.c: likewise
30689 * efiemu/runtime/efiemu.sh: likewise
30690 * efiemu/runtime/efiemu.S: likewise
30691 * efiemu/runtime/efiemu.c: likewise
30692 * efiemu/runtime/config.h: likewise
30693 * efiemu/prepare32.c: likewise
30694 * efiemu/main.c: likewise
30695 * efiemu/modules/pnvram.c: likewise
30696 * efiemu/modules/i386: likewise
30697 * efiemu/modules/i386/pc: likewise
30698 * efiemu/modules/acpi.c: likewise
30699 * efiemu/i386/pc/cfgtables.c: likewise
30700 * efiemu/i386/loadcore64.c: likewise
30701 * efiemu/i386/loadcore32.c: likewise
30702 * efiemu/prepare64.c: likewise
30703 * efiemu/loadcore.c: likewise
30704 * efiemu/symbols.c: likewise
30705 * efiemu/mm.c: likewise
30706 * efiemu/loadcore32.c: likewise
7dd4a573 30707
307082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30709
30710 ACPI spoofing
30711
30712 * commands/acpi.c: new file
30713 * commands/i386/pc/acpi.c: likewise
30714 * commands/efi/acpi.c: likewise
30715 * include/grub/acpi.h: likewise
30716 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30717 (acpi_mod_SOURCES): new variable
30718 (acpi_mod_CFLAGS): likewise
30719 (acpi_mod_LDFLAGS): likewise
30720 * conf/i386-efi.rmk: likewise
30721 * conf/x86_64-efi.rmk: likewise
30722
7dd4a573 307232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30724
30725 Missing part from mmap patch
30726
30727 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30728 (grub_mmap_unregister)
30729 (grub_mmap_free_and_unregister): use grub_mmap_register
30730
7dd4a573 307312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30732
30733 Mmap services
30734
30735 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30736 * loader/i386/linux.c (find_mmap_size): likewise
30737 (allocate_pages): likewise
30738 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30739 (grub_fill_multiboot_mmap): likewise
30740 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30741 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30742 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30743 (OPENBSD_MMAP_RESERVED): likewise
30744 * include/grub/i386/pc/memory.h: include grub/memory.h
30745 (grub_lower_mem): removed
30746 (grub_upper_mem): likewise
30747 (GRUB_MACHINE_MEMORY_ACPI): new definition
30748 (GRUB_MACHINE_MEMORY_NVS): likewise
30749 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30750 (GRUB_MACHINE_MEMORY_HOLE): likewise
30751 (grub_machine_mmap_register): likewise
30752 (grub_machine_mmap_unregister): likewise
30753 (grub_machine_get_upper): likewise
30754 (grub_machine_get_lower): likewise
30755 (grub_machine_get_post64): likewise
30756 * include/grub/i386/efi/memory.h: new file
30757 * include/grub/x86_64/efi/memory.h: likewise
30758 * include/grub/efi/memory.h: likewise
30759 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30760 (mmap_mod_SOURCES): new variable
30761 (mmap_mod_LDFLAGS): likewise
30762 (mmap_mod_ASFLAGS): likewise
30763 * conf/i386-coreboot.rmk: likewise
30764 * conf/i386-ieee1275.rmk: likewise
30765 * conf/i386-efi.rmk: likewise
30766 * conf/x86_64-efi.rmk: likewise
30767 * include/grub/types.h (UINT_TO_PTR): new macro
30768 (PTR_TO_UINT32): likewise
30769 (PTR_TO_UINT64): likewise
30770 * include/grub/memory.h: new file
30771 * mmap/i386/pc/mmap.c: likewise
30772 * mmap/i386/pc/mmap_helper.S: likewise
30773 * mmap/i386/uppermem.c: likewise
30774 * mmap/mmap.c: likewise
30775 * mmap/efi/mmap.c: likewise
7dd4a573 30776 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30777 grub_upper_mem
30778 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30779 (grub_upper_mem): likewise
30780 (grub_machine_init): don't use grub_upper_mem,
30781 make grub_lower_mem local
30782 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30783 grub_mmap_iterate and grub_mmap_get_upper
30784 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30785
d558e6b5 307862009-05-02 Bean <bean123ch@gmail.com>
30787
30788 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30789 script/sh/parser.y.
30790 (pkglib_MODULES): Add normal.mod and sh.mod.
30791 (normal_SOURCES): New variable.
30792 (normal_mod_CFLAGS): Likewise.
30793 (normal_mod_LDFLAGS): Likewise.
30794 (sh_mod_SOURCES): Likewise.
30795 (sh_mod_CFLAGS): Likewise.
30796 (sh_mod_LDFLAGS): Likewise.
30797
30798 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30799 script/sh/lexer.c_DEPENDENCIES.
30800 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30801 kern/rescue_reader.c and kern/rescue_parser.c.
30802 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30803 (grub_emu_SOURCES): Change source files.
30804 (pkglib_MODULES): Remove normal.mod.
30805 (normal_SOURCES): Removed.
30806 (normal_mod_CFLAGS): Likewise.
30807 (normal_mod_LDFLAGS): Likewise.
30808 * conf/i386-coreboot.rmk: Likewise.
30809 * conf/i386-efi.rmk: Likewise.
30810 * conf/i386-ieee1276.rmk: Likewise.
30811 * conf/powerpc-ieee1275.rmk: Likewise.
30812 * conf/sparc64-ieee1275.rmk: Likewise.
30813 * conf/x86_64-efi.rmk: Likewise.
30814
30815 * include/grub/command.h (grub_command_execute): New inline function.
30816
30817 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30818
30819 * include/grub/normal.h: Remove <grub/setjmp.h>.
30820 (grub_fs_module_list): Moved to normal/autofs.c.
30821 (grub_exit_env): Removed.
30822 (grub_command_execute): Likewise.
30823 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30824 parameter script.
30825 (read_command_list): New function declaration.
30826 (read_fs_list): Likewise.
30827
30828 * include/parser.h: Include <grub/reader.h>.
30829 (grub_parser_split_cmdline): Change type of getline parameter.
30830 (grub_parser): New structure.
30831 (grub_parser_class): New variable.
30832 (grub_parser_execute): New function declaration.
30833 (grub_register_rescue_parser): Likewise.
30834 (grub_parser_register): New inline function.
30835 (grub_parser_unregister): Likewise.
30836 (grub_parser_get_current): Likewise.
30837 (grub_parser_set_current): Likewise.
30838
30839 * include/grub/reader.h: New file.
30840 * kern/reader.c: Likewise.
30841 * kern/rescue_parser.c: Likewise.
30842 * kern/rescue_reader.c: Likewise.
30843 * normal/autofs.c: Likewise.
30844 * normal/dyncmd.c: Likewise.
30845
30846 * include/grub/rescue.h: Removed.
30847 * normal/command.h: Likewise.
30848
30849 * include/grub/script.h: Moved to ...
30850 * include/grub/script_sh.h: ... Moved here.
30851 * normal/execute.c: Moved to ...
30852 * script/sh/execute.c: ... Moved here.
30853 * normal/function.c: Moved to ...
30854 * script/sh/function.c: ... Moved here.
30855 * normal/lexer.c: Moved to ...
30856 * script/sh/lexer.c: ... Moved here.
30857 * normal/parser.y: Moved to ...
30858 * script/sh/parser.y: ... Moved here.
30859 * normal/script.c: Moved to ...
30860 * script/sh/script.c: ... Moved here.
30861
30862 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30863 <grub/reader.h>.
30864 (grub_exit_env): Removed.
30865 (fs_module_list): Moved to normal/autofs.c.
30866 (grub_file_getline): Don't handle comment here.
30867 (free_menu): Skip removed field entry->commands.
30868 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30869 script parameter.
30870 (read_config_file): Removed nested parameter, change getline function.
30871 (grub_enter_normal_mode): Removed.
30872 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30873 (read_command_list): Likewise.
30874 (autoload_fs_module): Moved to normal/autofs.c.
30875 (read_fs_list): Likewise.
30876 (reader_nested): New variable.
30877 (grub_normal_execute): Run parser.sh to switch to sh parser.
30878 (grub_cmd_rescue): Removed.
30879 (cmd_normal): Removed.
30880 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30881 rescue command.
30882 (grub_cmdline_run): New function.
30883 (grub_normal_reader_init): Likewise.
30884 (grub_normal_read_line): Likewise.
30885 (grub_env_write_pager): Likewise.
30886 (cmdline): New variable.
30887 (grub_normal_reader): Likewise.
30888 (GRUB_MOD_INIT): Register normal reader and set as current, register
30889 pager hook, register normal command with grub_register_command_prio,
30890 so that it won't show up in command.lst.
30891 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30892 grub_fs_autoload_hook.
30893
30894 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30895 (grub_menu_execute_entry): Replace grub_script_execute with
30896 grub_parser_execute, change parameter to grub_command_execute.
30897
30898 * normal/menu_text.c: Remove <grub/script.h>.
30899
30900 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30901 and <grub/parser.h>.
30902 (run): Change editor_getline to use new parser interface. Change
30903 parameter to grub_command_execute.
30904
30905 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30906 <grub/reader.h> and <grub/parser.h>.
30907 (grub_load_normal_mode): Execute normal command.
30908 (grub_main): Call grub_register_core_commands,
30909 grub_register_rescue_parser and grub_register_rescue_reader, use
30910 grub_reader_loop to enter input loop.
30911
7dd4a573 30912 * kern/parser.c (grub_parser_split_cmdline): Change type of
30913 getline parameter.
d558e6b5 30914 (grub_parser_class): New variable.
30915 (grub_parser_execute): New function.
30916
30917 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30918 * loader/multiboot2.c: Likewise.
30919 * loader/sparc64/ieee1275/linux.c: Likewise.
30920
30921 * util/grub-emu.c (read_command_list): New dummy function.
30922
18db813d 309232009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30924
30925 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30926 count to 16 for CCISS and IDA.
30927
6c67de15 309282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * normal/menu_text.c (grub_wait_after_message): Print a newline
30931 after waiting for user input.
30932
30933 * loader/i386/linux.c: Include `<grub/normal.h>'.
30934 (grub_cmd_linux): Improve the error message about `ask' mode, by
30935 waiting for user input so it's not missed (we can do this, since
30936 user requested interaction).
30937
d9dc87b0 309382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30939
30940 Added missing lst to grub-mkrescue
30941
30942 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30943 and ${input_dir}/parttool.lst
30944
ac8a2baa 309452009-04-30 David S. Miller <davem@davemloft.net>
30946
ad22a610 30947 * util/hostdisk.c (device_is_wholedisk): New function.
30948 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30949 zero only if device_is_wholedisk() returns true.
30950
6966215d 30951 * util/hostdisk.c (convert_system_partition_to_system_disk):
30952 Handle virtual disk devices named /dev/vdiskX as found on sparc
30953 and powerpc.
30954
ac8a2baa 30955 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30956 lettered partition specifier is found, convert to numbered.
30957
979b4fb4 309582009-04-29 David S. Miller <davem@davemloft.net>
30959
e2bf39b2 30960 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30961 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30962
3c64e104 30963 * normal/command.c: Add missing newline at end of file.
30964
979b4fb4 30965 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30966 warnings.
30967 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30968 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30969 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30970 ihandles have a 32-bit type but need to be stored in a "void *".
30971
136d9f82 309722009-04-28 Pavel Roskin <proski@gnu.org>
30973
9459c306 30974 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30975 not disk. Adjust all dependencies.
2e08a26a 30976 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30977 grub_disk_close().
30978
136d9f82 30979 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30980 parent's partition, don't copy it by reference, as it gets freed
30981 on close.
30982
7dd4a573 309832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30984
30985 Preboot hooks support
30986
30987 * commands/boot.c (struct grub_preboot_t): new declaration
30988 (preboots_head): new variable
30989 (preboots_tail): likewise
30990 (grub_loader_register_preboot_hook): new function
30991 (grub_loader_unregister_preboot_hook): likewise
30992 (grub_loader_set): launch preboot hooks
30993 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30994 (grub_loader_register_preboot_hook): new declaration
30995 (grub_loader_unregister_preboot_hook): likewise
30996
5af922b5 309972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30998
30999 Warning fix
31000
7dd4a573 31001 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31002 calling grub_dprintf
31003
a5562c30 310042009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31005
31006 Bug and warning fixes
31007
7dd4a573 31008 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31009 declaration
31010 * commands/test.c (test_parse): fixed bug with file tests and corrected
31011 declaration of find_file
31012
4006f85c 310132009-04-26 Pavel Roskin <proski@gnu.org>
31014
31015 * Makefile.in: Don't install empty manual pages if help2man is
31016 missing. Use help2man option for output, not shell redirection.
31017
5c77c3de 310182009-04-26 David S. Miller <davem@davemloft.net>
31019
31020 * util/grub-mkdevicemap.c (make_device_map): Add missing
31021 NESTED_FUNC_ATTR to process_device().
31022
033b10a8 310232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31024
31025 Test command
31026
31027 * commands/test.c: rewritten to use bash-like test
31028
e4343593 310292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 Parttool autoloading and improvements
31032
7dd4a573 31033 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31034 (parttool.lst): new target
31035 * genmk.rb: generate parttool-*
31036 (CLEANFILES): add #{parttool}
31037 (PARTTOOLFILES): new variable
31038 * genparttoollist.sh: new file
7dd4a573 31039 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31040 (grub_pcpart_type): likewise
31041 * commands/parttool.c (helpmsg): new variable
31042 (grub_cmd_parttool): output help if not enough arguments are supplied
31043 autoload modules
31044 (GRUB_MOD_INIT(parttool)): use helpmsg
31045
0d312500 310462009-04-24 David S. Miller <davem@davemloft.net>
31047
7dd4a573 31048 Avoiding opening same device multiple times in device iterator.
0d312500 31049
31050 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31051 and use it to build a list of partitions in iterate_disk() and
0d312500 31052 iterate_partition().
31053
ac20caff 31054 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31055 on disk->data.
31056
0dcf7495 31057 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31058 grub_devalias_iterate() result instead of unconditional 0.
31059 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31060 Also, capture hook return value, either directly or via
31061 grub_children_iterate(), and propagate to caller.
31062 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31063 grub_children_iterate): Return value is now 'int' instead of
31064 'grub_err_t'.
31065 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31066 like a proper iterator, stopping when hooks return non-zero.
31067 (grub_devalias_iterate): Likewise.
31068
c8c08833 310692009-04-23 David S. Miller <davem@davemloft.net>
31070
31071 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31072
f01005a8 310732009-04-22 David S. Miller <davem@davemloft.net>
31074
31075 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31076 is larger than address_cells, use that value for address_cells too.
31077
4e8269da 31078 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31079 IEEE1275_MAX_PATH_LEN): Define.
31080 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31081 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31082 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31083 'devtype'. Explicitly NULL terminate devalias expansion.
31084
a1447506 31085 * util/sparc64/ieee1275/misc.c: New file.
31086 * util/sparc64/ieee1275/grub-setup.c: New file.
31087 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31088 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31089 * util/sparc64/ieee1275/grub-install.in: New file.
31090 * util/ieee1275/ofpath.c: New file.
31091 * util/ieee1275/devicemap.c: New file.
31092 * util/devicemap.c: New file.
31093 * util/deviceiter.c: New file.
31094 * kern/sparc64/ieee1275/init.c: New file.
31095 * include/grub/util/ofpath.h: New file.
31096 * include/grub/util/deviceiter.h: New file.
31097 * util/grub-mkdevicemap.c: Include deviceiter.h.
31098 Implement using grub_util_emit_devicemap_entry and
31099 grub_util_iterate_devices.
31100 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31101 util/devicemap.c into grub-mkdevicemap
31102 * conf/i386-efi.rmk: Likewise.
31103 * conf/i386-ieee1275.rmk: Likewise.
31104 * conf/i386-pc.rmk: Likewise.
31105 * conf/powerpc-ieee1275.rmk: Likewise.
31106 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31107 images and installation utilities. Build kernel as image
31108 instead of as elf binary. Use common rules as much as possible.
31109
7dd4a573 311102009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31111
31112 Correct GPT definition
31113
7dd4a573 31114 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31115 of "attrib" member
31116
c6c5219f 311172009-04-19 Felix Zielcke <fzielcke@z-51.de>
31118
31119 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31120
0552ff9f 311212009-04-19 David S. Miller <davem@davemloft.net>
31122
31123 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31124 (grub_rescue_cmd_linux): Rename to...
31125 (grub_cmd_linux): and fix prototype.
31126 (grub_rescue_cmd_initrd): Rename to...
31127 (grub_cmd_initrd): and fix prototype.
31128 (cmd_linux, cmd_initrd): New.
31129 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31130 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31131
d1a282fc 311322009-04-17 Pavel Roskin <proski@gnu.org>
31133
07c5039f 31134 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31135 format.
31136 (grub_ohci_transfer): Likewise.
31137
b012002d 31138 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31139
1bc09c35 31140 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31141 return without a value. Fix inconsistent indentation.
31142
e0ff9126 31143 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31144 match struct grub_fs.
31145
d1a282fc 31146 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31147 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31148 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31149 * commands/lspci.c (grub_lspci_iter): Likewise.
31150
a96df3f2 311512009-04-16 Bean <bean123ch@gmail.com>
31152
31153 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31154 value.
31155
41bb0fe9 311562009-04-15 Pavel Roskin <proski@gnu.org>
31157
31158 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31159 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31160 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31161 definitions.
31162
596c6970 311632009-04-15 Felix Zielcke <fzielcke@z-51.de>
31164
31165 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31166 that no multiple data or metadata areas are supported and `Unknown
596c6970 31167 metadata header'.
31168
7dd4a573 311692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31170
31171 Move loader out of the kernel
31172
31173 * kern/loader.c: moved to ...
31174 * commands/boot.c: ... moved here
31175 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31176 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31177 * include/grub/kernel.h (grub_machine_fini): export
31178 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31179 (grub_loader_set): likewise
31180 (grub_loader_unset): likewise
31181 (grub_loader_boot): likewise
31182 * conf/common.rmk: new module boot.mod
31183 (pkglib_MODULES): add boot.mod
31184 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31185 (grub_emu_SOURCES): likewise
31186 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31187 (grub_emu_SOURCES): likewise
31188 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31189 (grub_emu_SOURCES): likewise
31190 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31191 (grub_emu_SOURCES): likewise
31192 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31193 (grub_emu_SOURCES): likewise
7dd4a573 31194 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31195 (grub_emu_SOURCES): likewise
0d5d5653 31196 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31197 (grub_emu_SOURCES): likewise
0d5d5653 31198
7dd4a573 311992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31200
31201 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31202
5999d619 31203 * kern/misc.c (grub_itoa): Removed function
31204 (grub_ltoa): likewise
31205 (grub_vsprintf): use grub_lltoa
31206
7dd4a573 312072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31208
31209 Restore grub-emu
31210
31211 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31212 * conf/i386-coreboot.rmk: likewise
31213 * conf/i386-ieee1275.rmk: likewise
31214 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31215
20318222 312162009-04-15 Felix Zielcke <fzielcke@z-51.de>
31217
31218 * INSTALL: Add that `./autogen.sh' needs to be run before
31219 `./configure.'.
31220
d05f0df3 312212009-04-14 Bean <bean123ch@gmail.com>
31222
31223 * Makefile.in (pkglib_DATA): Add handler.lst.
31224 (handler.lst): New rule.
31225
31226 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31227 * conf/i386-coreboot.rmk: Likewise.
31228 * conf/i386-ieee1275.rmk: Likewise.
31229 * conf/i386-efi.rmk: Likewise.
31230 * conf/x86_64-efi.rmk: Likewise.
31231 * conf/powerpc-ieee1275.rmk: Likewise.
31232 * conf/sparc64-ieee1275.rmk: Likewise.
31233
31234 * genhandlerlist.sh: New file.
31235
31236 * genmk.rb: Add rules to generate handler.lst.
31237
31238 * include/grub/normal.h (grub_file_getline): New function definition.
31239 (read_handler_list): Likewise.
31240 (free_handler_list): Likewise.
31241
31242 * include/grub/term.h (grub_term_register_input): Add name parameter
31243 for auto generation of handler.lst.
31244 (grub_term_register_output): Likewise.
31245
31246 * normal/handler.c: New file.
31247
31248 * normal/main.c (get_line): Renamed to grub_file_getline.
31249 (read_config_file): Use the newly renamed grub_file_getline.
31250 (read_command_list): Likewise.
31251 (read_fs_list): Likewise.
31252 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31253 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31254
31255 * term/efi/console.c (grub_console_init): Add name parameter for auto
31256 generation of handler.lst.
31257 * term/gfxterm.c: Likewise.
31258 * term/i386/pc/at_keyboard.c: Likewise.
31259 * term/i386/pc/console.c: Likewise.
31260 * term/i386/pc/serial.c: Likewise.
31261 * term/i386/pc/vesafb.c: Likewise.
31262 * term/i386/pc/vga.c: Likewise.
31263 * term/i386/pc/vga_text.c: Likewise.
31264 * term/ieee1275/ofconsole.c: Likewise.
31265 * term/usb_keyboard.c: Likewise.
31266
33c846be 312672009-04-14 Bean <bean123ch@gmail.com>
31268
31269 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31270 properly with null character.
31271
4484e01e 312722009-04-14 Felix Zielcke <fzielcke@z-51.de>
31273
31274 * configure: Remove.
31275 * config.h.in: Likewise.
f93d668e 31276 * stamp-h.in: Likewise.
4484e01e 31277 * DISTLIST: Likewise.
31278 * conf/common.mk: Likewise.
31279 * conf/i386-coreboot.mk: Likewise.
31280 * conf/i386-efi.mk: Likewise.
31281 * conf/i386-ieee1275.mk: Likewise.
31282 * conf/i386.mk: Likewise.
31283 * conf/i386-pc.mk: Likewise.
31284 * conf/powerpc-ieee1275.mk: Likewise.
31285 * conf/sparc64-ieee1275.mk: Likewise.
31286 * conf/x86_64-efi.mk: Likewise.
31287
31288 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31289 develop on GRUB.
31290
7dd4a573 312912009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31292 David S. Miller <davem@davemloft.net>
31293
31294 * util/hostdisk.c (make_device_name): Fix buffer length
31295 calculations.
31296
e25b5a8c 312972009-04-14 Felix Zielcke <fzielcke@z-51.de>
31298
31299 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31300 <sys/param.h> and <sys/sysctl.h>.
31301 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31302 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31303 opening the device and reset them afterwards.
31304
1f1f580c 313052009-04-13 Pavel Roskin <proski@gnu.org>
31306
31307 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31308 Reported by John Stanley <jpsinthemix@verizon.net>
31309
7ebc2d6b 313102009-04-13 Robert Millan <rmh@aybabtu.com>
31311
31312 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31313 that name for menuentries when appropriate.
7ebc2d6b 31314
d8ba3667 313152009-04-13 Felix Zielcke <fzielcke@z-51.de>
31316
31317 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31318
cba416eb 313192009-04-13 Robert Millan <rmh@aybabtu.com>
31320
31321 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31322 to Linux, simply abort telling the user it's no longer supported.
31323
a547a745 313242009-04-13 Felix Zielcke <fzielcke@z-51.de>
31325
31326 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31327 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31328 `freebsd_loadenv' only when devices.hints exist.
31329
232a769c 313302009-04-13 Pavel Roskin <proski@gnu.org>
31331
31332 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31333
c3012039 313342009-04-13 Felix Zielcke <fzielcke@z-51.de>
31335
31336 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31337 partition number.
31338 (grub_drive): Likewise.
31339
234022fe 313402009-04-13 David S. Miller <davem@davemloft.net>
31341
31342 * kern/sparc64/ieee1275/ieee1275.c: New file.
31343 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31344 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31345 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31346 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31347 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31348 grub_ieee1275_alloc_physmem): Declare new exported functions.
31349
d8e1836c 31350 * include/grub/sparc64/ieee1275/loader.h: New file.
31351 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31352 * include/grub/sparc64/kernel.h: Likewise.
31353 * loader/sparc64/ieee1275/linux.c: Likewise.
31354
96bd81ec 31355 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31356 (grub_fstest_SOURCES): Likewise.
31357
6a4737e5 31358 * util/hostdisk.c (make_device_name): Do not make any assumptions
31359 about the length of drive names.
31360
1d7a72fd 31361 * kern/dl.c (grub_dl_load_file): Close file immediately when
31362 we are done using it.
31363
56bc2471 313642009-04-12 David S. Miller <davem@davemloft.net>
31365
31366 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31367 values. Noticed by Pavel Roskin.
31368
df38d0bb 31369 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31370 target compiler.
7dd4a573 31371
e382e93a 31372 * genmk.rb: Add more flexible image type specification, also
31373 pass --strip-unneeded to objcopy.
31374 * conf/i386-pc.rmk: Use *_FORMAT.
31375 * conf/i386-pc.mk: Rebuilt.
31376
f5dbbca9 31377 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31378 (OFDISK_HASH_SZ): Define.
31379 (ofdisk_hash): New hash table.
31380 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31381 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31382 instead of device phandle which is not unique.
31383
91c88b12 31384 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31385 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31386 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31387 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31388 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31389 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31390 GRUB_KERNEL_MACHINE_DATA_END): Define.
31391 (grub_kernel_image_size, grub_total_module_size): Declare.
31392
5b5d4aa5 313932009-04-12 Pavel Roskin <proski@gnu.org>
31394
7dd4a573 31395 * configure.ac: Change the logic when we check for target tools.
31396 Do it when the target is specified and it's different from the
31397 specified value of the host.
5b5d4aa5 31398
c91e1793 313992009-04-11 Felix Zielcke <fzielcke@z-51.de>
31400
31401 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31402 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31403 GNU/kFreeBSD. Check if a device is a character device. Use
31404 DIOCGMEDIASIZE to get the size.
31405 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31406 support for GNU/kFreeBSD.
31407 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31408 is a character device instead of a block device. Add support for
31409 FreeBSD device names.
31410
31411 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31412 is a character device instead of a block device.
31413
31414 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31415 is a character device instead of a block device.
31416
b1ac8644 314172009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31418
31419 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31420 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31421 FreeBSD. Check if a device is a character device. Use
31422 DIOCGMEDIASIZE to get the size.
31423 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31424 support for FreeBSD.
31425 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: 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__]: Check if ENT is
31430 a character device instead of a block device.
31431 (grub_util_check_char_device): New function.
31432
31433 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31434 a character device instead of a block device.
31435
31436 * include/grub/util/getroot.h (grub_util_check_char_device): New
31437 prototype.
31438
a3f7515a 314392009-04-11 David S. Miller <davem@davemloft.net>
31440
31441 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31442 static libgcc.
31443 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31444 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31445 function, if present.
31446 (__bswapdi2): Likewise.
31447
0d44993d 31448 * include/grub/sparc64/ieee1275/boot.h: New file.
31449 * boot/sparc64/ieee1275/boot.S: Likewise.
31450 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31451
ed3d2bc2 31452 * kern/misc.c (grub_ltoa): New function.
31453 (grub_vsprintf): Use it to format 'long' integers.
31454
d3bfb59c 314552009-04-10 David S. Miller <davem@davemloft.net>
31456
31457 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31458 slots are of type grub_ieee1275_cell_t.
31459 (grub_nand_read): Likewise.
31460 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31461 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31462 macros are used to compare values in arg/ret block of the call.
31463 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31464 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31465 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31466 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31467 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31468 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31469 grub_ieee1275_close, grub_ieee1275_set_property,
31470 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31471 grub_ieee1275_cell_t.
31472 * kern/ieee1275/openfw.c (grub_map): Likewise.
31473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31474 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31475
450e2238 31476 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31477 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31478 (grub_devalias_iterate): Likewise.
31479
7dd4a573 314802009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31481
31482 UFS improvements
31483
31484 * fs/ufs.c (INODE_NBLOCKS): new definition
31485 (struct grub_ufs_dirent): added fields for non-BSD dirents
31486 (grub_ufs_get_file_block): fixed double indirect handling
31487 (grub_ufs_lookup_symlink): use more robust way to determine whether
31488 symlink is inline
31489 (grub_ufs_find_file): support for non-BSD dirents
31490 (grub_ufs_dir): support for non-BSD dirents
31491
e7e6862a 314922009-04-10 Bean <bean123ch@gnail.com>
31493
31494 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31495 attribute, otherwise the size would be wrong for i386 platform.
31496
31497 * include/grub/pci.h (grub_pci_read_word): New inline function.
31498 (grub_pci_read_byte): Likewise.
31499 (grub_pci_write): Likewise.
31500 (grub_pci_write_word): Likewise.
31501 (grub_pci_write_byte): Likewise.
31502
31503 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31504
31505 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31506 (find_framebuf): Scan pci to locate the frame buffer address.
31507
31508 * commands/efi/fixvideo.c: New file.
31509
31510 * commands/efi/loadbios.c: Likewise.
31511
31512 * commands/memrw.c: Likewise.
31513
31514 * util/grub-dumpbios.in: Likewise.
31515
31516 * conf/common.rmk (grub-dumpbios): New utility.
31517 (pkglib_MODULES): New module memrw.mod.
31518 (memrw_mod_SOURCE): New macro.
31519 (memrw_mod_CFLAGS): Likewise.
31520 (memrw_mod_LDFLAGS): Likewise.
31521
7dd4a573 31522 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31523 fixvideo.mod.
31524 (loadbios_mod_SOURCE): New macro.
31525 (loadbios_mod_CFLAGS): Likewise.
31526 (loadbios_mod_LDFLAGS): Likewise.
31527 (fixvideo_mod_SOURCE): Likewise.
31528 (fixvideo_mod_CFLAGS): Likewise.
31529 (fixvideo_mod_LDFLAGS): Likewise.
31530
7dd4a573 31531 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31532 fixvideo.mod.
31533 (loadbios_mod_SOURCE): New macro.
31534 (loadbios_mod_CFLAGS): Likewise.
31535 (loadbios_mod_LDFLAGS): Likewise.
31536 (fixvideo_mod_SOURCE): Likewise.
31537 (fixvideo_mod_CFLAGS): Likewise.
31538 (fixvideo_mod_LDFLAGS): Likewise.
31539
af63ada2 315402009-04-08 Felix Zielcke <fzielcke@z-51.de>
31541
31542 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31543
c2cdde70 315442009-04-07 David S. Miller <davem@davemloft.net>
31545
31546 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31547 support for R_SPARC_OLO10 relocations. Fix compile warning for
31548 R_SPARC_WDISP30 case.
ea3f72cf 31549 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31550
761319cf 315512009-04-06 Pavel Roskin <proski@gnu.org>
31552
1007d1f5 31553 * include/grub/misc.h (ARRAY_SIZE): New macro.
31554 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31555 New macro.
31556 * loader/i386/linux.c (allocate_pages): Use free_pages().
31557 (grub_linux_unload): Don't use free_pages().
31558 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31559 wrong index. Treat all other modes as text modes.
31560 (grub_cmd_linux): Initialize vid_mode unconditionally to
31561 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31562
761319cf 31563 * commands/help.c (print_command_help): Use cmd->prio, not
31564 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31565
ea761d40 315662009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31567
ea761d40 31568 Parttool
31569
31570 * parttool/pcpart.c: new file
31571 * commands/parttool.c: likewise
31572 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31573 (parttool_mod_SOURCES): new variable
31574 (parttool_mod_CFLAGS): likewise
31575 (parttool_mod_LDFLAGS): likewise
31576 (pcpart_mod_SOURCES): likewise
31577 (pcpart_mod_CFLAGS): likewise
31578 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31580 and parttool/pcpart.c
31581 * conf/i386-efi.rmk: likewise
31582 * conf/i386-ieee1275.rmk: likewise
31583 * conf/i386-pc.rmk: likewise
31584 * conf/powerpc-ieee1275.rmk: likewise
31585 * conf/sparc64-ieee1275.rmk: likewise
31586 * conf/x86_64-ieee1275.rmk: likewise
31587
05aaebfb 315882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31589
31590 Support for mtime and further expandability of dir command
31591
31592 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31593 * include/grub/datetime.h: ... moved here and added
05aaebfb 31594 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31595 * include/grub/fs.h: new syntax for dir and mtime functions in
31596 struct grub_fs
05aaebfb 31597 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31598 and GRUB_FSHELP_FLAGS_MASK
31599 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31600 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31601 (grub_ext2_mtime): new function
31602 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31603 (grub_hfsplus_mtime): new function
31604 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31605 (GRUB_UFS_ATTR_FILE): likewise
31606 (GRUB_UFS_ATTR_LNK): likewise
31607 (struct grub_ufs_sblock): new fields mtime
31608 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31609 all users updated
31610 (grub_ufs_dir): mtime support
31611 (grub_ufs_mtime): new function
31612 * fs/affs.c (grub_affs_dir): use new dir syntax
31613 * fs/afs.c (grub_afs_dir): likewise
31614 * fs/cpio.c (grub_cpio_dir): likewise
31615 * fs/fat.c (grub_fat_find_dir): likewise
31616 * fs/hfs.c (grub_hfs_dir): likewise
31617 * fs/iso9660.c (grub_iso9660_dir): likewise
31618 * fs/jfs.c (grub_jfs_dir): likewise
31619 * fs/minix.c (grub_minix_dir): likewise
31620 * fs/ntfs.c (grub_ntfs_dir): likewise
31621 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31622 * fs/sfs.c (grub_sfs_dir): likewise
31623 * fs/xfs.c (grub_xfs_dir): likewise
31624 * util/hostfs.c (grub_hostfs_dir): likewise
31625 * lib/datetime.c: moved to ...
31626 * normal/datetime.c: ... moved here
31627 (grub_unixtime2datetime): new function
31628 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31629 * normal/completion.c (iterate_dir): use new dir syntax
31630 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31631 last modification time of a volume
7dd4a573 31632 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31633 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31634 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31635 (normal_mod_SOURCES): likewise
31636 (datetime_mod_SOURCES): Removed lib/datetime.c
31637 * conf/i386-efi.rmk: likewise
7dd4a573 31638 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31639 * conf/i386-pc.rmk: likewise
31640 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31641 * conf/sparc64-ieee1275.rmk: likewise
31642 * conf/x86_64-efi.rmk: likewise
05aaebfb 31643
8a7e1a14 316442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31645
31646 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31647
31648 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31649 on grub_fat_find_dir
31650 (grub_fat_find_dir): use grub_fat_iterate_dir
31651 (grub_fat_label): likewise
31652
04186a9c 316532009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31654
7dd4a573 31655 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31656 and command.h
31657 remove extraneous kernel_elf_HEADERS
31658
da4c0bb6 316592009-04-04 Bean <bean123ch@gnail.com>
31660
31661 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31662
31663 * util/misc.c: Likewise.
31664
54ad9555 316652009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31666
31667 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31668 instead of grub_printf.
31669
7a6bf9f2 316702009-04-03 Robert Millan <rmh@aybabtu.com>
31671
31672 * loader/i386/linux.c (grub_linux_setup_video): Fill
31673 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31674 values from `mode info' structure instead of hardcoded
31675 values.
31676
3fcc2083 316772009-04-01 Pavel Roskin <proski@gnu.org>
31678
31679 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31680 unused now.
31681 * genmk.rb: Likewise.
31682 * configure.ac: Likewise.
31683
5ec9740b 316842009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31685
31686 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31687 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31688
5270cec8 316892009-04-01 David S. Miller <davem@davemloft.net>
31690
31691 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31692 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31693 (grub_setjmp): Mark with 'returns_twice' attribute.
31694 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31695 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31696 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31697
9c3dd854 316982009-04-01 Robert Millan <rmh@aybabtu.com>
31699
31700 Reapply fix from 2008-07-28 which was accidentally reverted; also
31701 perform the same fix to a similar check in same function.
31702
31703 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31704 with the same number are found, just use issue a warning with
31705 grub_dprintf(), as this error has been reported to be non-fatal.
31706
0d818b7e 317072009-03-31 Pavel Roskin <proski@gnu.org>
31708
31709 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31710 for cross-compilation.
31711
95646d92 317122009-03-30 Robert Millan <rmh@aybabtu.com>
31713
31714 Fix i386-ieee1275 build.
31715
31716 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31717 Remove declaration.
31718
6a003ed1 317192009-03-30 Pavel Roskin <proski@gnu.org>
31720
31721 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31722 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31723 zero-terminated, rely only on the strlen value. Fix comparison
31724 of strings differing in length.
31725
92f33540 317262009-03-30 Robert Millan <rmh@aybabtu.com>
31727
31728 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31729 checking for abi version. Improve error messages on BIOS to notify
31730 user about `linux16' command.
31731
a8c48fd5 317322009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31733
f968172e 31734 Leak fixes
a8c48fd5 31735
f968172e 31736 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31737 in case of collision
31738 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31739
9c323f09 317402009-03-29 Robert Millan <rmh@aybabtu.com>
31741
31742 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31743 set `vid_mode' accordingly.
31744 (grub_linux_boot): Process `vid_mode' and set video mode.
31745
ae68f423 317462009-03-29 Robert Millan <rmh@aybabtu.com>
31747
31748 * util/grub.d/10_linux.in (linux_entry): New function.
31749 Factorize generation of Linux boot entries.
31750
5709cfc4 317512009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31752
31753 Make the format of Environment Block plain text. The boot loader
31754 part is not tested well yet.
7dd4a573 31755
5709cfc4 31756 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31757 (buffer): Removed.
31758 (envblk): Likewise.
31759 (usage): Remove "info" and "clear". Add "unset". Update the
31760 description of "set", as this does not delete variables any
31761 longer.
31762 (create_envblk_file): Complete rewrite.
31763 (open_envblk_file): Likewise.
31764 (cmd_info): Removed.
31765 (cmd_list): Likewise.
31766 (cmd_set): Likewise.
31767 (cmd_clear): Likewise.
31768 (list_variables): New function.
31769 (write_envblk): Likewise.
31770 (set_variables): Likewise.
31771 (unset_variables): Likewise.
31772 (main): Complete rewrite.
31773
31774 * commands/loadenv.c (buffer): Removed.
31775 (envblk): Likewise.
31776 (open_envblk_file): New function.
31777 (read_envblk_file): Complete rewrite.
31778 (grub_cmd_load_env): Likewise.
31779 (grub_cmd_list_env): Likewise.
31780 (struct blocklist): New struct.
31781 (free_blocklists): New function.
31782 (check_blocklists): Likewise.
31783 (write_blocklists): Likewise.
31784 (grub_cmd_save_env): Complete rewrite.
31785
31786 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31787 a plain text signature.
31788 (GRUB_ENVBLK_MAXLEN): Removed.
31789 (struct grub_envblk): Complete rewrite.
31790 (grub_envblk_find): Removed.
31791 (grub_envblk_insert): Likewise.
31792 (grub_envblk_open): New prototype.
31793 (grub_envblk_set): Likewise.
31794 (grub_envblk_delete): Put const to VALUE.
31795 (grub_envblk_iterate): Put const to NAME and VALUE.
31796 (grub_envblk_close): New prototype.
31797 (grub_envblk_buffer): New inline function.
31798 (grub_envblk_size): Likewise.
31799
31800 * lib/envblk.c: Include grub/mm.h.
31801 (grub_env_find): Removed.
31802 (grub_envblk_open): New function.
31803 (grub_envblk_close): Likewise.
31804 (escaped_value_len): Likewise.
31805 (find_next_line): Likewise.
31806 (grub_envblk_insert): Removed.
31807 (grub_envblk_set): New function.
31808 (grub_envblk_delete): Complete rewrite.
31809 (grub_envblk_iterate): Likewise.
31810
a9368fd3 318112009-03-28 Robert Millan <rmh@aybabtu.com>
31812
31813 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31814 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31815 variables. Use 16-bit loader.
31816 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31817 loader.
31818 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31819 (grub_linux16_boot): ... this. Update all users.
31820 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31821 (grub_linux_boot): ... this. Update all users.
31822
31823 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31824 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31825 commands to `linux16' and `initrd16'.
31826 (GRUB_MOD_FINI(linux)): Rename to ...
31827 (GRUB_MOD_FINI(linux16)): ... this.
31828
e4dd5a7e 318292009-03-24 Pavel Roskin <proski@gnu.org>
31830
31831 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31832 not just for compilation.
31833
c04d6e05 318342009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31835
31836 Move multiboot helper out of kernel
31837
31838 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31839 `loader/i386/multiboot_helper.S'.
31840 * conf/i386-coreboot.rmk: Likewise
31841 * conf/i386-ieee1275.rmk: Likewise
31842
31843 * kern/i386/loader.S: Move multiboot helpers from here...
31844 * loader/i386/multiboot_helper.S: ...moved here
31845 * include/grub/i386/loader.h: Move declarations of multiboot
31846 helpers from here...
31847 * include/grub/i386/multiboot.h: ...moved here
31848 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31849
42a5b3fc 318502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31851
31852 * kern/env.c (grub_env_context_open): Added an argument to specify
31853 whether a new context inherits exported variables from current
31854 one. This is useful when making a sandbox to interpret a config
31855 file.
31856 All callers updated.
31857
31858 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31859
b28bbc4e 318602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31861
31862 * kern/env.c (grub_env_context_close): Fix memory leaks.
31863
f04f02e4 318642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31865
31866 * normal/main.c (grub_normal_execute): Added an argument
31867 BATCH to specify if an interactive interface should be provided
31868 after reading a config file.
31869 All callers updated.
31870 (read_command_list): Prevent being executed twice.
31871 (read_fs_list): Likewise.
31872
42a5b3fc 31873 * include/grub/normal.h (grub_normal_execute): Updated the
31874 prototype.
f04f02e4 31875
41473ac2 318762009-03-22 Pavel Roskin <proski@gno.org>
31877
fbc00b0c 31878 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31879 _start.
31880 * kern/i386/pc/startup.S: Likewise.
31881 * kern/i386/efi/startup.S: Likewise.
31882 * kern/i386/ieee1275/startup.S: Likewise.
31883 * kern/i386/coreboot/startup.S: Likewise.
31884 * kern/x86_64/efi/startup.S: Likewise.
31885
41473ac2 31886 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31887 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31888 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31889
2274cc8f 318902009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31891
31892 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31893
31894 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31895 limit detection.
31896 Use vaddr of correct segment for entry_point.
31897
b1b797cb 318982009-03-21 Bean <bean123ch@gmail.com>
31899
31900 * commands/blocklist.c: Add include file <grub/command.h>, remove
31901 <grub/normal.h> and <grub/arg.h>.
31902 (grub_cmd_blocklist): Use the new command interface.
31903 (GRUB_MOD_INIT): Likewise.
31904 (GRUB_MOD_FINI): Likewise.
31905 * commands/boot.c: Likewise.
31906 * commands/cat.c: Likewise.
31907 * commands/cmp.c: Likewise.
31908 * commands/configfile.c: Likewise.
31909 * commands/crc.c: Likewise.
31910 * commands/echo.c: Likewise.
31911 * commands/halt.c: Likewise.
31912 * commands/handler.c: Likewise.
31913 * commands/hdparm.c: Likewise.
31914 * commands/help.c: Likewise.
31915 * commands/hexdump.c: Likewise.
31916 * commands/loadenv.c: Likewise.
31917 * commands/ls.c: Likewise.
31918 * commands/lsmmap.c: Likewise.
31919 * commands/lspci.c: Likewise.
31920 * commands/loadenv.c: Likewise.
31921 * commands/read.c: Likewise.
31922 * commands/reboot.c: Likewise.
31923 * commands/search.c: Likewise.
31924 * commands/sleep.c: Likewise.
31925 * commands/test.c: Likewise.
31926 * commands/usbtest.c: Likewise.
31927 * commands/videotest.c: Likewise.
31928 * commands/i386/cpuid.c: Likewise.
31929 * commands/i386/pc/halt.c: Likewise.
31930 * commands/i386/pc/play.c: Likewise.
31931 * commands/i386/pc/pxecmd.c: Likewise.
31932 * commands/i386/pc/vbeinfo.c: Likewise.
31933 * commands/i386/pc/vbetest.c: Likewise.
31934 * commands/ieee1275/suspend.c: Likewise.
31935 * disk/loopback.c: Likewise.
31936 * font/font_cmd.c: Likewise.
31937 * hello/hello.c: Likewise.
31938 * loader/efi/appleloader.c: Likewise.
31939 * loader/efi/chainloader.c: Likewise.
31940 * loader/i386/bsd.c: Likewise.
31941 * loader/i386/efi/linux.c: Likewise.
31942 * loader/i386/ieee1275/linux.c: Likewise.
31943 * loader/i386/linux.c: Likewise.
31944 * loader/i386/pc/chainloader.c: Likewise.
31945 * loader/i386/pc/linux.c: Likewise.
31946 * loader/powerpc/ieee1275/linux.c: Likewise.
31947 * loader/multiboot_loader.c: Likewise.
31948 * term/gfxterm.c: Likewise.
31949 * term/i386/pc/serial.c: Likewise.
31950 * term/terminfo.c: Likewise.
31951
31952 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31953 * term/i386/pc/vga.c: Likewise.
31954 * video/readers/jpeg.c: Likewise.
31955 * video/readers/png.c: Likewise.
31956 * video/readers/tga.c: Likewise.
31957
31958 * util/grub-fstest (cmd_loopback): Removed.
31959 (cmd_blocklist): Likewise.
31960 (cmd_ls): Likewise.
31961 (grub_register_command): Likewise.
31962 (grub_unregister_command): Likewise.
31963 (execute_command): Use grub_command_find to locate command and execute
31964 it.
31965
31966 * include/grub/efi/chainloader.h: Removed.
31967 * loader/efi/chainloader_normal.c: Likewise.
31968 * loader/i386/bsd_normal.c: Likewise.
31969 * loader/i386/pc/chainloader_normal.c: Likewise.
31970 * loader/i386/pc/multiboot_normal.c: Likewise.
31971 * loader/linux_normal.c: Likewise.
31972 * loader/multiboot_loader_normal.c: Likewise.
31973 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31974
31975 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31976 and grub_register_command_p1.
31977
31978 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31979 kern/command.c, lib/arg.c and commands/extcmd.c.
31980 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31981 (minicmd_mod_SOURCES): New variable.
31982 (minicmd_mod_CFLAGS): Likewise.
31983 (minicmd_mod_LDFLAGS): Likewise.
31984 (extcmd_mod_SOURCES): Likewise.
31985 (extcmd_mod_CFLAGS): Likewise.
31986 (extcmd_mod_LDFLAGS): Likewise.
31987 (boot_mod_SOURCES): Removed.
31988 (boot_mod_CFLAGS): Likewise.
31989 (boot_mod_LDFLAGS): Likewise.
31990
31991 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31992 kern/corecmd.c.
31993 (kernel_img_HEADERS): Add command.h.
31994 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31995 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31996 and lib/arg.c.
31997 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31998 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31999 remove the corresponding normal mode command.
32000 (normal_mod_SOURCES): Remove normal/arg.c.
32001 * conf/i386-coreboot.rmk: Likewise.
32002 * conf/i386-efi.rmk: Likewise.
32003 * conf/i386-ieee1275.rmk: Likewise.
32004 * conf/powerpc-ieee1275.rmk: Likewise.
32005 * conf/x86_64-efi.rmk: Likewise.
32006
32007 * include/grub/arg.h: Move from here ...
32008 * include/grub/lib/arg.h: ... to here.
32009
32010 * normal/arg.c: Move from here ...
32011 * lib/arg.c: ... to here.
32012
32013 * commands/extcmd.c: New file.
32014 * commands/minicmd.c: Likewise.
32015 * include/grub/command.h: Likewise.
32016 * include/grub/extcmd.h: Likewise.
32017 * kern/command.c: Likewise.
32018 * kern/corecmd.c: Likewise.
32019
32020 * kern/list.c (grub_list_iterate): Return int instead of void.
32021 (grub_list_insert): New function.
32022 (grub_prio_list_insert): Likewise.
32023
32024 * kern/rescue.c (grub_rescue_command): Removed.
32025 (grub_rescue_command_list): Likewise.
32026 (grub_rescue_register_command): Likewise.
32027 (grub_rescue_unregister_command): Likewise.
32028 (grub_rescue_cmd_boot): Move to minicmd.c
32029 (grub_rescue_cmd_help): Likewise.
32030 (grub_rescue_cmd_info): Likewise.
32031 (grub_rescue_cmd_boot): Likewise.
32032 (grub_rescue_cmd_testload): Likewise.
32033 (grub_rescue_cmd_dump): Likewise.
32034 (grub_rescue_cmd_rmmod): Likewise.
32035 (grub_rescue_cmd_lsmod): Likewise.
32036 (grub_rescue_cmd_exit): Likewise.
32037 (grub_rescue_print_devices): Moved to corecmd.c.
32038 (grub_rescue_print_files): Likewise.
32039 (grub_rescue_cmd_ls): Likewise.
32040 (grub_rescue_cmd_insmod): Likewise.
32041 (grub_rescue_cmd_set): Likewise.
32042 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32043 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32044 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32045 commands, remove grub_rescue_register_command calls.
b1b797cb 32046
7d074e3c 32047 * normal/command.c (grub_register_command): Removed.
b1b797cb 32048 (grub_unregister_command): Likewise.
32049 (grub_command_find): Likewise.
32050 (grub_iterate_commands): Likewise.
32051 (rescue_command): Likewise.
32052 (export_command): Moved to corecmd.c.
32053 (set_command): Removed.
32054 (unset_command): Likewise.
32055 (insmod_command): Likewise.
32056 (rmmod_command): Likewise.
32057 (lsmod_command): Likewise.
32058 (grub_command_init): Likewise.
32059
32060 * normal/completion.c (iterate_command): Use cmd->prio to check for
32061 active command.
32062 (complete_arguments): Use grub_extcmd_t structure to find options.
32063 (grub_normal_do_completion): Change function grub_iterate_commands to
32064 grub_command_iterate.
32065
32066 * normal/execute.c (grub_script_execute_cmd): No need to parse
32067 argument here.
32068
32069 * normal/main.c (grub_dyncmd_dispatcher): New function.
32070 (read_command_list): Register unload commands as dyncmd.
32071 (grub_cmd_normal): Use new command interface, register rescue,
32072 unregister normal at entry, register normal, unregister rescue at exit.
32073
32074 * include/grub/list.h (grub_list_test_t): New type.
32075 (grub_list_iterate): Return int instead of void.
32076 (grub_list_insert): New function.
32077 (GRUB_AS_NAMED_LIST_P): New macro.
32078 (GRUB_AS_PRIO_LIST): Likewise.
32079 (GRUB_AS_PRIO_LIST_P): Likewise.
32080 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32081 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32082 (grub_prio_list): New structure.
32083 (grub_prio_list_insert): New function.
32084 (grub_prio_list_remove): New inline function.
32085
32086 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32087 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32088 (GRUB_COMMAND_FLAG_MENU): Likewise.
32089 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32090 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32091 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32092 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32093 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32094 (grub_command): Likewise.
32095 (grub_register_command): Likewise.
32096 (grub_command_find): Likewise.
32097 (grub_iterate_commands): Likewise.
32098 (grub_command_init): Likewise.
32099 (grub_arg_parse): Likewise.
32100 (grub_arg_show_help): Likewise.
32101
32102 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32103 (grub_rescue_unregister_command): Likewise.
32104
32105 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32106 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32107 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32108
32109 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32110 grub_rescue_cmd_initrd.
32111 * include/grub/i386/loader.h: Likewise.
32112 * include/grub/x86_64/loader.h: Likewise.
32113
32114 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32115
1f4147aa 321162009-03-21 Bean <bean123ch@gmail.com>
32117
32118 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32119 instead of stat in mingw environment.
32120
32121 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32122
32123 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32124
32125 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32126 AC_CONFIG_LINKS.
32127
2156d5ba 321282009-03-21 Bean <bean123ch@gmail.com>
32129
32130 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32131 out of range error.
32132
177b82ca 321332009-03-18 Michel Dänzer <michel@daenzer.net>
32134
32135 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32136 checking inode flags for EXT4_EXTENTS_FLAG.
32137
14aad807 321382009-03-18 Robert Millan <rmh@aybabtu.com>
32139
32140 * loader/i386/linux.c: Include `<grub/video.h>' and
32141 `<grub/i386/pc/vbe.h>'..
32142 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32143 (grub_linux32_boot): Attempt to configure video settings with
32144 grub_linux_setup_video().
32145 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32146 to avoid grub_console_fini() which would step out of graphical mode
32147 unconditionally.
32148
8cf83a27 321492009-03-14 Robert Millan <rmh@aybabtu.com>
32150
32151 Fix build on powerpc.
32152 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32153
40164e75 321542009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32155
32156 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32157 background image command.
32158
c58bc32a 321592009-03-12 Colin D Bennett <colin@gibibit.com>
32160
32161 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32162 (grub_gfxterm_putchar): Extract pairs of identical calls to
32163 draw_cursor out of conditional blocks.
32164
5415144a 321652009-03-11 Pavel Roskin <proski@gnu.org>
32166
32167 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32168 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32169
6394042e 321702009-03-11 Robert Millan <rmh@aybabtu.com>
32171
32172 * loader/i386/multiboot_elfxx.c
32173 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32174
b7b50e5f 321752009-03-11 Felix Zielcke <fzielcke@z-51.de>
32176
32177 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32178 `kern/handler.c'.
32179
1ca7fc96 321802009-03-11 Robert Millan <rmh@aybabtu.com>
32181
32182 * loader/i386/multiboot.c (code_size): New variable.
32183 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32184 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32185 4-byte alignment to MBI and others by increasing
7d074e3c 32186 `boot_loader_name_length' appropriately.
1ca7fc96 32187
32188 * loader/i386/multiboot_elfxx.c
32189 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32190
a83ea1d2 321912009-03-09 Felix Zielcke <fzielcke@z-51.de>
32192
32193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32194 `fs/ext2.c'.
32195
aa9f3bff 321962009-03-08 Robert Millan <rmh@aybabtu.com>
32197
32198 Make loader/i386/linux.c usable on i386-pc again.
32199
32200 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32201 memory to heap.
32202 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32203 `#error' stanza.
32204
d8b3b60e 322052009-03-07 Bean <bean123ch@gmail.com>
32206
32207 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32208 allocation.
32209
b362c9e9 322102009-03-06 Robert Millan <rmh@aybabtu.com>
32211
32212 Fix display issue on terminals with screen size other than 80x25
32213 (e.g. gfxterm with resolution higher than 640x480).
32214
32215 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32216 position relative to the center of the terminal instead of relying
b362c9e9 32217 on a hardcoded offset.
32218
9304eef1 322192009-03-04 Robert Millan <rmh@aybabtu.com>
32220
32221 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32222 installed.
32223
32224 * Makefile.in (host_kernel): New variable.
32225 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32226 scripts instead of just the windows one.
32227 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32228
eabc95fb 322292009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32230
32231 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32232 `kern/handler.c'.
32233 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32234 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32238 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32239
ceb1223c 322402009-03-04 Felix Zielcke <fzielcke@z-51.de>
32241
32242 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32243 or if there's no space for the disk label and print the partition number on a
32244 invalid magic.
32245
4910684a 322462009-03-04 Felix Zielcke <fzielcke@z-51.de>
32247
32248 * util/misc.c: Include <time.h>.
32249 (grub_millisleep): New function.
32250
7e9ca17a 322512009-03-04 Bean <bean123ch@gmail.com>
32252
32253 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32254 another option -mno-red-zone.
32255
32256 * commands/handler.c: Change module description.
32257
32258 * kern/handler.c: Add missing space at the end of description line.
32259
32260 * kern/list.c: Likewise.
32261
f501677c 322622009-03-03 Robert Millan <rmh@aybabtu.com>
32263
32264 Move more components to the relocation area, and fix mbi pointer
32265 handling to use the destination rather than the origin (thanks to
32266 Vladimir Serbinenko for spotting).
32267
32268 * loader/i386/multiboot.c (mbi_dest): New variable.
32269 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32270 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32271 relocation area.
32272
9902d047 322732009-03-01 Bean <bean123ch@gmail.com>
32274
50fb7002 32275 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32276 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32277 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32278 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32279
32280 * loader/i386/efi/linux.c (acpi_guid): New variable.
32281 (acpi_guid): Likewise.
32282 (EBDA_SEG_ADDR): New constant.
32283 (LOW_MEM_ADDR): Likewise.
32284 (FAKE_EBDA_SEG): Likewise.
32285 (fake_bios_data): New function.
32286 (grub_linux_boot): Call fake_bios_data.
32287
71b9f361 322882009-03-01 Bean <bean123ch@gmail.com>
32289
32290 * commands/terminal.c: Removed.
32291
32292 * commands/handler.c: New file.
32293
32294 * include/grub/list.h: Likewise.
32295
32296 * include/grub/handler.h: Likewise.
32297
32298 * kern/list.c: Likewise.
32299
32300 * kern/handler.c: Likewise.
32301
32302 * kern/term.h: Include header file <grub/handler.h>.
32303 (grub_term_input): Move next field to the beginning.
32304 (grub_term_output): Likewise.
32305 (grub_term_input_class): New variable.
32306 (grub_term_output_class): Likewise.
32307 (grub_term_register_input): Changed to inline function.
32308 (grub_term_register_output): Likewise.
32309 (grub_term_unregister_input): Likewise.
32310 (grub_term_unregister_output): Likewise.
32311 (grub_term_set_current_input): Likewise.
32312 (grub_term_set_current_output): Likewise.
32313 (grub_term_get_current_input): Likewise.
32314 (grub_term_get_current_output): Likewise.
32315 (grub_term_iterate_input): Removed.
32316 (grub_term_iterate_output): Likewise.
32317
32318 * kern/term.c (grub_term_list_input): Removed.
32319 (grub_term_list_output): Likewise.
32320 (grub_term_input_class): New variable.
32321 (grub_term_output_class): Likewise.
50fb7002 32322 (grub_cur_term_input): Change variable as macro.
71b9f361 32323 (grub_cur_term_output): Likewise.
32324 (grub_term_register_input): Removed.
32325 (grub_term_register_output): Likewise.
32326 (grub_term_unregister_input): Likewise.
32327 (grub_term_unregister_output): Likewise.
32328 (grub_term_set_current_input): Likewise.
32329 (grub_term_set_current_output): Likewise.
32330 (grub_term_iterate_input): Likewise.
32331 (grub_term_iterate_output): Likewise.
32332 (grub_term_get_current_input): Likewise.
32333 (grub_term_get_current_output): Likewise.
32334
32335 * util/grub-editenv.c: Include header file <grub/handler.h>.
32336 (grub_term_get_current_input): Removed.
32337 (grub_term_get_current_output): Likewise.
32338 (grub_term_input_class): New variable.
50fb7002 32339 (grub_term_output_class): Likewise.
71b9f361 32340
32341 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32342 (grub_term_get_current_output): Likewise.
32343 (grub_term_input_class): New variable.
50fb7002 32344 (grub_term_output_class): Likewise.
71b9f361 32345
32346 * util/grub-probe.c (grub_term_get_current_input): Removed.
32347 (grub_term_get_current_output): Likewise.
32348 (grub_term_input_class): New variable.
50fb7002 32349 (grub_term_output_class): Likewise.
71b9f361 32350
32351 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32352 (grub_term_get_current_output): Likewise.
32353 (grub_term_input_class): New variable.
50fb7002 32354 (grub_term_output_class): Likewise.
71b9f361 32355
32356 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32357 (terminal_mod_SOURCES): Likewise.
32358 (terminal_mod_CFLAGS): Likewise.
32359 (terminal_mod_LDFLAGS): Likewise.
32360
32361 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32362 handler.c.
32363 (kernel_img_SOURCES): Add list.c and handler.c.
32364 (kernel_img_HEADERS): Add list.h and handler.h.
32365
32366 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32367 handler.c.
32368 (kernel_mod_SOURCES): Add list.c and handler.c.
32369 (kernel_mod_HEADERS): Add list.h and handler.h.
32370
32371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32372 handler.c.
32373 (kernel_elf_SOURCES): Add list.c and handler.c.
32374 (kernel_elf_HEADERS): Add list.h and handler.h.
32375
32376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32377 handler.c.
32378 (kernel_elf_SOURCES): Add list.c and handler.c.
32379 (kernel_elf_HEADERS): Add list.h and handler.h.
32380
32381 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32382 handler.c.
32383 (kernel_mod_SOURCES): Add list.c and handler.c.
32384 (kernel_mod_HEADERS): Add list.h and handler.h.
32385
32386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32387 handler.c.
32388 (kernel_elf_SOURCES): Add list.c and handler.c.
32389 (kernel_elf_HEADERS): Add list.h and handler.h.
32390
8a31787f 323912009-02-27 Robert Millan <rmh@aybabtu.com>
32392
32393 Factorize elf32 / elf64 code in Multiboot loader. This will
32394 prevent it from getting out of sync again.
32395
32396 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32397 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32398 grub_multiboot_load_elf64): Move from here ...
32399 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32400 grub_multiboot_load_elf): ... to here (new file).
32401
51cd3dfc 324022009-02-27 Robert Millan <rmh@aybabtu.com>
32403
32404 * util/grub.d/10_linux.in: Rename "single-user mode" to
32405 "recovery mode".
32406
6e8c9c3a 324072009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32408
32409 Don't leak in SCSI code.
32410 * disk/scsi.c (grub_scsi_close): free `scsi'.
32411
4b6bf4f9 324122009-02-27 Robert Millan <rmh@aybabtu.com>
32413
32414 * loader/i386/pc/multiboot.c: Move from here ...
32415 * loader/i386/multiboot.c: ... to here. Update all users.
32416
b9413424 324172009-02-27 Robert Millan <rmh@aybabtu.com>
32418
32419 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32420 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32421
50fb7002 324222009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32423
32424 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32425 b-tree.
32426
8cc50345 324272009-02-27 Robert Millan <rmh@aybabtu.com>
32428
32429 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32430 `0x' qualifier as 0 when base is specified as parameter).
32431
6e09b8b7 324322009-02-24 Bean <bean123ch@gmail.com>
32433
32434 * configure.ac: Check for -mcmodel=large in x86_64 target.
32435
32436 * include/grub/efi/api.h (efi_call_10): New macro.
32437 (efi_wrap_10): New function.
32438
32439 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32440 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32441 (GRUB_PE32_REL_BASED_LOW): Likewise.
32442 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32443 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32444 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32445 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32446 (GRUB_PE32_REL_BASED_REL): Likewise.
32447 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32448 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32449 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32450
32451 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32452 issue.
32453
32454 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32455 (efi_wrap_10): New function.
32456
32457 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32458
32459 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32460 MB/MBP model (NV chipset).
32461 (devdata_devs): Add devpath_5 to the list.
32462
32463 * load/i386/efi/linux.c (video_base): Remove variable.
32464 (RGB_MASK): New macro.
32465 (RGB_MAGIC): Likewise.
32466 (LINE_MIN): Likewise.
32467 (LINE_MAX): Likewise.
32468 (FBTEST_STEP): Likewise.
32469 (FBTEST_COUNT): Likewise.
32470 (fb_list): New variable.
32471 (grub_find_video_card): Remove function.
32472 (find_framebuf): New function.
32473 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32474 line length.
32475
32476 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32477 problem for x86_64.
32478
74b21bee 324792009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32480
32481 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32482
32483 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32484 coding tool name.
32485
a455f472 324862009-02-22 Robert Millan <rmh@aybabtu.com>
32487
32488 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32489 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32490 in our relocation, instead of using it directly from heap. Also
32491 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32492
6374daf3 324932009-02-21 Robert Millan <rmh@aybabtu.com>
32494
32495 Implement USB keyboard support (based on patch by Marco Gerards)
32496
32497 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32498 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32499 (usb_keyboard_mod_LDFLAGS): New variables.
32500
32501 * term/usb_keyboard.c: New file.
32502
8fa4ea70 325032009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32504
32505 Corrected wrong declaration
32506
32507 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32508
353976ac 325092009-02-14 Christian Franke <franke@computer.org>
32510
32511 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32512 (grub_lspci_iter): Print class code and programming interface byte.
32513
6aa1169b 325142009-02-14 Christian Franke <franke@computer.org>
32515
32516 * gendistlist.sh: Ignore `.svn' directories.
32517
265372ca 325182009-02-14 Felix Zielcke <fzielcke@z-51.de>
32519
32520 * fs/fat.c: Add 2009 to Copyright line.
32521
9ff516f3 325222009-02-14 Christian Franke <franke@computer.org>
32523
32524 * commands/hdparm.c: New file. Provides `hdparm' command
32525 which sends ATA commands via grub_disk_ata_pass_through ().
32526
32527 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32528
32529 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32530 and <grub/cpu/io.h> to include/grub/ata.h.
32531 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32532 (GRUB_CDROM_SECTOR_SIZE): Remove.
32533 (GRUB_ATA_*): Move to include/grub/ata.h.
32534 (GRUB_ATAPI_*): Likewise.
32535 (enum grub_ata_commands): Likewise.
32536 (enum grub_ata_timeout_milliseconds): Likewise.
32537 (struct grub_ata_device): Likewise.
32538 (grub_ata_regset): Likewise.
32539 (grub_ata_regget): Likewise.
32540 (grub_ata_regset2): Likewise.
32541 (grub_ata_regget2): Likewise.
32542 (grub_ata_check_ready): Likewise.
32543 (grub_ata_wait_not_busy): Remove static, exported in
32544 include/grub/ata.h.
32545 (grub_ata_wait_drq): Likewise.
32546 (grub_ata_pio_read): Likewise.
32547
32548 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32549 function for hdparm.mod.
32550
32551 * include/grub/ata.h: New file, contains declarations from
32552 disk/ata.c.
32553 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32554
32555 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32556 (grub_disk_ata_pass_through): New exported variable.
32557
32558 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32559
772e23da 325602009-02-13 Colin D Bennett <colin@gibibit.com>
32561
32562 Support multiple fallback entries, and provide an API to support
32563 executing default+fallback menu entries. Renamed the `terminal' menu
32564 viewer to `text'.
32565
32566 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32567 variable declaration.
32568 (grub_menu_execute_callback): New structure declaration.
32569 (grub_menu_execute_callback_t): New typedef.
32570 (grub_menu_execute_with_fallback): New function declaration.
32571 (grub_menu_get_entry): Likewise.
32572 (grub_menu_get_timeout): Likewise.
32573 (grub_menu_set_timeout): Likewise.
32574
32575 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32576
32577 * normal/menu.c (grub_wait_after_message): Moved to
32578 `normal/menu_text.c'.
32579 (draw_border): Likewise.
32580 (print_message): Likewise.
32581 (print_entry): Likewise.
32582 (print_entries): Likewise.
32583 (grub_menu_init_page): Likewise.
32584 (get_entry_number): Likewise.
32585 (print_timeout): Likewise.
32586 (run_menu): Likewise.
32587 (grub_menu_execute_entry): Likewise.
32588 (show_text_menu): Likewise.
32589 (get_and_remove_first_entry_number): New function.
32590 (grub_menu_execute_with_fallback): Likewise.
32591 (get_entry): Renamed to ...
32592 (grub_menu_get_entry): .. this and made it global.
32593 (get_timeout): Renamed to ...
32594 (grub_menu_get_timeout): ... this and made it global.
32595 (set_timeout): Renamed to ...
32596 (grub_menu_set_timeout): ... this and made it global.
32597 (grub_normal_terminal_menu_viewer): Renamed to ...
32598 (grub_normal_text_menu_viewer): ... this.
32599
32600 * normal/menu_text.c: New file. Extracted text-menu-specific code
32601 from normal/menu.c.
32602
32603 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32604 (normal_mod_SOURCES): Likewise.
32605
32606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32607 (normal_mod_SOURCES): Likewise.
32608
32609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32610 (normal_mod_SOURCES): Likewise.
32611
32612 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32613 (normal_mod_SOURCES): Likewise.
32614
32615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32616 (normal_mod_SOURCES): Likewise.
32617
32618 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32619 (normal_mod_SOURCES): Likewise.
32620
32621 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32622 (normal_mod_SOURCES): Likewise.
32623
16ac430e 326242009-02-11 Robert Millan <rmh@aybabtu.com>
32625
32626 * util/grub.d/00_header.in: Update old reference to `font' command.
32627
06ff20fc 326282009-02-10 Felix Zielcke <fzielcke@z-51.de>
32629
32630 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32631
32632 Based on patch from Javier Martín.
32633
96da9407 326342009-02-09 Felix Zielcke <fzielcke@z-51.de>
32635
32636 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32637 to avoid false positives with FAT.
96da9407 32638 (grub_fstest_SOURCES): Likewise.
32639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32644 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32645
6dca6fe4 326462009-02-09 Felix Zielcke <fzielcke@z-51.de>
32647
06ff20fc 32648 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32649 bpb.version_specific.fat12_or_fat16.fstype and
32650 bpb.version_specific.fat32.fstype.
32651
2550c62f 326522009-02-08 Robert Millan <rmh@aybabtu.com>
32653
be110b30 32654 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32655
56978920 326562009-02-08 Robert Millan <rmh@aybabtu.com>
32657
32658 * Makefile.in (host_os, host_cpu): New variables.
32659 (target_os): Remove. Update all users.
32660
d64399b5 326612009-02-08 Marco Gerards <marco@gnu.org>
32662
32663 * Makefile.in (enable_grub_emu_usb): New variable.
32664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32665 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32666 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32667 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32668 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32669 `usbtest.mod' and `usbms.mod'.
32670 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32671 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32672 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32673 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32674 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32675 variables.
32676
32677 * disk/usbms.c: New file.
32678
32679 * include/grub/usb.h: Likewise.
32680
32681 * include/grub/usbtrans.h: Likewise.
32682
32683 * include/grub/usbdesc.h: Likewise.
32684
32685 * bus/usb/usbtrans.c: Likewise.
32686
32687 * bus/usb/ohci.c: Likewise.
32688
32689 * bus/usb/uhci.c: Likewise.
32690
32691 * bus/usb/usbhub.c: Likewise.
32692
32693 * bus/usb/usb.c: Likewise.
32694
32695 * commands/usbtest.c: Likewise.
32696
32697 * util/usb.c: Likewise.
50fb7002 32698
d64399b5 32699 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32700
32701 * configure.ac: Test for libusb presence.
50fb7002 32702
d64399b5 32703 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32704
2b40d6bb 327052009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32706
32707 * kern/mm.c: Add more comments.
32708
73a4ce81 327092009-02-08 Robert Millan <rmh@aybabtu.com>
32710
32711 Patch from Javier Martín.
32712 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32713 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32714
f821ce59 327152009-02-08 Robert Millan <rmh@aybabtu.com>
32716
32717 * fs/cpio.c: Split tar functionality to ...
32718 * fs/tar.c: ... here (new file). Update all users.
32719
aebfc4b0 327202009-02-07 Robert Millan <rmh@aybabtu.com>
32721
32722 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32723 backward-incompatible features.
32724
32725 Based on patch from Javier Martín, with some adjustments.
32726
50fb7002 327272009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32728
32729 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32730
0bb5115e 327312009-02-07 Robert Millan <rmh@aybabtu.com>
32732
32733 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32734 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32735 after the RAID stuff.
32736
38a0f8e7 327372009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32738
50fb7002 32739 Fixes problem when running vbetest command as reported by
38a0f8e7 32740 Vladimir Serbinenko <phcoder@gmail.com>.
32741
32742 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32743
3143cc1c 327442009-02-04 Felix Zielcke <fzielcke@z-51.de>
32745
32746 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32747 /dev/md/NpN style mdraid devices.
32748
9cba6fce 327492009-02-03 Felix Zielcke <fzielcke@z-51.de>
32750
32751 * util/unifont2pff.rb: Remove.
32752
e507a2c1 327532009-02-03 Felix Zielcke <fzielcke@z-51.de>
32754
32755 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32756 `#'.
32757
d2c2b4cd 327582009-02-03 Felix Zielcke <fzielcke@z-51.de>
32759
32760 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32762 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32767
b4315fb0 327682009-02-02 Christian Franke <franke@computer.org>
32769
32770 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32771
de3aa260 327722009-02-01 Felix Zielcke <fzielcke@z-51.de>
32773
7c3ff286 32774 * INSTALL: Note that we now require at least autoconf 2.59 and
32775 that LZO is optional.
de3aa260 32776
825a182b 327772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32778
32779 Base on patch on bug #24154 created by Tomas Tintera
32780 <trosos@seznam.cz>.
32781
32782 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32783
a69ef770 327842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32785
7c3ff286 32786 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32787 <bero@arklinux.org>.
32788
32789 * normal/parser.y (script_init): Add missing semicolon.
32790
6fa42fa6 327912009-01-31 Colin D Bennett <colin@gibibit.com>
32792
7c3ff286 32793 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32794 (free_menu_entry_classes): Added.
32795 (grub_normal_menu_addentry): Added class property handling.
32796 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32797 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32798
32799 * normal/menu_viewer.c: New file.
32800
32801 * normal/menu.c (run_menu_entry): Renamed to ...
32802 (grub_menu_execute_entry): ... this and made it as global.
32803 (grub_menu_run): Renamed to ...
32804 (show_text_menu): ... this and made it local.
32805 (show_text_menu): Adapt to new function names.
32806 (grub_normal_terminal_menu_viewer): New global variable.
32807
32808 * include/grub/menu.h: New file.
32809
32810 * include/grub/menu_viewer.h: New file.
32811
32812 * include/grub/normal.h: Added include to grub/menu.h.
32813 (grub_menu_entry): Moved to include/grub/menu.h.
32814 (grub_menu_entry_t): Likewise.
32815 (grub_menu): Likewise.
32816 (grub_menu_t): Likewise.
32817 (grub_normal_terminal_menu_viewer): Added.
32818 (grub_menu_execute_entry): Likewise.
32819 (grub_menu_run): Removed.
32820
32821 * DISTLIST: Added include/grub/menu.h.
32822 Added include/grub/menu_viewer.h.
32823 Added normal/menu_viewer.c.
32824
328252009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32826
32827 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32828 arglist for menutitle arguments.
32829
32830 * normal/main.c (grub_normal_menu_addentry): Likewise.
32831
32832 * normal/parser.y (menuentry): Likewise.
32833
32834 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32835
32836 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32837 (grub_script_create_cmdmenu): Likewise.
32838
32839 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32840
32841 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32842 changes.
32843
32844 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32845
32846 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32847
32848 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32849
32850 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32851
32852 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32853
32854 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32855
56192c23 328562009-01-30 Christian Franke <franke@computer.org>
32857
32858 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32859 in option help text.
32860
d72521b3 328612009-01-27 Pavel Roskin <proski@gnu.org>
32862
32863 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32864
994b5e84 328652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32866
32867 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32868
32869 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32870
32871 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32872 unregister function.
32873
6a7eab2c 328742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32875
32876 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32877
32878 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32879
32880 * util/grub-mkfont.c (usage): Fix typo.
32881
32882 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32883
1806b56e 328842009-01-26 Daniel Mierswa <impulze@impulze.org>
32885
3fb18f09 32886 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32887
336e1fb9 32888 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32889
1806b56e 32890 * kern/misc.c (grub_strcasecmp): New function.
32891 (grub_strcasecmp): Use grub_size_t instead of int for length.
32892 Fix return value.
32893 * include/grub/misc.h: Update function prototypes.
32894
580b2a0f 328952009-01-26 Robert Millan <rmh@aybabtu.com>
32896
32897 * configure.ac: Fix cross-compilation check.
ef257b36 32898
d31c24f1 328992009-01-22 Christian Franke <franke@computer.org>
32900
32901 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32902 (precision) digit string. Allow `.format2' without `format1' (width).
32903 Limit input chars for `%s' output to `format2' if specified. This is
32904 compatible with standard printf ().
32905
3138b44c 329062009-01-22 Christian Franke <franke@computer.org>
32907
32908 * disk/ata.c (grub_ata_wait_status): Replace by ...
32909 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32910 other status bits may be invalid while BSY is asserted.
32911 (grub_ata_check_ready): New function.
32912 (grub_ata_cmd): Removed.
32913 (grub_ata_wait_drq): New function.
32914 (grub_ata_strncpy): Remove inline.
32915 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32916 and error check now done by grub_ata_wait_drq ().
32917 (grub_ata_pio_write): Likewise.
32918 (grub_atapi_identify): Set DEV before check for !BSY. Use
32919 grub_ata_wait_drq () to wait for data.
32920 (grub_ata_device_initialize): Add status register check to
32921 detect missing SATA slave devices. Add debug messages.
32922 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32923 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32924 transfer loop by grub_ata_pio_write ().
32925 (grub_ata_identify): Set DEV before check for !BSY. Use
32926 grub_ata_wait_drq () to wait for data.
ef257b36 32927 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32928 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32929 read/write in one loop. Fix invalid command on write. Fix incomplete
32930 command on (size % batch) == 0. Add missing error check after write of
32931 last block. Add debug messages.
32932 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32933
59a64ef6 329342009-01-19 Christian Franke <franke@computer.org>
32935
32936 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32937 (GRUB_ATAPI_IREASON_*): Likewise.
32938 (grub_ata_pio_write): Fix timeout error return.
32939 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32940 (grub_atapi_wait_drq): New function.
32941 (grub_atapi_packet): New parameter `size'.
32942 Use grub_atapi_wait_drq () and direct write instead of
32943 grub_ata_pio_write ().
32944 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32945 reads the number of bytes requested by the device for each DRQ
32946 assertion.
32947 (grub_atapi_write): Remove old implementation, return not
32948 implemented instead.
32949
1cfe20b3 329502009-01-19 Christian Franke <franke@computer.org>
32951
32952 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32953 of 512 to calculate data size.
32954 (grub_scsi_read12): Likewise.
32955 (grub_scsi_write10): Likewise.
32956 (grub_scsi_write12): Likewise.
32957 (grub_scsi_read): Adjust size according to blocksize.
32958 Add checks for invalid blocksize and unaligned transfer.
32959
bee5fe5d 329602009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32961
32962 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32963
ef257b36 32964 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32965 width glyphs.
32966
3e643f8c 329672009-01-19 Robert Millan <rmh@aybabtu.com>
32968
32969 * config.guess: Update to latest version from config git.
32970 * config.sub: Likewise.
32971
4fa80998 329722009-01-17 Felix Zielcke <fzielcke@z-51.de>
32973
32974 * Makefile.in: Change font compilation to use new grub-mkfont instead
32975 of java version.
32976
32977 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32978 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32979 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32980 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32981 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32982 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32983 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32984 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32985 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32986
7086085b 329872009-01-16 Christian Franke <franke@computer.org>
32988
32989 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32990 (enum grub_ata_timeout_milliseconds): New enum.
32991 (grub_ata_wait_status): Add parameter milliseconds.
32992 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32993 recovery from timed-out commands.
32994 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32995 return grub_errno instead of REG_ERROR.
32996 (grub_ata_pio_write): Add parameter milliseconds.
32997 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32998 Pass milliseconds to grub_ata_wait_status () and
32999 grub_ata_pio_read ().
33000 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33001 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33002 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33003 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33004 It is not suitable for device detection, because DEV bit is ignored,
33005 the command may run too long, and not all devices set the signature
33006 properly.
33007 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33008 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33009 Fix device selection, DEV bit must be set first to address the registers
33010 of the correct device.
33011 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33012 grub_ata_pio_read/write ().
33013 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33014 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33015
4a412913 330162009-01-13 Carles Pina i Estany <carles@pina.cat>
33017
33018 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33019
7795c55e 330202009-01-13 Bean <bean123ch@gmail.com>
d913988c 33021
33022 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33023
7795c55e 330242009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33025
33026 * Makefile.in: (enable_grub_mkfont): New variable.
33027 (freetype_cflags): Likewise.
33028 (freetype_libs): Likewise.
33029
33030 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33031 (grub_mkfont_SOURCES): New variable.
33032 (grub_mkfont_CFLAGS): Likewise.
33033 (grub_mkfont_LDFLAGS): Likewise.
33034
33035 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33036 library if `--enable-grub-mkfont' is requested.
33037 (enable_grub_mkfont): New variable.
33038 (freetype_cflags): Likewise.
33039 (freetype_libs): Likewise.
33040
33041 * util/grub-mkfont.c: New file.
33042
093af1fe 330432009-01-12 Christian Franke <franke@computer.org>
33044
33045 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33046 mode check. Fix setting of compat_use[].
33047
f36cc108 330482009-01-10 Robert Millan <rmh@aybabtu.com>
33049
33050 Update a few copyright years which we forgot to do in 2008 (only for
33051 files whose changes made in 2008 were copyright-significant)
33052
33053 * Makefile.in: Add 2008 to Copyright line.
33054 * disk/ieee1275/ofdisk.c: Likewise.
33055 * disk/efi/efidisk.c: Likewise.
33056 * kern/dl.c: Likewise.
33057 * kern/sparc64/ieee1275/init.c: Likewise.
33058 * kern/mm.c: Likewise.
33059 * kern/efi/mm.c: Likewise.
33060 * boot/i386/pc/boot.S: Likewise.
33061 * genfslist.sh: Likewise.
33062 * fs/iso9660.c: Likewise.
33063 * fs/hfs.c: Likewise.
33064 * fs/jfs.c: Likewise.
33065 * fs/minix.c: Likewise.
33066 * fs/ufs.c: Likewise.
33067 * gensymlist.sh.in: Likewise.
33068 * genkernsyms.sh.in: Likewise.
33069 * include/grub/misc.h: Likewise.
33070 * include/grub/types.h: Likewise.
33071 * include/grub/symbol.h: Likewise.
33072 * include/grub/elf.h: Likewise.
33073 * include/grub/kernel.h: Likewise.
33074 * include/grub/disk.h: Likewise.
33075 * include/grub/dl.h: Likewise.
33076 * include/grub/i386/linux.h: Likewise.
33077 * include/grub/i386/pc/biosdisk.h: Likewise.
33078 * include/grub/efi/api.h: Likewise.
33079 * include/grub/efi/pe32.h: Likewise.
33080 * include/grub/util/misc.h: Likewise.
33081 * normal/execute.c: Likewise.
33082 * normal/arg.c: Likewise.
33083 * normal/completion.c: Likewise.
33084 * normal/lexer.c: Likewise.
33085 * normal/parser.y: Likewise.
33086 * normal/misc.c: Likewise.
33087 * commands/i386/pc/vbeinfo.c: Likewise.
33088 * commands/hexdump.c: Likewise.
33089 * commands/terminal.c: Likewise.
33090 * commands/ls.c: Likewise.
33091 * commands/help.c: Likewise.
33092 * partmap/pc.c: Likewise.
33093 * loader/efi/chainloader.c: Likewise.
33094 * loader/multiboot_loader.c: Likewise.
33095 * loader/i386/pc/multiboot2.c: Likewise.
33096 * term/efi/console.c: Likewise.
33097 * term/i386/pc/serial.c: Likewise.
33098 * util/lvm.c: Likewise.
33099 * util/console.c: Likewise.
33100 * util/i386/efi/grub-mkimage.c: Likewise.
33101 * util/raid.c: Likewise.
33102
7f02114b 331032009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33104
33105 * commands/videotest.c: Removed include to grub/machine/memory.h.
33106
33107 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33108 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33109 (video_mod_SOURCES): Removed.
33110 (video_mod_CFLAGS): Likewise.
33111 (video_mod_LDFLAGS): Likewise.
33112 (gfxterm_mod_SOURCES): Likewise.
33113 (gfxterm_mod_CFLAGS): Likewise.
33114 (gfxterm_mod_LDFLAGS): Likewise.
33115 (videotest_mod_SOURCES): Likewise.
33116 (videotest_mod_CFLAGS): Likewise.
33117 (videotest_mod_LDFLAGS): Likewise.
33118 (bitmap_mod_SOURCES): Likewise.
33119 (bitmap_mod_CFLAGS): Likewise.
33120 (bitmap_mod_LDFLAGS): Likewise.
33121 (tga_mod_SOURCES): Likewise.
33122 (tga_mod_CFLAGS): Likewise.
33123 (tga_mod_LDFLAGS): Likewise.
33124 (jpeg_mod_SOURCES): Likewise.
33125 (jpeg_mod_CFLAGS): Likewise.
33126 (jpeg_mod_LDFLAGS): Likewise.
33127 (png_mod_SOURCES): Likewise.
33128 (png_mod_CFLAGS): Likewise.
33129 (png_mod_LDFLAGS): Likewise.
33130
33131 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33132 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33133 (video_mod_SOURCES): Added.
33134 (video_mod_CFLAGS): Likewise.
33135 (video_mod_LDFLAGS): Likewise.
33136 (videotest_mod_SOURCES): Likewise.
33137 (videotest_mod_CFLAGS): Likewise.
33138 (videotest_mod_LDFLAGS): Likewise.
33139 (bitmap_mod_SOURCES): Likewise.
33140 (bitmap_mod_CFLAGS): Likewise.
33141 (bitmap_mod_LDFLAGS): Likewise.
33142 (tga_mod_SOURCES): Likewise.
33143 (tga_mod_CFLAGS): Likewise.
33144 (tga_mod_LDFLAGS): Likewise.
33145 (jpeg_mod_SOURCES): Likewise.
33146 (jpeg_mod_CFLAGS): Likewise.
33147 (jpeg_mod_LDFLAGS): Likewise.
33148 (png_mod_SOURCES): Likewise.
33149 (png_mod_CFLAGS): Likewise.
33150 (png_mod_LDFLAGS): Likewise.
33151 (gfxterm_mod_SOURCES): Likewise.
33152 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33153 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33154
33155 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33156 grub/machine/console.h.
33157
644fff97 331582009-01-04 Jerone Young <jerone@gmail.com>
33159
33160 Make on screen instructions clearer
33161
33162 Based on patch created by Jidanni <jidanni@jidanni.org>
33163
33164 * normal/menu.c: print clearer instructions on the screen
33165
1e901a75 331662009-01-02 Colin D Bennett <colin@gibibit.com>
33167
33168 New font engine.
34c44600 33169
1e901a75 33170 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33171 build system and fixed gfxterm.c to work with different sized fonts.
33172
33173 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33174
1e901a75 33175 * configure: Re-generated.
34c44600 33176
1e901a75 33177 * DISTLIST: Removed font/manager.c.
33178 Added font/font.c.
33179 Added font/font_cmd.c.
34c44600 33180
1e901a75 33181 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33182 compilation.
34c44600 33183
1e901a75 33184 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33185
33186 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33187
33188 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33189
1e901a75 33190 * normal/menu.c: Likewise.
34c44600 33191
1e901a75 33192 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33193 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33194
1e901a75 33195 * include/grub/font.h: Replaced with new file.
34c44600 33196
1e901a75 33197 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33198 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33199 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33200 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33201 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33202 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33203 fg_red, fg_green, fg_blue, fg_alpha.
33204 (grub_video_adapter): Removed blit_glyph.
34c44600 33205 (grub_video_blit_glyph): Removed.
33206
1e901a75 33207 * font/manager.c: Removed file.
34c44600 33208
33209 * font/font.c: New file.
33210
1e901a75 33211 * font/font_cmd.c: Likewise.
34c44600 33212
1e901a75 33213 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33214
1e901a75 33215 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33216 (grub_video_vbe_map_rgba): Likewise.
33217 (grub_video_vbe_unmap_color_int): Likewise.
33218 (grub_video_vbe_blit_glyph): Removed.
33219 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33220
1e901a75 33221 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33222 (get_pixel): Likewise.
34c44600 33223 (set_pixel): Likewise.
33224
1e901a75 33225 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33226
1e901a75 33227 * term/gfxterm.c: Adapted to new font engine.
34c44600 33228
1e901a75 33229 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33230
1e901a75 33231 * term/i386/pc/vga.c: Likewise.
34c44600 33232
1e901a75 33233 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33234
1e901a75 33235 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33236
1e901a75 33237 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33238
1e901a75 33239 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33240
1e901a75 33241 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33242
1e901a75 33243 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33244
1e901a75 33245 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33246
1e901a75 33247 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33248
1e901a75 33249 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33250
33251 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33252
1e901a75 33253 * util/grub-mkconfig_lib.in: Changed font extension.
33254
278922e8 332552008-12-28 Felix Zielcke <fzielcke@z-51.de>
33256
33257 * util/getroot.c (grub_util_get_grub_dev): Add support for
33258 /dev/md/dNNpNN style partitionable mdraid devices.
33259
3ced05cf 332602008-12-12 Alex Smith <alex@alex-smith.me.uk>
33261
33262 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33263 at a time limit of the PXE TFTP API correctly.
33264 (grub_pxefs_close): Likewise.
33265
7fd0ee30 332662008-11-29 Robert Millan <rmh@aybabtu.com>
33267
34c44600 33268 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33269 grub_ata_device_initialize() calls.
33270
34c44600 332712008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33272
33273 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33274 iteration failed.
33275 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33276
89313780 332772008-11-28 Robert Millan <rmh@aybabtu.com>
33278
33279 Fix build on powerpc-ieee1275. Based on patch created by
33280 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33281 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33282 `kern/ieee1275/mmap.c'.
33283 * include/grub/powerpc/ieee1275/memory.h: New file.
33284
15257703 33285 Provide grub-install on coreboot.
33286 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33287 (grub_install_SOURCES): New variable.
33288 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33289 usable on coreboot.
33290
9fc5388a 332912008-11-25 Felix Zielcke <fzielcke@z-51.de>
33292
33293 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33294 to `grub_term_input_t'.
33295 (grub_term_get_current_output): Change return type to
33296 `grub_term_output_t'.
33297
bc3a2f31 332982008-11-22 Robert Millan <rmh@aybabtu.com>
33299
34c44600 33300 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33301 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33302 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33303 grub_vga_text_cls().
33304
80fc88f2 33305 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33306 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33307
cbf36fd3 33308 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33309 to 0x200000 (avoids trouble with some OFW implementations, and matches
33310 with the one in Yaboot).
33311 Reported by Manoel Abranches
33312
73e8e268 333132008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33314
33315 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33316 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33317
73e8e268 33318 * util/grub-mkconfig_lib.in (grub_warn): New function.
33319 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33320 warnings, to obtain consistent formatting.
33321 * util/grub.d/00_header.in: Likewise.
33322 * util/update-grub_lib.in: Likewise.
33323
e94045a1 33324 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33325 Move comment text to `#error' stanza.
e94045a1 33326
79d29fd7 33327 Harmonize ieee1275's grub_available_iterate() with the generic
33328 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33329 build problem on i386-ieee1275):
33330 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33331 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33332 parameter `type'. Update all users of this function.
33333 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33334 `kern/ieee1275/mmap.c'.
33335 * kern/ieee1275/init.c
33336 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33337 with ...
33338 (grub_machine_mmap_iterate): ... this.
33339 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33340 return type to `grub_err_t'. Update all implementations of this
33341 function prototype.
33342 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33343 Likewise.
33344
60d6b16e 33345 Add `lsmmap' command (lists firmware-provided memory map):
33346 * commands/lsmmap.c: New file.
33347 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33348 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33349 variables.
33350 * conf/powerpc-ieee1275.rmk: Likewise.
33351 * conf/i386-coreboot.rmk: Likewise.
33352 * conf/i386-ieee1275.rmk: Likewise.
33353
ebaaf49b 333542008-11-19 Robert Millan <rmh@aybabtu.com>
33355
33356 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33357 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33358 constraints to initrd allocation (based on code from
33359 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33360 for Linux to find it.
ebaaf49b 33361
dfab719f 333622008-11-14 Robert Millan <rmh@aybabtu.com>
33363
33364 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33365 order to cope with duplicate slashes.
33366
10fc3eb9 333672008-11-14 Robert Millan <rmh@aybabtu.com>
33368
33369 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33370 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33371 don't want to mess with lower memory, because it is used in the Linux
33372 loader.
33373
33374 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33375 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33376 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33377 is in our heap (probably as a result of it being corrupted during
2f2a3442 33378 decompression). Add #error instance with comment to explain why this
33379 loader isn't currently usable on PC/BIOS.
10fc3eb9 33380
e2e07847 333812008-11-14 Robert Millan <rmh@aybabtu.com>
33382
33383 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33384 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33385
fe8e8d69 333862008-11-12 Robert Millan <rmh@aybabtu.com>
33387
33388 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33389
33390 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33391 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33392 from here ...
33393 * include/grub/i386/pc/memory.h: ... to here.
33394
976b07d0 333952008-11-12 Robert Millan <rmh@aybabtu.com>
33396
33397 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33398 split).
33399
33400 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33401 (grub_console_cur_color, grub_console_real_putchar)
33402 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33403 (grub_console_setcolorstate, grub_console_setcolor)
33404 (grub_console_getcolor): Move from here ...
33405 * include/grub/i386/vga_common.h: ... to here (new file).
33406
33407 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33408 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33409 `<grub/i386/io.h>'.
33410 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33411 `<grub/i386/vga_common.h>'.
33412
76679cd3 334132008-11-12 Robert Millan <rmh@aybabtu.com>
33414
33415 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33416 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33417 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33418 variables.
33419 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33420 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33421
33422 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33423 grub_console_init() with call to grub_vga_text_init().
33424 (grub_machine_fini): Replace call to
33425 grub_console_fini() with call to grub_vga_text_fini() and
33426 grub_at_keyboard_fini().
33427
33428 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33429 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33430 (grub_console_setcolorstate, grub_console_setcolor)
33431 (grub_console_getcolor): New function prototypes.
33432
33433 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33434 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33435 (grub_vga_text_setcursor): Static-ize.
33436 (grub_vga_text_term): New structure.
33437 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33438
33439 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33440 (grub_console_cur_color, grub_console_standard_color)
33441 (grub_console_normal_color, grub_console_highlight_color)
33442 (map_char, grub_console_putchar, grub_console_getcharwidth)
33443 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33444 (grub_console_getcolor): Move from here ...
33445 * term/i386/vga_common.c: ... to here (same function names).
33446
95b841d3 334472008-11-12 Robert Millan <rmh@aybabtu.com>
33448
33449 Use newly-added Multiboot support in coreboot.
33450
33451 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33452 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33453
33454 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33455 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33456 (codestart): Store the MBI in `startup_multiboot_info' when we're
33457 being loaded using Multiboot.
33458
33459 * kern/i386/coreboot/init.c (grub_machine_init): Move
33460 grub_at_keyboard_init() call to beginning of function (useful for
33461 debugging). Call grub_machine_mmap_init() before attempting to use
33462 grub_machine_mmap_iterate().
33463 (grub_lower_mem, grub_upper_mem): Move from here ...
33464 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33465 here (new file).
33466
33467 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33468 function prototype.
33469
761ca975 334702008-11-12 Robert Millan <rmh@aybabtu.com>
33471
33472 Fix a regression introduced by the at_keyboard.mod split. Because
33473 some terminals are default on some platforms and non-default on
33474 others, the first terminal being registered determines which is
33475 going to be default.
33476
33477 * kern/term.c (grub_term_register_input): If this is the first
33478 terminal being registered, set it as the current one.
33479 (grub_term_register_output): Likewise.
33480
33481 * term/efi/console.c (grub_console_init): Do not call
33482 grub_term_set_current_output() or grub_term_set_current_input().
33483 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33484 * term/i386/pc/console.c (grub_console_init): Likewise.
33485 (grub_console_fini): Do not call grub_term_set_current_input()
33486 (but leave grub_term_set_current_output() to restore text mode).
33487
6c529df7 334882008-11-10 Robert Millan <rmh@aybabtu.com>
33489
33490 * util/grub.d/00_header.in: Add backward compatibility check for
33491 versions of terminal.mod that don't understand `terminal_input' or
33492 `terminal_output'.
33493
132e4113 334942008-11-09 Robert Millan <rmh@aybabtu.com>
33495
33496 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33497 `terminal_input' / `terminal_output', not `terminal'.
33498
ac293d50 334992008-11-08 Robert Millan <rmh@aybabtu.com>
33500
33501 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33502 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33503
0025933a 335042008-11-08 Robert Millan <rmh@aybabtu.com>
33505
33506 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33507 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33508 members. Update all users.
33509 * util/console.c (grub_ncurses_term): Split in ...
33510 (grub_ncurses_term_input): ... this, and ...
33511 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33512 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33513
37c86336 335142008-11-08 Robert Millan <rmh@aybabtu.com>
33515
33516 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33517 (PKGDATA): Add $(pkgdata_SRCDIR).
33518 (pkglib_BUILDDIR): New variable.
33519 (pkgdata_SRCDIR): New variable.
33520 (build_env.mk): New target.
33521 (include_DATA): New variable.
33522 (install-local): Install $(include_DATA) files in $(includedir).
33523
b6c15a2d 335242008-11-07 Pavel Roskin <proski@gnu.org>
33525
d99d46f1 33526 * gendistlist.sh: Use C locale for sorting to ensure consistent
33527 output on all systems.
33528
b6c15a2d 33529 * util/grub.d/00_header.in: Remove incorrect space before
33530 "serial".
33531
c32ee8c9 335322008-11-07 Robert Millan <rmh@aybabtu.com>
33533
33534 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33535 per specification.
33536 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33537 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33538 (based on find_multi_boot1_header).
33539 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33540 using find_multi_boot2_header(), and abort if neither Multiboot or
33541 Multiboot headers were found.
33542
651c29b7 335432008-11-07 Robert Millan <rmh@aybabtu.com>
33544
33545 Modularize at_keyboard.mod:
33546
33547 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33548 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33549 (at_keyboard_mod_LDFLAGS): New variables.
33550
33551 Actual terminal split:
33552
33553 * include/grub/term.h (struct grub_term): Split in ...
33554 (struct grub_term_input): ... this, and ...
33555 (struct grub_term_output): ... this. Update all users.
33556 (grub_term_set_current): Split in ...
33557 (grub_term_set_current_input): ... this, and ...
33558 (grub_term_set_current_output): ... this.
33559 (grub_term_get_current): Split in ...
33560 (grub_term_get_current_input): ... this, and ...
33561 (grub_term_get_current_output): ... this.
33562 (grub_term_register): Split in ...
33563 (grub_term_register_input): ... this, and ...
33564 (grub_term_register_output): ... this.
33565 (grub_term_unregister): Split in ...
33566 (grub_term_unregister_input): ... this, and ...
33567 (grub_term_unregister_output): ... this.
33568 (grub_term_iterate): Split in ...
33569 (grub_term_iterate_input): ... this, and ...
33570 (grub_term_iterate_output): ... this.
33571
33572 * kern/term.c (grub_term_list): Split in ...
33573 (grub_term_list_input): ... this, and ...
33574 (grub_term_list_output): ... this. Update all users.
33575 (grub_cur_term): Split in ...
33576 (grub_cur_term_input): ... this, and ...
33577 (grub_cur_term_output): ... this. Update all users.
33578 (grub_term_set_current): Split in ...
33579 (grub_term_set_current_input): ... this, and ...
33580 (grub_term_set_current_output): ... this.
33581 (grub_term_get_current): Split in ...
33582 (grub_term_get_current_input): ... this, and ...
33583 (grub_term_get_current_output): ... this.
33584 (grub_term_register): Split in ...
33585 (grub_term_register_input): ... this, and ...
33586 (grub_term_register_output): ... this.
33587 (grub_term_unregister): Split in ...
33588 (grub_term_unregister_input): ... this, and ...
33589 (grub_term_unregister_output): ... this.
33590 (grub_term_iterate): Split in ...
33591 (grub_term_iterate_input): ... this, and ...
33592 (grub_term_iterate_output): ... this.
33593
33594 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33595 a check for input and one for output (and only attempt to get keys
33596 from user when input works).
33597
33598 * util/grub-probe.c (grub_term_get_current): Split in ...
33599 (grub_term_get_current_input): ... this, and ...
33600 (grub_term_get_current_output): ... this.
33601 * util/grub-fstest.c: Likewise.
33602 * util/i386/pc/grub-setup.c: Likewise.
33603 * util/grub-editenv.c: Likewise.
33604
33605 Portability adjustments:
33606
33607 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33608 `term/i386/pc/at_keyboard.c'.
33609 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33610 grub_keyboard_controller_init() (now handled by terminal .init).
33611 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33612 grub_at_keyboard_init().
33613 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33614 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33615 at_keyboard.mod via input terminal interface).
33616 * include/grub/i386/coreboot/console.h: Convert into a stub for
33617 `<grub/i386/pc/console.h>'.
33618
33619 Migrate full terminals to new API:
33620
33621 * term/efi/console.c (grub_console_term): Split into ...
33622 (grub_console_term_input): ... this, and ...
33623 (grub_console_term_output): ... this. Update all users.
33624 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33625 (grub_ofconsole_init): Split into ...
33626 (grub_ofconsole_init_input): ... this, and ...
33627 (grub_ofconsole_init_output): ... this.
33628 (grub_ofconsole_term): Split into ...
33629 (grub_ofconsole_term_input): ... this, and ...
33630 (grub_ofconsole_term_output): ... this. Update all users.
33631 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33632 (grub_serial_term_input): ... this, and ...
33633 (grub_serial_term_output): ... this. Update all users.
33634 * term/i386/pc/console.c (grub_console_term): Split into ...
33635 (grub_console_term_input): ... this, and ...
33636 (grub_console_term_output): ... this. Update all users.
33637 (grub_console_term_input): Only enable it on PC/BIOS platform.
33638 (grub_console_init): Remove grub_keyboard_controller_init() call.
33639
33640 Migrate input terminals to new API:
33641
33642 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33643 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33644 i386-specific anyway).
33645 (grub_console_checkkey): Rename to ...
33646 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33647 users.
33648 (grub_keyboard_controller_orig): New variable.
33649 (grub_console_getkey): Rename to ...
33650 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33651 users.
33652 (grub_keyboard_controller_init): Static-ize. Save original
33653 controller value so that it can be restored ...
33654 (grub_keyboard_controller_fini): ... here (new function).
33655 (grub_at_keyboard_term): New structure.
33656 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33657 functions.
33658
33659 Migrate output terminals to new API:
33660
33661 * term/i386/pc/vga.c (grub_vga_term): Change type to
33662 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33663 members. Update all users.
33664 * term/gfxterm.c (grub_video_term): Change type to
33665 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33666 members. Update all users.
33667 * include/grub/i386/pc/console.h (grub_console_checkkey)
33668 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33669 etc).
33670
33671 Migrate `terminal' command and userland tools to new API:
33672
33673 * commands/terminal.c (grub_cmd_terminal): Split into ...
33674 (grub_cmd_terminal_input): ... this, and ...
33675 (grub_cmd_terminal_output): ... this.
33676 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33677 `terminal_input' and `terminal_output'.
33678 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33679 `terminal_input' / `terminal_output' API.
33680 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33681 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33682 provided ${GRUB_TERMINAL}, convert it).
33683
96e5d876 336842008-11-04 Robert Millan <rmh@aybabtu.com>
33685
33686 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33687 for FreeBSD.
33688 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33689
556f3775 336902008-11-03 Bean <bean123ch@gmail.com>
33691
33692 * kern/elf.c (grub_elf32_load): Revert to previous code.
33693 (grub_elf64_load): Likewise.
33694
33695 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33696
926b9823 336972008-11-01 Robert Millan <rmh@aybabtu.com>
33698
33699 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33700 (TARGET_CPPFLAGS): Likewise.
33701 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33702
1432e958 337032008-11-01 Carles Pina i Estany <carles@pina.cat>
33704
33705 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33706
dba3f844 337072008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33708
33709 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33710 addition of objects until the code is not going to be able to fail.
33711
dba3f844 337122008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33713
33714 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33715 (add a missing NULL check, and correct them by moving the pointer
33716 operations after the actual check).
33717
7ab28c21 337182008-10-29 Robert Millan <rmh@aybabtu.com>
33719
33720 * util/i386/pc/grub-install.in: Handle empty string as output from
33721 make_system_path_relative_to_its_root().
33722
1b7748eb 337232008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33724
33725 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33726 circular metadata worst case scenario. If the metadata is circular
33727 then copy the wrap in place.
33728 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33729 project lib/format_text/layout.h
33730 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33731
c9618ab2 337322008-10-03 Felix Zielcke <fzielcke@z-51.de>
33733
7a36edca 33734 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33735
bf981c62 337362008-10-03 Felix Zielcke <fzielcke@z-51.de>
33737
33738 * util/update-grub_lib.in: Mention filename in warning message.
33739
6d994591 337402008-09-29 Felix Zielcke <fzielcke@z-51.de>
33741
33742 * NEWS: Update for rename of update-grub to grub-mkconfig.
33743
18ade780 337442008-09-29 Felix Zielcke <fzielcke@z-51.de>
33745
33746 * util/update-grub_lib.in: Copy to ...
33747 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33748 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33749 * util/update-grub.in: Rename to ...
33750 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33751 option. Add `--output' option to allow users to specify the generated
33752 configuration file. Default to stdout.
33753 (update_grub_dir): Rename to ...
33754 (grub_mkconfig_dir): ... this.
33755 (grub_cfg): Default to an empty string.
33756 * conf/common.rmk (update-grub): Rename to ...
33757 (grub-mkconfig): ... this.
33758 (update-grub_lib): Copy to ...
33759 (grub-mkconfig_lib): ... this.
33760 (update-grub_SCRIPTS): Copy to ...
33761 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33762 (update-grub_DATA): Rename to ...
33763 (grub-mkconfig_DATA): ... this.
33764
556ce6ac 337652008-09-28 Robert Millan <rmh@aybabtu.com>
33766
33767 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33768 to `modified'. Add the real `created' field.
33769 (grub_iso9660_uuid): Use `modified' rather than `created' for
33770 constructing the UUID.
33771
337722008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33773
33774 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33775 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33776
92274e85 337772008-09-28 Bean <bean123ch@gmail.com>
33778
33779 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33780 Thanks to Christian Franke for finding this bug.
33781
add6f17a 337822008-09-25 Robert Millan <rmh@aybabtu.com>
33783
33784 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33785 instances of grub_util_get_disk_name() (see previous commit).
33786
d2a367b8 337872008-09-25 Robert Millan <rmh@aybabtu.com>
33788
33789 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33790 `util/i386/get_disk_name.c'.
33791 * conf/i386-efi.rmk: Likewise.
33792 * conf/x86_64-efi.rmk: Likewise.
33793 * conf/i386-coreboot.rmk: Likewise.
33794 * conf/i386-ieee1275.rmk: Likewise.
33795 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33796 `util/ieee1275/get_disk_name.c'.
33797 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33798 * util/ieee1275/get_disk_name.c: Remove file.
33799 * util/i386/get_disk_name.c: Remove file.
33800 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33801 "hd%d" for device.map entries, rather than using
33802 grub_util_get_disk_name().
33803
81a06771 338042008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33805
33806 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33807 warning.
33808 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33809
5a004279 338102008-09-24 Carles Pina i Estany <carles@pina.cat>
33811
33812 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33813 Changed to 0x5100.
33814 (GRUB_TERM_PPAGE): Changed to 0x4900.
33815
397093d3 338162008-09-24 Robert Millan <rmh@aybabtu.com>
33817
33818 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33819 macros (they were i386-pc specific).
33820 * include/grub/sparc64/ieee1275/console.h: Likewise.
33821 * include/grub/efi/console.h: Likewise.
33822
a91b6c7c 338232008-09-22 Bean <bean123ch@gmail.com>
33824
33825 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33826 resident and in attribute list.
33827
33828 * include/grub/ntfs.h (BMP_LEN): Removed.
33829
c40fd116 338302008-09-22 Bean <bean123ch@gmail.com>
33831
81a06771 33832 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33833 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33834
33835 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33836 error occurs, as grub_disk_open will call grub_disk_close, which will
33837 call p->close (scsi).
33838
81a06771 338392008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33840
33841 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33842 (AC_PREREQ): Bumped to 2.59.
33843 (AC_TRY_COMPILE): Replace obsolete macro with ...
33844 (AC_COMPILE_IFELSE): ... this.
33845 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33846 (AC_LINK_IFELSE): ... this.
33847
5dc43410 338482008-09-21 Felix Zielcke <fzielcke@z-51.de>
33849
33850 * autogen.sh: Add a call to `gendistlist.sh'.
33851
9035dce4 338522008-09-19 Christian Franke <franke@computer.org>
33853
33854 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33855 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33856 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33857 Export __enable_execute_stack() to modules.
33858 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33859 New function.
33860
7fd75377 338612008-09-09 Felix Zielcke <fzielcke@z-51.de>
33862
040030b3 33863 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33864 Sort the list.
33865
338662008-09-09 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33869 #include <grub/util/hostdisk.h>.
33870
89d5ffcf 338712008-09-08 Robert Millan <rmh@aybabtu.com>
33872
33873 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33874 segments when their filesz is zero (grub_file_read() interprets
81a06771 33875 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33876 Use `lowest_segment' rather than 0 for calculating the current
33877 segment load address.
33878
40da438f 338792008-09-08 Robert Millan <rmh@aybabtu.com>
33880
33881 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33882 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33883 clobbered useful information.
33884
ddbf5556 338852008-09-08 Robert Millan <rmh@aybabtu.com>
33886
33887 * include/grub/util/biosdisk.h: Move to ...
33888 * include/grub/util/hostdisk.h: ... here. Update all users.
33889 * util/biosdisk.c: Move to ...
33890 * util/hostdisk.c: ... here. Update all users.
33891
783d0f48 338922008-09-07 Robert Millan <rmh@aybabtu.com>
33893
33894 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33895 variables.
33896 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33897 and length can be stored directly in the `mbi->mmap_addr' and
33898 `mbi->mmap_length' struct fields.
33899
548e2ea5 339002008-09-07 Robert Millan <rmh@aybabtu.com>
33901
33902 * conf/i386.rmk: New file. Provides declaration for building
33903 `cpuid.mod'.
33904 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33905 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33906 variables.
33907 Include `conf/i386.mk'.
33908 * conf/i386-efi.rmk: Likewise.
33909 * conf/x86_64-efi.rmk: Likewise.
33910 * conf/i386-coreboot.rmk: Likewise.
33911 * conf/i386-ieee1275.rmk: Likewise.
33912
0ea85a37 339132008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33914
33915 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33916 Adds optimization support for BGR based modes.
33917
33918 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33919 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33920 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33921 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33922 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33923 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33924 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33925 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33926 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33927 (grub_video_i386_vbeblit_index_index): Likewise.
33928 (grub_video_i386_vbeblit_replace_directN): Added.
33929 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33930 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33931 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33932 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33933 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33934 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33935 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33936 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33937 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33938 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33939 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33940 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33941 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33942
33943 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33944 (grub_video_i386_vbefill_R8G8B8): Likewise.
33945 (grub_video_i386_vbefill_index): Likewise.
33946 (grub_video_i386_vbefill_direct32): Added.
33947 (grub_video_i386_vbefill_direct24): Likewise.
33948 (grub_video_i386_vbefill_direct16): Likewise.
33949 (grub_video_i386_vbefill_direct8): Likewise.
33950
81a06771 33951 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33952 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33953 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33954 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33955 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33956 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33957
0ea85a37 33958 * video/video.c (grub_video_get_blit_format): Updated to use new
33959 blit formats. Added handling for 16 bit color modes.
81a06771 33960
33961 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33962 fillers.
33963 (common_blitter): Updated to use new blitters.
33964
33965 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33966 Removed.
33967 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33968 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33970 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33971 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33972 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33974 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33975 (grub_video_i386_vbeblit_index_index): Likewise.
33976 (grub_video_i386_vbeblit_replace_directN): Added.
33977 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33978 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33979 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33980 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33981 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33982 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33983 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33984 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33985 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33986 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33987 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33988 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33989 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33990
0ea85a37 33991 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33992 (grub_video_i386_vbefill_R8G8B8): Likewise.
33993 (grub_video_i386_vbefill_index): Likewise.
33994 (grub_video_i386_vbefill_direct32): Added.
33995 (grub_video_i386_vbefill_direct24): Likewise.
33996 (grub_video_i386_vbefill_direct16): Likewise.
33997 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33998
0ea85a37 33999 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34000 types.
81a06771 34001
0ea85a37 34002 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34003 types.
81a06771 34004
0ea85a37 34005 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34006 blitter types.
81a06771 34007
0ea85a37 34008 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34009 types.
34010
e8a83df6 340112008-09-06 Felix Zielcke <fzielcke@z-51.de>
34012
34013 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34014 RAID level 1.
34015
6bcd8ee5 340162008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34017
6bcd8ee5 34018 * fs/iso9660.c (grub_iso9660_date): New structure.
34019 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34020 (grub_iso9660_uuid): New function.
c375ae58 34021
59261157 340222008-09-05 Bean <bean123ch@gmail.com>
34023
34024 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34025
34026 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34027 insensitive bit for names in Win32 and Win32 & DOS namespace.
34028
34029 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34030
34031 * include/grub/types.h (LONG_MAX): Likewise.
34032
58b6645a 340332008-09-04 Felix Zielcke <fzielcke@z-51.de>
34034
4ee55921 34035 * util/getroot.c: Include <config.h>.
34036 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34037 add support for /dev/md/N devices and handle LVM double dash escaping.
34038
340392008-09-04 Felix Zielcke <fzielcke@z-51.de>
34040
34041 * config.guess: Update to latest version from config git.
34042 * config.sub: Likewise.
58b6645a 34043
9124f65d 340442008-09-03 Robert Millan <rmh@aybabtu.com>
34045
34046 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34047 `disk->total_sectors'.
34048
81a06771 340492008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34050
34051 * include/grub/normal.h: Fixed incorrect comment for
34052 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34053
81a06771 340542008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34055
34056 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34057 values with defines.
34058
34059 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34060 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34061 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34062 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34063 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34064 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34065 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34066 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34067 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34068 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34069 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34070 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34071 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34072 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34073 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34074 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34075 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34076 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34077 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34078
93d5cbf8 340792008-08-31 Robert Millan <rmh@aybabtu.com>
34080
34081 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34082 declaration.
34083 (grub_multiboot): Fix a few warnings.
34084
21751d50 340852008-08-31 Robert Millan <rmh@aybabtu.com>
34086
34087 * loader/i386/pc/multiboot.c: Update comment not to say that
34088 boot_device support is unimplemented.
34089
e27a75c5 340902008-08-31 Robert Millan <rmh@aybabtu.com>
34091
34092 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34093 or memory map support are unimplemented.
34094
81a06771 340952008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34096
34097 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34098
81a06771 340992008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34100
34101 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34102 total video memory in 'vbeinfo' output; show color format details for
34103 each video mode.
34104
7c5d8d95 341052008-08-30 Pavel Roskin <proski@gnu.org>
34106
34107 * util/genmoddep.c: Remove for real this time.
34108 * DISTLIST: Remove util/genmoddep.c.
34109
4cebd25a 341102008-08-30 Robert Millan <rmh@aybabtu.com>
34111
34112 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34113 as required by Multiboot spec (it was already 4-byte aligned, but
34114 only by chance).
34115
b497a269 341162008-08-29 Pavel Roskin <proski@gnu.org>
34117
e3925185 34118 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34119 * kern/powerpc/ieee1275/startup.S: ... this.
34120 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34121 * DISTLIST: Likewise.
34122
b497a269 34123 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34124 grub/cpu/kernel.h. Add start label for consistency with other
34125 platforms. Add grub_prefix immediately after start. Add jump
34126 to the code after grub_prefix.
34127 * include/grub/powerpc/kernel.h: Provide valid values for
34128 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34129
6e5a42fe 341302008-08-29 Bean <bean123ch@gmail.com>
34131
34132 * configure.ac: Change host_os to cygwin for mingw.
34133 (asprintf): New check for function.
34134
34135 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34136 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34137
34138 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34139 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34140 sync, sleep and grub_util_get_disk_size for mingw.
34141
34142 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34143 to get size in mingw.
34144 (open_device): Use flag O_BINARY if it's defined.
34145 (find_root_device): Add dummy code for mingw.
34146
34147 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34148 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34149 (get_scsi_disk_name): Return 0 for mingw.
34150
34151 * util/hostfs.c: #include <grub/util/misc.h>.
34152 (grub_hostfs_open): Use "rb" flag to open file, use
34153 grub_util_get_disk_size to get disk size for mingw.
34154
34155 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34156 (asprintf): New function if HAVE_ASPRINTF is not set.
34157 (sync): New function for mingw.
34158 (sleep): Likewise.
34159 (grub_util_get_disk_size): Likewise.
34160
ab3f2673 341612008-08-28 Pavel Roskin <proski@gnu.org>
34162
34163 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34164 kern/time.c.
34165
1c282483 341662008-08-28 Robert Millan <rmh@aybabtu.com>
34167
34168 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34169
678e849c 341702008-08-28 Robert Millan <rmh@aybabtu.com>
34171
34172 Change find_grub_drive() syntax so it doesn't prevent it from
34173 detecting NULL names as errors.
34174
34175 * util/biosdisk.c (find_grub_drive): Move free slot search code
34176 from here ...
34177 (find_free_slot): ... to here.
34178 (read_device_map): Use find_free_slot() to search for free slots.
34179
965c75ca 341802008-08-27 Marco Gerards <marco@gnu.org>
34181
34182 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34183 (scsi_mod_SOURCES): New variable.
34184 (scsi_mod_CFLAGS): Likewise
34185 (scsi_mod_LDFLAGS): Likewise.
34186
34187 * disk/scsi.c: New file.
34188
34189 * include/grub/scsi.h: Likewise.
34190
34191 * include/grub/scsicmd.h: Likewise.
34192
34193 * disk/ata.c: Include <grub/scsi.h>.
34194 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34195 instead.
34196 (grub_ata_iterate): Skip ATAPI devices.
34197 (grub_ata_open): Only handle ATAPI devices.
34198 (struct grub_atapi_read): Removed.
34199 (grub_atapi_readsector): Likewise.
34200 (grub_ata_read): No longer handle ATAPI devices.
34201 (grub_ata_write): Likewise.
34202 (grub_atapi_iterate): New function.
34203 (grub_atapi_read): Likewise.
34204 (grub_atapi_write): Likewise.
34205 (grub_atapi_open): Likewise.
34206 (grub_atapi_close): Likewise.
34207 (grub_atapi_dev): New variable.
34208 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34209 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34210
34211 * include/grub/disk.h (enum grub_disk_dev_id): Add
34212 `GRUB_DISK_DEVICE_SCSI_ID'.
34213
c07ae501 342142008-08-26 Robert Millan <rmh@aybabtu.com>
34215
34216 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34217 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34218 descriptive.
34219
5ed20adc 342202008-08-23 Bean <bean123ch@gmail.com>
34221
34222 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34223 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34224 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34225 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34226 dm_nv.mod.
34227 (raid5rec_mod_SOURCES): New macro.
34228 (raid5rec_mod_CFLAGS): Likewise.
34229 (raid5rec_mod_LDFLAGS): Likewise.
34230 (raid6rec_mod_SOURCES): Likewise.
34231 (raid6rec_mod_CFLAGS): Likewise.
34232 (raid6rec_mod_LDFLAGS): Likewise.
34233 (mdraid_mod_SOURCES): Likewise.
34234 (mdraid_mod_CFLAGS): Likewise.
34235 (mdraid_mod_LDFLAGS): Likewise.
34236 (dm_nv_mod_SOURCES): Likewise.
34237 (dm_nv_mod_CFLAGS): Likewise.
34238 (dm_nv_mod_LDFLAGS): Likewise.
34239
34240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34241 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34242 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34243
34244 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34245 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34246
34247 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34248
34249 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34250
34251 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34252
34253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34254
34255 * disk/raid5_recover.c: New file.
34256
34257 * disk/raid6_recover.c: Likewise.
34258
34259 * disk/mdraid_linux.c: Likewise.
34260
34261 * disk/dmraid_nvidia.c: Likewise.
34262
34263 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34264 ULONG_MAX.
34265
34266 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34267 calculate the size of raid device.
34268 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34269 different layout of raid5.
34270 (grub_raid_scan_device): Remove code specific to mdraid.
34271 (grub_raid_list): New variable.
34272 (free_array): New function.
34273 (grub_raid_register): Likewise.
34274 (grub_raid_unregister): Likewise.
34275 (grub_raid_rescan): Likewise.
34276 (GRUB_MOD_INIT): Don't iterate device here.
34277 (GRUB_MOD_FINI): Use free_array to release resource.
34278
34279 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34280 (grub_raid5_recover_func_t): New function variable type.
34281 (grub_raid6_recover_func_t): Likewise.
34282 (grub_raid5_recover_func): New variable.
34283 (grub_raid6_recover_func): Likewise.
34284 (grub_raid_register): New function.
34285 (grub_raid_unregister): Likewise.
34286 (grub_raid_rescan): Likewise.
34287 (grub_raid_block_xor): Likewise.
34288
34289 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34290 (CMD_CRC): New macro.
34291 (part): Removed.
34292 (read_file): Handle device as well as file.
34293 (cmd_crc): New function.
34294 (fstest): Handle multiple disks.
34295 (options): Remove part, raw and long, add root and diskcount.
34296 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34297 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34298 add handling for the new options, support multiple disks.
34299
34300 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34301
29c18915 343022008-08-23 Bean <bean123ch@gmail.com>
34303
34304 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34305
34306 * genfslist.sh: Ignore kernel.mod.
34307
34308 * genpartmaplist.sh: Likewise.
34309
8415f261 343102008-08-23 Robert Millan <rmh@aybabtu.com>
34311
34312 * util/getroot.c (find_root_device): Skip anything that starts with
34313 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34314
d5a7dc5b 343152008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34316
d5a7dc5b 34317 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34318 * util/grub.d/00_header.in: Allow the administrator to change default
34319 gfxmode via ${GRUB_GFXMODE}.
34320
380cfbb4 343212008-08-21 Felix Zielcke <fzielcke@z-51.de>
34322
34323 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34324
c9baafe7 343252008-08-21 Robert Millan <rmh@aybabtu.com>
34326
34327 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34328 loader.
34329 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34330 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34331
e290bef2 343322008-08-20 Carles Pina i Estany <carles@pina.cat>
34333
34334 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34335 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34336
f9dbfc96 343372008-08-19 Robert Millan <rmh@aybabtu.com>
34338
34339 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34340 (struct grub_virtual_screen): Remove `cursor_color'.
34341 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34342 initialization.
34343 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34344
dd6bd6ab 343452008-08-18 Robert Millan <rmh@aybabtu.com>
34346
34347 Unify (identical) linux_normal.c files.
34348 * loader/i386/efi/linux_normal.c: Move from here ...
34349 * loader/linux_normal.c: ... to here. Update all users.
34350 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34351 * loader/i386/ieee1275/linux_normal.c: Likewise.
34352
7f42f83e 343532008-08-18 Robert Millan <rmh@aybabtu.com>
34354
34355 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34356 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34357 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34358 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34359 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34360 New macros.
34361 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34362 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34363 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34364 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34365 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34366 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34367 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34368 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34369 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34370 portably using grub_getxy().
34371 Replace `-EFI' with `-bzImage' in boot message.
34372
38487ddb 343732008-08-17 Robert Millan <rmh@aybabtu.com>
34374
34375 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34376
deceb3ec 343772008-08-17 Robert Millan <rmh@aybabtu.com>
34378
34379 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34380
34381 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34382 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34383 (grub_machine_mmap_iterate): New function declaration.
34384 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34385 structure.
34386 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34387 macros.
34388
34389 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34390 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34391 Move e820 parsing from here ...
34392 * kern/i386/pc/mmap.c: New file.
34393 (grub_machine_mmap_iterate): ... to here.
34394
34395 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34396 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34397 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34398 (grub_available_iterate): Redeclare to return `void', and redeclare
34399 its hook to use grub_uint64_t as addr and size parameters, and rename
34400 to ...
34401 (grub_machine_mmap_iterate): ... this. Update all users.
34402
34403 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34404 to make it more readable. Rename to ...
34405 (grub_machine_mmap_iterate): ... this.
34406
34407 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34408 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34409 (grub_multiboot): Allocate an extra region after the payload, and fill
34410 it with a Multiboot memory map. Adjust a.out loader to calculate size
34411 with the extra space.
34412 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34413 with the extra space.
34414
f8aa0f43 344152008-08-17 Carles Pina i Estany <carles@pina.cat>
34416
9807deb9 34417 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34418
605f5bb6 344192008-08-17 Felix Zielcke <fzielcke@z-51.de>
34420
34421 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34422 mdate-sh to the list `find' searches for.
34423 * DISTLIST: Regenerated.
34424
210db6c6 344252008-08-16 Felix Zielcke <fzielcke@z-51.de>
34426
34427 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34428 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34429 genmoddep.awk, gensymlist.sh.in.
34430 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34431 * DISTLIST: Regenerated.
48cdbfd4 34432 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34433
1082b929 344342008-08-16 Robert Millan <rmh@aybabtu.com>
34435
34436 * disk/raid.c (grub_raid_init): Handle/report errors set by
34437 grub_device_iterate().
34438 * disk/lvm.c (grub_lvm_init): Likewise.
34439
42ce5170 344402008-08-15 Bean <bean123ch@gmail.com>
34441
34442 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34443 and datehook.mod.
34444 (datetime_mod_SOURCES): New macro.
34445 (datetime_mod_CFLAGS): Likewise.
34446 (datetime_mod_LDFLAGS): Likewise.
34447 (date_mod_SOURCES): Likewise.
34448 (date_mod_CFLAGS): Likewise.
34449 (date_mod_LDFLAGS): Likewise.
34450 (datehook_mod_SOURCES): Likewise.
34451 (datehook_mod_CFLAGS): Likewise.
34452 (datehook_mod_LDFLAGS): Likewise.
34453
34454 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34455 and datehook.mod.
34456 (datetime_mod_SOURCES): New macro.
34457 (datetime_mod_CFLAGS): Likewise.
34458 (datetime_mod_LDFLAGS): Likewise.
34459 (date_mod_SOURCES): Likewise.
34460 (date_mod_CFLAGS): Likewise.
34461 (date_mod_LDFLAGS): Likewise.
34462 (datehook_mod_SOURCES): Likewise.
34463 (datehook_mod_CFLAGS): Likewise.
34464 (datehook_mod_LDFLAGS): Likewise.
34465
34466 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34467 and datehook.mod.
34468 (datetime_mod_SOURCES): New macro.
34469 (datetime_mod_CFLAGS): Likewise.
34470 (datetime_mod_LDFLAGS): Likewise.
34471 (date_mod_SOURCES): Likewise.
34472 (date_mod_CFLAGS): Likewise.
34473 (date_mod_LDFLAGS): Likewise.
34474 (datehook_mod_SOURCES): Likewise.
34475 (datehook_mod_CFLAGS): Likewise.
34476 (datehook_mod_LDFLAGS): Likewise.
34477
34478 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34479 and datehook.mod.
34480 (datetime_mod_SOURCES): New macro.
34481 (datetime_mod_CFLAGS): Likewise.
34482 (datetime_mod_LDFLAGS): Likewise.
34483 (date_mod_SOURCES): Likewise.
34484 (date_mod_CFLAGS): Likewise.
34485 (date_mod_LDFLAGS): Likewise.
34486 (datehook_mod_SOURCES): Likewise.
34487 (datehook_mod_CFLAGS): Likewise.
34488 (datehook_mod_LDFLAGS): Likewise.
34489
34490 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34491 and datehook.mod.
34492 (datetime_mod_SOURCES): New macro.
34493 (datetime_mod_CFLAGS): Likewise.
34494 (datetime_mod_LDFLAGS): Likewise.
34495 (date_mod_SOURCES): Likewise.
34496 (date_mod_CFLAGS): Likewise.
34497 (date_mod_LDFLAGS): Likewise.
34498 (datehook_mod_SOURCES): Likewise.
34499 (datehook_mod_CFLAGS): Likewise.
34500 (datehook_mod_LDFLAGS): Likewise.
34501
34502 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34503
34504 * commands/date.c: New file.
34505
34506 * hook/datehook.c: Likewise.
34507
34508 * include/grub/lib/datetime.h: Likewise.
34509
34510 * include/grub/i386/cmos.h: Likewise.
34511
34512 * lib/datetime.c: Likewise.
34513
34514 * lib/i386/datetime.c: Likewise.
34515
34516 * lib/efi/datetime.c: Likewise.
34517
0e9242da 345182008-08-14 Robert Millan <rmh@aybabtu.com>
34519
34520 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34521 (grub_mkelfimage_SOURCES): New variable.
34522 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34523
34524 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34525 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34526 * conf/powerpc-ieee1275.rmk: Likewise.
34527 * conf/i386-ieee1275.rmk: Likewise.
34528
34529 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34530 * kern/i386/coreboot/init.c: Likewise.
34531
34532 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34533 with `<grub/cpu/kernel.h>'.
34534 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34535 to ...
34536 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34537 * kern/i386/coreboot/startup.S: Likewise.
34538
34539 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34540 (GRUB_MOD_GAP): Remove.
34541 * include/grub/powerpc/kernel.h: New file.
34542 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34543 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34544 * include/grub/i386/kernel.h: New file.
34545 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34546 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34547 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34548
34549 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34550 `grub-mkelfimage'.
34551 Use --directory when invoking grub_mkimage.
34552
34553 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34554 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34555 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34556 and GRUB_KERNEL_CPU_PREFIX.
34557
b86408f8 345582008-08-14 Felix Zielcke <fzielcke@z-51.de>
34559
d5e619ca 34560 * include/grub/err.h (grub_err_printf): New function prototype.
34561 * util/misc.c (grub_err_printf): New function.
34562 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34563 grub_printf.
34564 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34565
7161f0e0 345662008-08-13 Robert Millan <rmh@aybabtu.com>
34567
34568 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34569
a1967522 345702008-08-13 Robert Millan <rmh@aybabtu.com>
34571
34572 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34573 boot entry.
34574
371458b5 345752008-08-12 Robert Millan <rmh@aybabtu.com>
34576
34577 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34578 of the relocation code from here ...
34579 (grub_multiboot): ... to here.
34580 (forward_relocator, backward_relocator): Move from here ...
34581 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34582 (grub_multiboot_backward_relocator): ... to here.
34583 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34584 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34585 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34586 (grub_multiboot_forward_relocator_end)
34587 (grub_multiboot_backward_relocator)
34588 (grub_multiboot_backward_relocator_end): New variables.
34589
05f9452b 345902008-08-12 Bean <bean123ch@gmail.com>
34591
34592 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34593
20024ab0 345942008-08-11 Robert Millan <rmh@aybabtu.com>
34595
34596 * kern/i386/linuxbios/startup.S: Move from here ...
34597 * kern/i386/coreboot/startup.S: ... to here.
34598
34599 * kern/i386/linuxbios/init.c: Move from here ...
34600 * kern/i386/coreboot/init.c: ... to here.
34601
34602 * kern/i386/linuxbios/table.c: Move from here ...
34603 * kern/i386/coreboot/mmap.c: ... to here.
34604
34605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34606
e352e9cd 346072008-08-11 Robert Millan <rmh@aybabtu.com>
34608
34609 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34610 errors. Leave it to the upper layer to handle them.
34611
2d05bc6a 346122008-08-09 Christian Franke <franke@computer.org>
34613
34614 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34615 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34616 Install `grub.d/10_windows' only on Cygwin.
34617 * configure.ac: Add subst of `target_os'.
34618 Check `target_os' also before setting TARGET_OBJ2ELF.
34619 Add `--enable-grub-pe2elf'.
34620
042bd419 346212008-08-08 Robert Millan <rmh@aybabtu.com>
34622
34623 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34624 (grub_last_time): Change type to grub_uint64_t.
34625 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34626 (grub_disk_close): Likewise.
34627
34628 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34629 (run_menu): Migrate code from to using grub_get_time_ms().
34630
34631 * util/misc.c (grub_get_time_ms): New function.
34632
7f280db5 346332008-08-08 Marco Gerards <marco@gnu.org>
34634
34635 * disk/ata.c (grub_ata_regget): Change return type to
34636 `grub_uint8_t'.
34637 (grub_ata_regget2): Likewise.
34638 (grub_ata_wait_status): New function.
34639 (grub_ata_wait_busy): Removed function, updated all users to use
34640 `grub_ata_wait_status'.
34641 (grub_ata_wait_drq): Likewise.
34642 (grub_ata_cmd): New function.
34643 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34644 error handling.
34645 (grub_ata_pio_write): Add error handling.
34646 (grub_atapi_identify): Likewise.
34647 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34648 handling.
34649 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34650 handling. Actually use the detected registers. Reorder the
34651 detection logic such that it is easier to read.
34652 (grub_ata_pciinit): Do not assign the same ID to each controller.
34653 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34654 handling.
34655 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34656
34657 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34658
1fbc5e66 346592008-08-08 Marco Gerards <marco@gnu.org>
34660
34661 * NEWS: Update.
34662
819ce6c0 346632008-08-07 Bean <bean123ch@gmail.com>
34664
34665 * include/grub/x86_64/pci.h: New file.
34666
5c41d44d 346672008-08-07 Christian Franke <franke@computer.org>
34668
34669 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34670 (TIMER2_GATE): Likewise.
34671 (grub_pit_wait): Add enable/disable of the timer2 gate
34672 bit of port 0x61. This fixes a possible infinite loop.
34673
5ebc275d 346742008-08-07 Bean <bean123ch@gmail.com>
34675
34676 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34677 kern/i386/tsc.c and kern/i386/pit.c.
34678
34679 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34680 x86_64 platform.
34681
34682 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34683 <grub/i386/tsc.h>.
34684
34685 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34686
e383b3d0 346872008-08-07 Bean <bean123ch@gmail.com>
34688
34689 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34690
34691 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34692
34693 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34694 multiple inclusion. Add #include <grub/types.h>.
34695
1cbb58ac 346962008-08-06 Christian Franke <franke@computer.org>
34697
34698 * conf/common.rmk: Build and install `10_windows'.
34699 * util/grub.d/10_windows.in: New script.
34700
337f5a1e 347012008-08-06 Pavel Roskin <proski@gnu.org>
34702
34703 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34704
057bc4ac 347052008-08-06 Robert Millan <rmh@aybabtu.com>
34706
34707 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34708 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34709
2b99f123 347102008-08-06 Bean <bean123ch@gmail.com>
34711
34712 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34713 (grub_pxefs_fs_int): Remove dummy definition.
34714 (grub_pxefs_open): Use data->block_size to store the current block
34715 size setting.
34716 (grub_pxefs_read): Use block size stored in data->block_size. As the
34717 value of grub_pxe_blksize can be changed after the file is opened.
34718
9f0234cb 347192008-08-06 Bean <bean123ch@gmail.com>
34720
34721 * fs/i386/pc/pxe.c (curr_file): new variable.
34722 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34723 require the dummy internal file system anymore.
34724 (grub_pxefs_read): Removed.
34725 (grub_pxefs_close): Likewise.
34726 (grub_pxefs_fs_int): Likewise.
34727 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34728 connection when we switch file.
34729 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34730
a55d42e0 347312008-08-06 Robert Millan <rmh@aybabtu.com>
34732
34733 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34734 `halt.mod'.
34735 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34736 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34737
34738 * kern/i386/halt.c: New file.
34739 * kern/i386/reboot.c: Likewise.
34740 * include/grub/i386/reboot.h: Likewise.
34741 * include/grub/i386/halt.h: Likewise.
34742
34743 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34744 Include `<grub/cpu/halt.h>'.
34745 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34746 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34747
34748 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34749 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34750 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34751 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34752 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34753 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34754 from here ...
34755 * include/grub/i386/at_keyboard.h: ... to here.
34756
24371d26 347572008-08-05 Robert Millan <rmh@aybabtu.com>
34758
34759 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34760 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34761 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34762 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34763 `kern/generic/millisleep.c'.
34764
34765 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34766 instead of grub_get_rtc().
34767 (grub_tsc_init): Initialize `tsc_boot_time'.
34768
34769 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34770 (grub_machine_init): Use grub_tsc_init() rather than
34771 installing an RTC-based handler via grub_install_get_time_ms().
34772
34773 * kern/i386/pit.c: New file.
34774 * include/grub/i386/pit.h: Likewise.
34775
9e7007b3 347762008-08-05 Bean <bean123ch@gmail.com>
34777
34778 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34779
34780 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34781 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34782 (pxe_mod_SOURCES): New macro.
34783 (pxe_mod_CFLAGS): Likewise.
34784 (pxe_mod_LDFLAGS): Likewise.
34785 (pxecmd_mod_SOURCES): Likewise.
34786 (pxecmd_mod_CFLAGS): Likewise.
34787 (pxecmd_mod_LDFLAGS): Likewise.
34788
34789 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34790 (grub_pxe_call): Likewise.
34791
34792 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34793
34794 * commands/i386/pc/pxecmd.c: New file.
34795
9f0234cb 34796 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34797
34798 * include/grub/i386/pc/pxe.h: Likewise.
34799
6977d49f 348002008-08-05 Bean <bean123ch@gmail.com>
34801
34802 * util/console.c (grub_console_cur_color): New variable.
34803 (grub_console_standard_color): Likewise.
34804 (grub_console_normal_color): Likewise.
34805 (grub_console_highlight_color): Likewise.
34806 (color_map): Likewise.
34807 (use_color): Likewise.
34808 (NUM_COLORS): New macro.
34809 (grub_ncurses_setcolorstate): Handle color properly.
34810 (grub_ncurses_setcolor): Don't change color here, just remember the
34811 settings, color will be set in grub_ncurses_setcolorstate.
34812 (grub_ncurses_getcolor): New function.
34813 (grub_ncurses_init): Initialize color pairs.
34814 (grub_ncurses_term): New member grub_ncurses_getcolor.
34815
9c2ff3ee 348162008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34817
9c2ff3ee 34818 High resolution timer support. Implemented for x86 CPUs using TSC.
34819 Extracted generic grub_millisleep() so it's linked in only as needed.
34820 This requires a Pentium compatible CPU; if the RDTSC instruction is
34821 not supported, then it falls back on the generic grub_get_time_ms()
34822 implementation that uses the machine's RTC.
34823
34824 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34825 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34826 `kern/generic/millisleep.c'.
34827
34828 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34829 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34830
34831 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34832 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34833
34834 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34835
34836 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34837 `kern/generic/millisleep.c'.
34838
34839 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34840
34841 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34842
34843 * kern/generic/rtc_get_time_ms.c: New file.
34844
34845 * kern/generic/millisleep.c: New file.
337f5a1e 34846
9c2ff3ee 34847 * kern/misc.c: Don't include
34848 <kern/time.h> anymore.
34849 (grub_millisleep_generic): Removed.
34850
34851 * commands/sleep.c (grub_interruptible_millisleep): Uses
34852 grub_get_time_ms() instead of grub_get_rtc().
34853
34854 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34855 function.
34856 (grub_cpu_is_cpuid_supported): New inline function.
34857 (grub_cpu_is_tsc_supported): New inline function.
34858 (grub_tsc_init): New function prototype.
34859 (grub_tsc_get_time_ms): New function prototype.
34860
34861 * kern/i386/tsc.c (grub_get_time_ms): New file.
34862
34863 * include/grub/time.h: Include <grub/types.h.
34864 (grub_millisleep_generic): Removed.
34865 (grub_get_time_ms): New prototype.
34866 (grub_install_get_time_ms): New prototype.
34867 (grub_rtc_get_time_ms): New prototype.
34868
34869 * kern/time.c (grub_get_time_ms): New function.
34870 (grub_install_get_time_ms): New function.
34871
34872 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34873 <grub/time.h> anymore.
34874 (grub_millisleep): Removed.
34875 (grub_machine_init): Call grub_tsc_init.
34876
34877 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34878 get_time_ms() implementation.
34879
34880 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34881 (ieee1275_get_time_ms): New function.
34882 (grub_machine_init): Install get_time_ms() implementation.
34883
34884 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34885 (grub_machine_init): Call grub_tsc_init().
34886 (grub_millisleep): Removed.
bf06a93f 34887
9c2ff3ee 34888 * kern/ieee1275/init.c (grub_millisleep): Removed.
34889 (grub_machine_init): Install ieee1275_get_time_ms()
34890 implementation.
34891 (ieee1275_get_time_ms): New function.
34892 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34893 real work.
34894
9ec92aaf 348952008-08-05 Marco Gerards <marco@gnu.org>
34896
34897 * disk/ata.c: Include <grub/pci.h>.
34898 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34899 (grub_ata_initialize): Rewritten.
34900 (grub_ata_device_initialize): New function.
34901
8d23f507 349022008-08-04 Pavel Roskin <proski@gnu.org>
34903
34904 * kern/main.c: Include grub/mm.h.
34905
5e15ee3d 349062008-08-04 Robert Millan <rmh@aybabtu.com>
34907
34908 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34909 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34910 corruption problem).
34911
a9053f8f 349122008-08-04 Robert Millan <rmh@aybabtu.com>
34913
34914 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34915 warnings introduced in my last commit.
34916
dd19c7d7 349172008-08-03 Robert Millan <rmh@aybabtu.com>
34918
34919 Make PCI available on all i386 architectures.
34920
34921 * include/grub/i386/pc/pci.h: Move from here ...
34922 * include/grub/i386/pci.h: ... to here.
34923
34924 * include/grub/i386/pc/pci.h: Remove.
34925 * include/grub/i386/efi/pci.h: Remove.
34926 * include/grub/x86_64/efi/pci.h: Remove.
34927
34928 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34929 `<grub/cpu/pci.h>'.
34930
34931 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34932 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34933 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34934
34935 * conf/i386-ieee1275.rmk: Likewise.
34936
e14a6184 349372008-08-03 Robert Millan <rmh@aybabtu.com>
34938
34939 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34940 (grub_console_setcursor): Make it possible to set cursor off.
34941
52768e37 349422008-08-03 Robert Millan <rmh@aybabtu.com>
34943
34944 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34945 of modules instead of assuming which platform provides what.
34946 * util/update-grub.in: Likewise.
34947
2d52f57f 349482008-08-03 Robert Millan <rmh@aybabtu.com>
34949
34950 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34951 instead of `grub_install_dos_part' to determine whether a drive needs
34952 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34953 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34954
2a5cd121 349552008-08-02 Robert Millan <rmh@aybabtu.com>
34956
34957 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34958
93808428 349592008-08-02 Robert Millan <rmh@aybabtu.com>
34960
34961 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34962 of informational grub_dprintf() calls.
34963
3bd0a12a 349642008-08-02 Robert Millan <rmh@aybabtu.com>
34965
34966 * disk/memdisk.c (memdisk_size): Don't initialize.
34967 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34968
34969 * include/grub/i386/pc/kernel.h
34970 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34971 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34972 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34973 (grub_arch_memdisk_size): Remove.
34974
34975 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34976 field (was only used to transfer a constant). Add `type' field to
34977 support multiple module types.
34978 (grub_module_iterate): New function.
34979
34980 * kern/device.c (grub_device_open): Do not hide error messages
34981 when grub_disk_open() fails. Use grub_print_error() instead.
34982
34983 * kern/i386/pc/init.c (grub_arch_modules_addr)
34984 (grub_arch_memdisk_size): Remove functions.
34985 (grub_arch_modules_addr): Return the module address in high memory
34986 (now that it isn't copied anymore).
34987
34988 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34989 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34990 decompression routine (grub_total_module_size already includes that
34991 now). Don't copy modules back to low memory.
34992
34993 * kern/main.c: Include `<grub/mm.h>'.
34994 (grub_load_modules): Split out (and use) ...
34995 (grub_module_iterate): ... this function, which iterates through
34996 module objects and runs a hook.
34997 Comment out grub_mm_init_region() call, as it would cause non-ELF
34998 modules to be overwritten.
34999
35000 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35001 the memdisk image in its own region, make it part of the module list.
35002 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35003 (main): Parse --memdisk|-m option, and pass user-provided path as
35004 parameter to generate_image().
35005 (add_segments): Pass `memdisk_path' down to load_modules().
35006 (load_modules): Embed memdisk image in module section when requested.
35007 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35008 `header.type' instead of `header.offset'.
35009
35010 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35011 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35012 (memdisk_mod_LDFLAGS): New variables.
35013 * conf/i386-coreboot.rmk: Likewise.
35014 * conf/i386-ieee1275.rmk: Likewise.
35015
a927cc73 350162008-08-02 Robert Millan <rmh@aybabtu.com>
35017
35018 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35019 (backward_relocator): New variables. Used to allocate and relocate
35020 the payload, respectively.
35021 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35022 address, install the appropriate relocator code in each bound of
a927cc73 35023 the payload, and set the entry point such that
35024 grub_multiboot_real_boot() will jump to one of them.
35025
35026 * kern/i386/loader.S (grub_multiboot_payload_size)
35027 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35028 (grub_multiboot_payload_entry_offset): New variables.
35029 (grub_multiboot_real_boot): Set cpu context to what the relocator
35030 expects, and jump to the relocator instead of the payload.
35031
35032 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35033 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35034 (grub_multiboot_payload_entry_offset): Export.
35035
b15d8a0c 350362008-08-01 Bean <bean123ch@gmail.com>
35037
35038 * normal/menu_entry.c (editor_getline): Don't return the original
35039 string as result, as it will be released by lexer once it has done
35040 using it.
35041
cdfb3d22 350422008-08-01 Robert Millan <rmh@aybabtu.com>
35043
35044 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35045 within menuentries, not before them.
35046 util/grub.d/10_hurd.in: Likewise.
35047
9175e93d 350482008-08-01 Bean <bean123ch@gmail.com>
35049
35050 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35051 (bufio_mod_SOURCES): New macro.
35052 (bufio_mod_CFLAGS): Likewise.
35053 (bufio_mod_LDFLAGS): Likewise.
35054
35055 * include/grub/bufio.h: New file.
35056
35057 * io/bufio.c: Likewise.
35058
35059 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35060 (grub_video_reader_png): Use grub_buffile_open to open file.
35061
35062 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35063 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35064
35065 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35066 (grub_video_reader_tga): Use grub_buffile_open to open file.
35067
35068 * font/manager.c: Include <grub/bufio.h>.
35069 (add_font): Use grub_buffile_open to open file.
35070
3d8383e7 350712008-07-31 Robert Millan <rmh@aybabtu.com>
35072
35073 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35074 ELF segments, use a macro for arbitrarily accessing any of them instead
35075 of preparing a pointer that allows access to one at a time.
35076 (grub_multiboot_load_elf64): Likewise.
35077
16e641b6 350782008-07-31 Bean <bean123ch@gmail.com>
35079
35080 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35081 GRUB_KERNEL_MACHINE_DATA_END.
35082
59198b72 350832008-07-30 Robert Millan <rmh@aybabtu.com>
35084
35085 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35086 Increase from 0x50 to 0x60.
35087 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35088 use UUIDs to identify the root drive for them. If that's not
35089 possible, abort.
35090 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35091 check, for cross-disk installs.
35092
ae88bca3 350932008-07-30 Robert Millan <rmh@aybabtu.com>
35094
35095 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35096 is non-empty, use it to set the `prefix' environment variable instead
35097 of the usual approach.
35098 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35099 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35100 environment variable instead of dummy make_install_device().
35101
35102 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35103 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35104 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35105
35106 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35107 New variable reference.
35108 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35109 New macro. Defines offset of `grub_prefix' within startup.S (relative
35110 to `start').
35111 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35112 section within startup.S (relative to `start').
35113 * include/grub/i386/coreboot/kernel.h: Likewise.
35114
35115 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35116 Overwrite grub_prefix with its contents, at the beginning of the
35117 first segment.
35118 (main): Understand -p|--prefix.
35119
14f41dd1 351202008-07-30 Robert Millan <rmh@aybabtu.com>
35121
35122 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35123
4ca049a3 351242008-07-30 Robert Millan <rmh@aybabtu.com>
35125
35126 * term/i386/pc/vga_text.c (grub_console_cls): Use
35127 grub_console_gotoxy() to go back to beginning of the screen.
35128 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35129
2921d337 351302008-07-29 Christian Franke <franke@computer.org>
35131
35132 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35133 Add conversion of emulated mount points on Cygwin.
35134
b609876d 351352008-07-29 Christian Franke <franke@computer.org>
35136
35137 * util/update-grub.in: Add a check for admin
35138 group on Cygwin.
35139 Remove old `grub.cfg.new' before creation.
35140 Add `-f' to `mv' to handle the different filesystem
35141 semantics of Windows.
35142
e93e4679 351432008-07-29 Bean <bean123ch@gmail.com>
35144
35145 * normal/main.c (get_line): Fix buffer overflow bug.
35146
41694fd0 351472008-07-28 Robert Millan <rmh@aybabtu.com>
35148
35149 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35150 (struct grub_apple_header): New struct. Describes the layout of
35151 the partmap header.
35152 (apple_partition_map_iterate): Check the header magic as well as the
35153 partition magic (which was already being checked).
35154
cfd0b4e6 351552008-07-28 Pavel Roskin <proski@gnu.org>
35156
35157 * genmk.rb: Add a warning to the beginning of the output that
35158 it's a generated file and should not be edited.
35159
93cce016 351602008-07-28 Robert Millan <rmh@aybabtu.com>
35161
35162 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35163 with the same number are found, just use issue a warning with
35164 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35165
cd1df915 351662008-07-27 Robert Millan <rmh@aybabtu.com>
35167
35168 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35169 information.
35170
b70a8427 351712008-07-27 Bean <bean123ch@gmail.com>
35172
35173 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35174 (grub_fat_find_dir): Ignore case when comparing filename.
35175
8f5e379f 351762008-07-27 Bean <bean123ch@gmail.com>
35177
35178 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35179 smallino, as it's more descriptive, and i8count can be confused with
35180 the other field count.
35181 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35182 inode type.
35183
a85cd5a0 351842008-07-27 Bean <bean123ch@gmail.com>
35185
35186 * commands/crc.c: New file.
35187
35188 * lib/crc.c: Likewise.
35189
35190 * include/grub/lib/crc.h: Likewise.
35191
35192 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35193
35194 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35195 (hexdump): Move this function to ...
35196
35197 * lib/hexdump.c: ... here.
35198
35199 * include/grub/hexdump.h: Renamed to ...
35200
35201 * include/grub/lib/hexdump.h: ... this.
35202
35203 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35204
35205 * util/grub-editenv.c: Likewise.
35206
35207 * include/envblk.h: Renamed to ...
35208
35209 * include/lib/envblk.h: ... this.
35210
35211 * util/envblk.c: Renamed to ...
35212
35213 * lib/envblk.c: ... this.
35214
35215 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35216 lib/hexdump.c.
35217 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35218 (pkglib_MODULES): Add crc.mod.
35219 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35220 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35221 (crc_mod_SOURCES): New macro.
35222 (crc_mod_CFLAGS): Likewise.
35223 (crc_mod_LDFLAGS): Likewise.
35224
35225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35226
35227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35228
35229 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35230
35231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35232
35233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35234
c298def0 352352008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35236
35237 * commands/help.c: Include <grub/term.h>.
35238 (TERM_WIDTH): Removed. Updated all users.
35239
cc349fb3 352402008-07-27 Pavel Roskin <proski@gnu.org>
35241
35242 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35243 spurious warnings about a comment within a comment.
35244
9051607e 352452008-07-25 Robert Millan <rmh@aybabtu.com>
35246
35247 * util/getroot.c (find_root_device): Skip devices that match
35248 /dev/dm-[0-9]. This lets the real device be found for any type of
35249 abstraction (LVM, EVMS, RAID..).
35250 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35251 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35252 device is found first, find_root_device() will now skip it.
35253
01453bfc 352542008-07-24 Pavel Roskin <proski@gnu.org>
35255
35256 * include/grub/types.h: Use __builtin_bswap32() and
35257 __builtin_bswap64() with gcc 4.3 and newer.
35258
6af9849f 352592008-07-24 Christian Franke <franke@computer.org>
35260
3a0fa256 35261 * util/i386/pc/grub-install.in: If `--debug' is specified,
35262 pass `--verbose' to grub-setup.
35263 Abort script if make_system_path_relative_to_its_root() fails.
35264
7810e747 352652008-07-24 Bean <bean123ch@gmail.com>
35266
35267 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35268 variable `target_platform' should be `platform'.
35269
42290e17 352702008-07-24 Bean <bean123ch@gmail.com>
35271
51cc5193 35272 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35273 (grub_png_init_fixed_block): New function.
35274 (grub_png_decode_image_data): Handle fixed huffman code compression.
35275
2a8a80e4 352762008-07-24 Bean <bean123ch@gmail.com>
35277
35278 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35279 (grub_pe2elf_SOURCES): New macro.
35280 (CLEANFILES): Add grub-pe2elf.
35281
35282 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35283 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35284 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35285 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35286 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35287 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35288 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35289 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35290 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35291 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35292 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35293 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35294 (GRUB_PE32_DT_FUNCTION): Likewise.
35295 (GRUB_PE32_REL_I386_DIR32): Likewise.
35296 (GRUB_PE32_REL_I386_REL32): Likewise.
35297 (grub_pe32_symbol): New structure.
35298 (grub_pe32_reloc): Likewise.
35299
35300 * util/grub-pe2elf.c: New file.
35301
35302 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35303 start symbol in non pc platform.
35304
35305 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35306
35307 The following patches are from Christian Franke.
35308
35309 * include/grub/dl.h: Remove .previous, gas supports this only
35310 for ELF format.
35311
35312 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35313 Remove .type, gas supports this only for ELF format.
35314
35315 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35316 nullbytes in symbol table. This fixes an infinite loop if table is
35317 zero filled.
35318
35319 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35320 TARGET_IMG_LDFLAGS and EXEEXT.
35321
35322 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35323 TARGET_IMG_LDFLAGS_AC.
35324 (grub_CHECK_STACK_ARG_PROBE): New function.
35325
35326 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35327
35328 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35329
35330 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35331 to set TARGET_IMG_LD* accordingly.
35332 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35333 Add call to grub_CHECK_STACK_ARG_PROBE.
35334 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35335
35336 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35337
35338 * genmk.rb: Add EXEEXT to CLEANFILES.
35339
12ccdb75 353402008-07-23 Robert Millan <rmh@aybabtu.com>
35341
35342 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35343 define the codes for arrows and lines used for the menu).
35344 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35345 as well.
35346
35347 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35348 fonts, because the latter are too slow.
35349
18eeaf04 353502008-07-21 Bean <bean123ch@gmail.com>
35351
35352 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35353 a20. Run keyboard test last, as it will cause macbook to halt.
35354
b095e2ad 353552008-07-18 Pavel Roskin <proski@gnu.org>
35356
35357 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35358 load foreign architecture modules correctly anyway. Keep
35359 support for loading host architecture modules, whether we
35360 compile them or not.
35361
737feb35 353622008-07-17 Pavel Roskin <proski@gnu.org>
35363
3f4ce737 35364 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35365 change target_cpu. The compiler default can mismatch target_cpu
35366 in any case.
35367
4ad2d049 35368 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35369 * kern/efi/efi.c: Likewise.
35370
f6130a12 35371 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35372 target compiler is functional.
35373 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35374 are set up.
35375
58393a2d 35376 * configure.ac: Default to efi platform for x86_64-apple. Allow
35377 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35378 adjustments from the rest, only do them if target is not
35379 explicitly given. Merge other adjustments with the final sanity
35380 check. Remove an extraneous check for supported CPU. Be
35381 specific which CPU and which platform is not supported.
35382
737feb35 35383 * configure.ac: Default to pc platform for x86_64.
35384
546f966a 353852008-07-17 Robert Millan <rmh@aybabtu.com>
35386
35387 Partial LinuxBIOS -> Coreboot rename.
35388
35389 * conf/i386-linuxbios.rmk: Renamed to ...
35390 * conf/i386-coreboot.rmk: ... this.
35391 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35392 * configure.ac: Accept "coreboot" as input platform (but maintain
35393 compatibility with "linuxbios").
35394 * include/grub/i386/linuxbios: Renamed to ...
35395 * include/grub/i386/coreboot: ... this.
35396
20011694 353972008-07-17 Bean <bean123ch@gmail.com>
35398
35399 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35400 (appleldr_mod_SOURCE): New variable.
20011694 35401 (appleldr_mod_CFLAGS): Likewise.
35402 (appleldr_mod_LDFLAGS): Likewise.
35403 (pci_mod_SOURCES): Likewise.
35404 (pci_mod_CFLAGS): Likewise.
35405 (pci_mod_LDFLAGS): Likewise.
35406 (lspci_mod_SOURCES): Likewise.
35407 (lspci_mod_CFLAGS): Likewise.
35408 (lspci_mod_LDFLAGS): Likewise.
35409
35410 * conf/x86_64-efi.rmk: New file.
35411
35412 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35413 macro.
35414 (grub_efidisk_write): Likewise.
35415
35416 * include/efi/api.h (efi_call_0): New macro.
35417 (efi_call_1): Likewise.
35418 (efi_call_2): Likewise.
35419 (efi_call_3): Likewise.
35420 (efi_call_4): Likewise.
35421 (efi_call_5): Likewise.
35422 (efi_call_6): Likewise.
35423
35424 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35425 grub_rescue_cmd_chainloader.
35426
35427 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35428 (grub_pe32_optional_header): Change some fields based on i386 or
35429 x86_64 platform.
35430 (GRUB_PE32_PE32_MAGIC): Likewise.
35431
35432 * include/grub/efi/uga_draw.h: New file.
35433
35434 * include/grub/elf.h (STN_ABS): New constant.
35435 (R_X86_64_NONE): Relocation constant for x86_64.
35436 (R_X86_64_64): Likewise.
35437 (R_X86_64_PC32): Likewise.
35438 (R_X86_64_GOT32): Likewise.
35439 (R_X86_64_PLT32): Likewise.
35440 (R_X86_64_COPY): Likewise.
35441 (R_X86_64_GLOB_DAT): Likewise.
35442 (R_X86_64_JUMP_SLOT): Likewise.
35443 (R_X86_64_RELATIVE): Likewise.
35444 (R_X86_64_GOTPCREL): Likewise.
35445 (R_X86_64_32): Likewise.
35446 (R_X86_64_32S): Likewise.
35447 (R_X86_64_16): Likewise.
35448 (R_X86_64_PC16): Likewise.
35449 (R_X86_64_8): Likewise.
35450 (R_X86_64_PC8): Likewise.
35451
35452 * include/grub/i386/efi/pci.h: New file.
35453
35454 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35455 Change it value based on platform.
35456 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35457 (GRUB_E820_RAM): Likewise.
35458 (GRUB_E820_RESERVED): Likewise.
35459 (GRUB_E820_ACPI): Likewise.
35460 (GRUB_E820_NVS): Likewise.
35461 (GRUB_E820_EXEC_CODE): Likewise.
35462 (GRUB_E820_MAX_ENTRY): Likewise.
35463 (grub_e820_mmap): New structure.
35464 (linux_kernel_header): Change the efi field according to different
35465 kernel version, also field from linux_kernel_header.
35466
35467 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35468
35469 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35470 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35471 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35472 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35473 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35474 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35475 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35476 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35477 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35478 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35479
35480 * include/grub/x86_64/efi/kernel.h: New file.
35481
35482 * include/grub/x86_64/efi/loader.h: Likewise.
35483
35484 * include/grub/x86_64/efi/machine.h: Likewise.
35485
35486 * include/grub/x86_64/efi/pci.h: Likewise.
35487
35488 * include/grub/x86_64/efi/time.h: Likewise.
35489
35490 * include/grub/x86_64/linux.h: Likewise.
35491
35492 * include/grub/x86_64/setjmp.h: Likewise.
35493
35494 * include/grub/x86_64/time.h: Likewise.
35495
35496 * include/grub/x86_64/types.h: Likewise.
35497
35498 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35499 GRUB_TARGET_SIZEOF_VOID_P.
35500
35501 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35502 (grub_efi_locate_handle): Likewise.
35503 (grub_efi_open_protocol): Likewise.
35504 (grub_efi_set_text_mode): Likewise.
35505 (grub_efi_stall): Likewise.
35506 (grub_exit): Likewise.
35507 (grub_reboot): Likewise.
35508 (grub_halt): Likewise.
35509 (grub_efi_exit_boot_services): Likewise.
35510 (grub_get_rtc): Likewise.
35511
35512 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35513 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35514 (grub_efi_allocate_pages): Wrap efi calls.
35515 (grub_efi_free_pages): Wrap efi calls.
35516 (grub_efi_get_memory_map): Wrap efi calls.
35517
35518 * kern/x86_64/dl.c: New file.
35519
35520 * kern/x86_64/efi/callwrap.S: Likewise.
35521
35522 * kern/x86_64/efi/startup.S: Likewise.
35523
35524 * loader/efi/appleloader.c: Likewise.
35525
35526 * loader/efi/chainloader.c (cmdline): New variable.
35527 (grub_chainloader_unload): Wrap efi calls.
35528 (grub_chainloader_boot): Likewise.
35529 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35530 command line.
35531
35532 * loader/efi/chainloader_normal.c (chainloader_command):
35533 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35534 command line.
35535
35536 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35537 method.
35538 (grub_e820_add_region): New function.
35539 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35540 booting.
35541 (grub_find_video_card): New function.
35542 (grub_linux_setup_video): New function.
35543 (grub_rescue_cmd_linux): Probe for video information.
35544
35545 * normal/x86_64/setjmp.S: New file.
35546
35547 * term/efi/console.c (map_char): New function.
35548 (grub_console_putchar): Map unicode char.
35549 (grub_console_checkkey): Wrap efi calls.
35550 (grub_console_getkey): Likewise.
35551 (grub_console_getwh): Likewise.
35552 (grub_console_gotoxy): Likewise.
35553 (grub_console_cls): Likewise.
35554 (grub_console_setcolorstate): Likewise.
35555 (grub_console_setcursor): Likewise.
35556
35557 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35558
59652a20 355592008-07-16 Pavel Roskin <proski@gnu.org>
35560
ef294055 35561 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35562 format strings.
35563
59652a20 35564 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35565 pointer, not an integer. This fixes a warning and prevents
35566 precision loss on 64-bit systems.
35567 (relocate_addresses): Remove unneeded cast.
35568
afc3b5d7 355692008-07-15 Pavel Roskin <proski@gnu.org>
35570
506b2b3e 35571 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35572
62ead89c 35573 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35574
c4cd51d7 35575 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35576 Fix comparison between signed and unsigned.
35577
0d3d8f28 35578 * include/grub/i386/ieee1275/console.h: Declare
35579 grub_console_init() and grub_console_fini().
35580
8804b286 35581 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35582 It's empty and unused.
35583
ee01cf35 35584 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35585 beginning to avoid warnings with some compilers.
35586
afc3b5d7 35587 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35588 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35589
e4e8eaa5 355902008-07-14 Pavel Roskin <proski@gnu.org>
35591
407aceb4 35592 * kern/env.c (grub_register_variable_hook): Don't copy empty
35593 string, it leaks memory. Pass "" to grub_env_set(), it should
35594 handle constant strings.
35595
e4e8eaa5 35596 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35597 * commands/cmp.c (grub_cmd_cmp): Likewise.
35598 * kern/dl.c (grub_dl_flush_cache): Likewise.
35599 (grub_dl_load_core): Likewise.
35600 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35601 (grub_elf64_load_phdrs): Likewise.
35602
d4e2dad3 356032008-07-13 Pavel Roskin <proski@gnu.org>
35604
35605 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35606 between signed and unsigned.
35607 (LzmaEnc_Finish): Fix warning about an unused parameter.
35608
aa24b516 356092008-07-13 Bean <bean123ch@gmail.com>
35610
35611 * Makefile.in (enable_lzo): New rule.
35612
35613 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35614
35615 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35616
35617 * boot/i386/pc/lnxboot.S: #include <config.h>.
35618
35619 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35620 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35621
35622 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35623 compression algorithm according to configure macro.
35624
35625 * kern/i386/pc/startup.S (codestart): Likewise.
35626
35627 * kern/i386/pc/lzma_decode.S: New file.
35628
35629 * include/grub/lib/LzFind.h: Likewise.
35630
35631 * include/grub/lib/LzHash.h: Likewise.
35632
35633 * include/grub/lib/LzmaDec.h: Likewise.
35634
35635 * include/grub/lib/LzmaEnc.h: Likewise.
35636
35637 * include/grub/lib/LzmaTypes.h: Likewise.
35638
35639 * lib/LzFind.c: Likewise.
35640
35641 * lib/LzmaDec.c: Likewise.
35642
35643 * lib/LzmaEnc.c: Likewise.
35644
4ae821ac 356452008-07-13 Bean <bean123ch@gmail.com>
35646
35647 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35648 (grub_ext4_extent_header): New structure.
35649 (grub_ext4_extent): Likewise.
35650 (grub_ext4_extent_idx): Likewise.
35651 (grub_ext4_find_leaf): New function.
35652 (grub_ext2_read_block): Handle extents.
35653
9a745147 356542008-07-12 Robert Millan <rmh@aybabtu.com>
35655
35656 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35657
d49a4cf6 356582008-07-11 Robert Millan <rmh@aybabtu.com>
35659
35660 * util/grub.d/40_custom.in: New file. Example on how to add custom
35661 entries to /etc/grub.d.
35662 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35663 40_custom (implicitly, by merging all the grub.d rules).
35664
947414b4 356652008-07-11 Pavel Roskin <proski@gnu.org>
35666
0059cf6f 35667 * commands/read.c (grub_getline): Fix invalid memory access.
35668 Don't add newline to the variable value.
35669
947414b4 35670 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35671 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35672 (serial_hw_get_port): Check validity of the port number.
35673 (grub_cmd_serial): Check return value of serial_hw_get_port().
35674
62a02d00 356752008-07-07 Pavel Roskin <proski@gnu.org>
35676
35677 * boot/i386/pc/diskboot.S (notification_string): Replace
35678 "Loading kernel" with just "loading". This is shorter, less
35679 confusing and saves a few bytes for possible future changes.
35680
3e5581b0 356812008-07-05 Pavel Roskin <proski@gnu.org>
35682
ea387a48 35683 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35684 size for ATAPI devices, they are undefined. Output sector
35685 number in decimal form.
35686
3e5581b0 35687 * disk/ata.c: Use named constants for status bits.
35688
fdecb8fd 356892008-07-04 Pavel Roskin <proski@gnu.org>
35690
bcd35b90 35691 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35692 grub_addr_t before casting it to the void pointer to fix a
35693 warning. Non-addressable regions are discarded earlier.
35694 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35695 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35696 (check_signature): Don't shadow table_header.
35697 (grub_linuxbios_table_iterate): Cast numeric constants to
35698 grub_linuxbios_table_header_t.
35699 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35700 grub_stop().
35701
af58ab3d 35702 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35703 prevent warnings.
35704
1759aa57 35705 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35706 pointer, which can cause warnings. Support 64-bit addresses.
35707
fdecb8fd 35708 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35709 of sizeof(long). This fixes PowerPC image generation on x86_64.
35710
8516d2a8 357112008-07-04 Robert Millan <rmh@aybabtu.com>
35712
35713 This fixes a performance issue when pc & gpt partmap iterators
35714 didn't abort iteration even after our hook found what it was
fe987087 35715 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35716
35717 Some callers relied on previous buggy behaviour, since they would
34c44600 35718 raise an error when their own hooks caused early abortion of its
8516d2a8 35719 iteration.
35720
35721 * kern/device.c (grub_device_open): Improve error message.
35722 * disk/lvm.c (grub_lvm_open): Likewise.
35723 * disk/raid.c (grub_raid_open): Likewise.
35724
35725 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35726 when hook requests it, independently of grub_errno.
35727 (pc_partition_map_probe): Do not fail when find_func() caused
35728 early abortion of pc_partition_map_iterate().
35729
35730 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35731 when hook requests it, independently of grub_errno.
35732 (gpt_partition_map_probe): Do not fail when find_func() caused
35733 early abortion of gpt_partition_map_iterate().
35734
35735 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35736 when hook requests it, independently of grub_errno. Do not fail when
35737 part_map_iterate_hook() caused early abortion of p->iterate().
35738
35739 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35740 when grub_partition_iterate() returned with non-zero.
35741
277d0de9 357422008-07-03 Pavel Roskin <proski@gnu.org>
35743
35744 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35745 like we do in grub_ata_pio_read().
35746 (grub_ata_readwrite): Always write individual sectors. Fix the
35747 sector count for the remainder.
35748 (grub_ata_write): Enable writing to ATA devices. Correctly
35749 report error for ATAPI devices.
35750
d4c9b428 357512008-07-02 Pavel Roskin <proski@gnu.org>
35752
e43fc690 35753 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35754 warning.
35755
f707af42 35756 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35757 for every read sector, we already increment it for the whole
35758 batch. This fixes reading more than 256 sectors at once.
35759
11e16b15 35760 * util/grub-editenv.c (cmd_info): Cast argument to long
35761 explicitly. ptrdiff_t reduces to int on i386.
35762
cbabfdd4 35763 * util/grub-editenv.c (main): Be specific which parameter is
35764 missing.
35765
b8fbce0a 35766 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35767 (memdisk): Make memdisk_orig_addr a pointer.
35768
c9c8e606 35769 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35770 for file offsets, use grub_off_t instead. Fix printf format
35771 warnings.
35772
ca62e598 35773 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35774 there. Real unexpected warnings should not drown in the noise
35775 about known problems.
35776
ce8d1766 35777 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35778 grub_disk_addr_t for memory addresses.
35779
00c7a56a 35780 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35781 explicitly to fix a warning.
35782
08d3ef09 35783 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35784
cb71ba20 35785 * Makefile.in (MODULE_LDFLAGS): New variable.
35786 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35787 the linker accepts --build-id=none.
35788 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35789 MODULE_LDFLAGS.
35790 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35791
d4c9b428 35792 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35793 those in Linux XFS code. Provide a way to access 64-bit parent
35794 inode.
35795 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35796 the end of struct grub_xfs_dir_header.
35797
d4156eee 357982008-07-02 Bean <bean123ch@gmail.com>
35799
35800 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35801 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35802 and GRUB_IEEE1275_FLAG_NO_ANSI.
35803
35804 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35805 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35806 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35807
35808 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35809 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35810
35811 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35812 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35813
35814 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35815 esc sequence on non ANSI terminal.
35816 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35817
35818 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35819 beginning of file.
35820
2270f77b 358212008-07-02 Bean <bean123ch@gmail.com>
35822
35823 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35824 (grub_editenv_SOURCES): New variable.
35825 (pkglib_MODULES): Add loadenv.mod.
35826 (loadenv_mod_SOURCES): New variable.
35827 (loadenv_mod_CFLAGS): Likewise.
35828 (loadenv_mod_LDFLAGS): Likewise.
35829
35830 * include/grub/envblk.h: New file.
35831
35832 * util/envblk.c: New file.
35833
35834 * util/grub-editenv.c: New file.
35835
35836 * commands/loadenv.c: New file.
35837
0e9e51ec 358382008-07-01 Pavel Roskin <proski@gnu.org>
35839
d89b7634 35840 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35841 not unsigned char. This fixes warnings and is consistent with
35842 other tags.
35843
bf1835b1 35844 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35845
8222a04b 35846 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35847
6a42d99d 35848 * term/tparm.c (analyze): Always set *popcount.
35849
10b159d1 35850 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35851 cast to fix a warning.
35852
b8789f6c 35853 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35854 cast to suppress a warning.
35855
29d7e38a 35856 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35857 grub_fshelp_read_file() expects.
35858
f341f669 35859 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35860 write uuid as a 32-bit value in CPU byte order, so declare and
35861 use it as such.
35862
0e9e51ec 35863 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35864 long if the format specifier expects it.
35865 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35866 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35867 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35868 long to fix a warning.
35869 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35870 grub_dprintf() arguments to fix warnings.
35871
3aefa857 358722008-06-30 Pavel Roskin <proski@gnu.org>
35873
56c7668b 35874 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35875 install_bsd_part immediately before core.img is embedded or
35876 modified on disk. This fixes core.img verification if core.img
35877 cannot be embedded.
35878
3aefa857 35879 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35880 core_path to calculate the blocklist.
35881 Patch from Javier Martín <lordhabbit@gmail.com>
35882
5444088d 358832008-06-29 Robert Millan <rmh@aybabtu.com>
35884
35885 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35886 block to disk block.
35887 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35888 Patch from Niels Böhm <bitbucket@arcor.de>
35889
674835c8 358902008-06-29 Robert Millan <rmh@aybabtu.com>
35891
35892 * util/update-grub_lib.in (font_path): Search for fonts in
35893 /boot/grub first, which is more likely to be readable (we aren't
35894 deciding where fonts live, just looking for them).
35895
f527dbc8 358962008-06-26 Pavel Roskin <proski@gnu.org>
35897
6c2d8df6 35898 * util/biosdisk.c (read_device_map): Don't leave dead map
35899 entries for devices failing stat() check.
35900
f527dbc8 35901 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35902 core_path_dev for the core.img path on the target device.
35903
aebe3d13 359042008-06-26 Robert Millan <rmh@aybabtu.com>
35905
35906 * disk/fs_uuid.c: New file.
35907 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35908 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35909 (fs_uuid_mod_LDFLAGS): New variables.
35910 * include/grub/disk.h (grub_disk_dev_id): Add
35911 `GRUB_DISK_DEVICE_UUID_ID'.
35912 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35913 implement iterate().
35914
37aaf354 359152008-06-26 Robert Millan <rmh@aybabtu.com>
35916
35917 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35918 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35919 Linux image includes no initrd.
35920
25ff262a 359212008-06-21 Javier Martín <lordhabbit@gmail.com>
35922
35923 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35924 call to resolve the core image location that effectively appended the
35925 name twice.
35926
76a2bd44 359272008-06-21 Robert Millan <rmh@aybabtu.com>
35928
35929 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35930 call from here ...
35931
35932 * util/grub.d/10_hurd.in: ... to here ...
35933 * util/grub.d/10_linux.in: ... and here.
35934
650e1c79 359352008-06-19 Robert Millan <rmh@aybabtu.com>
35936
fe987087 35937 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35938 after it has been set by grub_machine_set_prefix().
35939
6ce63911 359402008-06-19 Robert Millan <rmh@aybabtu.com>
35941
35942 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35943 search result when not saving to variable, not the other way around.
35944 When saving to variable, abort iteration as soon as a match is found.
35945
73940cec 359462008-06-19 Robert Millan <rmh@aybabtu.com>
35947
35948 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35949 check for partition that provides /boot/grub. Its logic is flawed,
35950 as it prevents prepare_grub_to_access_device() from being called
35951 multiple times.
35952
3c62a39d 359532008-06-19 Robert Millan <rmh@aybabtu.com>
35954
35955 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35956 "insmod" command directly when abstraction modules are needed,
fe987087 35957 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35958 since it had already been processed).
35959
47395a42 359602008-06-19 Pavel Roskin <proski@gnu.org>
35961
35962 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35963 changed. This is needed in case GRUB_LIBDIR changes.
35964 * conf/i386-ieee1275.rmk: Likewise.
35965 * conf/i386-linuxbios.rmk: Likewise.
35966 * conf/i386-pc.rmk: Likewise.
35967 * conf/powerpc-ieee1275.rmk: Likewise.
35968
a145ac2d 359692008-06-18 Pavel Roskin <proski@gnu.org>
35970
35971 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35972 kernel_elf_symlist.c to symlist.c for consistency with other
35973 architectures. Update all users.
35974 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35975
7847c51e 359762008-06-18 Robert Millan <rmh@aybabtu.com>
35977
35978 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35979 it in prefix.
35980
35981 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35982 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35983 a RAID device, run setup() for all members independently on whether
35984 LVM abstraction is being used.
35985 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35986 If grub-mkimage has set `*install_dos_part == -2', don't override this
35987 value.
35988 Perform *install_dos_part adjustments independently on whether
35989 we're embedding or not.
35990 Clarify error message when image is too big for embedding.
35991 Remove duplicate *install_dos_part stanza.
35992
b23e5644 359932008-06-17 Robert Millan <rmh@aybabtu.com>
35994
35995 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35996 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35997 variables.
35998 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35999 values in grub_ofconsole_normal_color and
36000 grub_ofconsole_highlight_color (they're not directly related to
36001 background and foreground).
36002 (grub_ofconsole_setcolorstate): Extract background and foreground
36003 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36004
0aac2f79 360052008-06-17 Robert Millan <rmh@aybabtu.com>
36006
36007 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36008 /boot/grub for the check in last commit, not /boot (they could be
36009 different partitions).
36010
3cca7ef3 360112008-06-16 Robert Millan <rmh@aybabtu.com>
36012
36013 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36014 asked to setup access for the same partition that provides /boot,
36015 don't bother using UUIDs since our root already has the value we
36016 want.
36017
347396d8 360182008-06-16 Robert Millan <rmh@aybabtu.com>
36019
36020 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36021 I2O devices.
36022 Patch from Sven Mueller <sven@debian.org>.
36023
991477f8 360242008-06-16 Robert Millan <rmh@aybabtu.com>
36025
36026 * util/update-grub.in: Check for $EUID instead of $UID.
36027 Reported by Vincent Zweije.
36028
d31a32a1 360292008-06-16 Bean <bean123ch@gmail.com>
36030
fe987087 36031 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36032 (grub_ext2_read_block): Likewise.
36033 (grub_ext2_read_inode): Likewise.
36034 (grub_ext2_mount): Likewise.
36035 (grub_ext2_close): Likewise.
36036 (grub_ext3_get_journal): Removed.
36037
fe987087 36038 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36039 (grub_reiserfs_read_symlink): Likewise.
36040 (grub_reiserfs_mount): Likewise.
36041 (grub_reiserfs_open): Likewise.
36042 (grub_reiserfs_read): Likewise.
36043 (grub_reiserfs_close): Likewise.
36044 (grub_reiserfs_get_journal): Removed.
36045
36046 * fs/fshelp.c (grub_fshelp_read): Removed.
36047 (grub_fshelp_map_block): Likewise.
36048
36049 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36050 (grub_fshelp_journal): Likewise.
36051 (grub_fshelp_read): Likewise.
36052 (grub_fshelp_map_block): Likewise.
36053
3540a760 360542008-06-16 Pavel Roskin <proski@gnu.org>
36055
36056 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36057 floating point anymore.
36058 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36059
95614c84 360602008-06-15 Pavel Roskin <proski@gnu.org>
36061
36062 * commands/ls.c (grub_ls_list_files): Use integer calculations
36063 for human readable format, avoid floating point use.
36064 * kern/misc.c (grub_ftoa): Remove.
36065 (grub_vsprintf): Remove floating point support.
36066
50465dd6 360672008-06-15 Robert Millan <rmh@aybabtu.com>
36068
fe6b695a 36069 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36070 devices.
36071 Reported by Max Vozeler.
36072
a9207284 360732008-06-15 Robert Millan <rmh@aybabtu.com>
36074
36075 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36076 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36077 skipped later.
36078 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36079 the beginning of the prefix.
36080
36081 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36082 It is assumed that if we have a memdisk, grub-mkimage has set
36083 grub_prefix to include the "(memdisk)" drive in it.
36084
a7cbd45a 360852008-06-15 Robert Millan <rmh@aybabtu.com>
36086
36087 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36088 Initialize keyboard controller after registering the terminal, so that
36089 grub_printf() can be called from grub_keyboard_controller_init().
36090
21cf716a 360912008-06-15 Robert Millan <rmh@aybabtu.com>
36092
36093 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36094 extent-btree which is written as big endian on disk.
36095 Reported by Alain Greppin <al@chilibi.org>.
36096
23a64d8e 360972008-06-14 Robert Millan <rmh@aybabtu.com>
36098
36099 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36100 * util/i386/pc/grub-install.in (modules): Likewise.
36101
d687651c 361022008-06-13 Pavel Roskin <proski@gnu.org>
36103
36104 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36105
dfe9ddd4 361062008-06-13 Bean <bean123ch@gmail.com>
36107
36108 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36109
36110 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36111
36112 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36113 to indicate sparse block.
36114
16ae7781 361152008-06-12 Pavel Roskin <proski@gnu.org>
36116
e6d1a308 36117 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36118 number, grub_fshelp_read() does it for us.
36119
16ae7781 36120 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36121 linear disk read with journal translation.
36122 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36123 * include/grub/fshelp.h: Declare grub_fshelp_read().
36124
40fd3a2b 361252008-06-09 Pavel Roskin <proski@gnu.org>
36126
36127 * fs/minix.c (grub_minix_mount): Handle error reading
36128 superblock.
36129
f5679726 361302008-06-08 Robert Millan <rmh@aybabtu.com>
36131
36132 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36133 don't append the RAID prefix afterwards.
36134 Reported by Clint Adams.
36135
ce525529 361362008-06-08 Robert Millan <rmh@aybabtu.com>
36137
36138 Based on description from Pavel:
36139 * kern/disk.c (grub_disk_check_range): Rename to ...
36140 (grub_disk_adjust_range): ... this. Add a comment explaining the
36141 tasks performed by this function.
36142
ad4936a0 361432008-06-08 Robert Millan <rmh@aybabtu.com>
36144
36145 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36146 `num_serial' (for consistency with other variables).
36147 (struct grub_ntfs_data): Add `uuid' member.
36148 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36149 (grub_ntfs_uuid): New function.
36150 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36151
dc20b0f9 361522008-06-07 Pavel Roskin <proski@gnu.org>
36153
36154 * util/biosdisk.c (open_device): Revert last change to the
36155 function, it broke installation. The sector needs to be
36156 different dependent on which device is opened.
36157
c5e3cfba 361582008-06-06 Robert Millan <rmh@aybabtu.com>
36159
36160 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36161 rest of GRUB, and breakage doesn't happen if its value were modified.
36162
36163 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36164 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36165 a constant (same value).
36166 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36167 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36168
26a1f8c4 361692008-06-06 Robert Millan <rmh@aybabtu.com>
36170
36171 * util/biosdisk.c (open_device): Do not modify sector offset when
36172 accessing a partition. kern/disk.c already handles this for us.
36173
25d6b327 361742008-06-06 Robert Millan <rmh@aybabtu.com>
36175
36176 * util/grub-emu.c (grub_machine_init): Move code in this function from
36177 here ...
36178 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36179 segfault in case grub_printf() is called).
36180
36181 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36182 grub_probe. Update all users not to explicitly add it again.
36183 (grub_device): New variable; contains corresponding device for grubdir.
36184 (fs_module, partmap_module, devabstraction_module): Pass
36185 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36186 every time.
36187
9ece62fb 361882008-06-05 Robert Millan <rmh@aybabtu.com>
36189
36190 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36191 is found, print it (same layout as with labels).
36192
1ad36d37 361932008-06-04 Robert Millan <rmh@aybabtu.com>
36194
36195 * util/biosdisk.c (get_drive): Rename to ...
36196 (find_grub_drive): ... this. Update all users.
36197
36198 (get_os_disk): Rename to ...
36199 (convert_system_partition_to_system_disk): ... this. Update all users.
36200
36201 (find_drive): Rename to ...
36202 (find_system_device): ... this. Update all users.
36203
e6a30859 362042008-06-04 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36207 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36208 (make_device_map): Likewise.
36209
00c108a4 362102008-06-01 Robert Millan <rmh@aybabtu.com>
36211
36212 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36213 before dereferencing it.
36214
36215 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36216 union with fat12/fat16-specific ones. Add some new fields, including
36217 `num_serial' for both versions.
36218 (struct grub_fat_data): Add `uuid' member.
36219 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36220 names. Initialize `data->uuid' using `num_serial'.
36221 (grub_fat_uuid): New function.
36222 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36223
36224 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36225 (grub_reiserfs_uuid): New function.
36226 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36227 member.
36228
36229 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36230 (grub_xfs_uuid): New function.
36231 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36232
1385c5bb 362332008-06-01 Robert Millan <rmh@aybabtu.com>
36234
36235 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36236 code that is backward compatible with pre-uuid search command.
36237
c682dfd7 362382008-05-31 Robert Millan <rmh@aybabtu.com>
36239
36240 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36241 floppies after everything else, to ensure floppy drive isn't accessed
36242 unnecessarily (patch from Bean).
36243
b7db5d47 362442008-05-31 Robert Millan <rmh@aybabtu.com>
36245
36246 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36247 not print device names when we were asked to set a variable.
36248
6e037aa9 362492008-05-31 Robert Millan <rmh@aybabtu.com>
36250
36251 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36252 using "cursor-on" and "cursor-off" commands (understood at least by
36253 the Open Firmware flavour on OLPC).
36254
41305bc8 362552008-05-31 Michael Gorven <michael@gorven.za.net>
36256
36257 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36258 on and off sequences.
36259
69ba137e 362602008-05-31 Robert Millan <rmh@aybabtu.com>
36261
36262 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36263 * util/update-grub.in: Likewise.
36264
520ae21b 362652008-05-30 Pavel Roskin <proski@gnu.org>
36266
36267 * util/biosdisk.c (linux_find_partition): Simplify logic and
36268 make the code more universal. Keep special processing for
36269 devfs, but use a simple rule for all other devices. If the
36270 device ends with a number, append 'p' and the partition number.
36271 Otherwise, append only the partition number.
36272
5786569b 362732008-05-30 Robert Millan <rmh@aybabtu.com>
36274
36275 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36276 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36277 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36278 the `root' parameter to Linux.
36279
51500452 362802008-05-30 Robert Millan <rmh@aybabtu.com>
36281
36282 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36283 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36284 --fs_uuid with --fs-uuid.
36285 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36286 all filesystems support them).
36287
811d3878 362882008-05-30 Robert Millan <rmh@aybabtu.com>
36289
36290 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36291 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36292
cab63c95 362932008-05-30 Robert Millan <rmh@aybabtu.com>
36294
36295 * util/grub.d/00_header.in: Remove obsolete comment referencing
36296 convert_system_path_to_grub_path().
36297 * util/update-grub.in: Likewise.
36298 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36299 (convert_system_path_to_grub_path): Add a warning message explaining
36300 that this function is deprecated. Rely on is_path_readable_by_grub()
36301 for the readability checks.
36302 (font_path): Use is_path_readable_by_grub() for the readability
36303 check rather than convert_system_path_to_grub_path().
36304
972e2f7a 363052008-05-30 Robert Millan <rmh@aybabtu.com>
36306
36307 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36308 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36309 converting it first.
36310 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36311 grub.cfg for access to font file, and afterwards call it again to set
36312 the root device.
36313
62191274 363142008-05-30 Robert Millan <rmh@aybabtu.com>
36315
36316 * commands/search.c (options): Add --fs_uuid option.
36317 (search_fs_uuid): New function.
36318 (grub_cmd_search): Fix --set argument passing.
36319 Use search_fs_uuid() when requested via --fs_uuid.
36320 (grub_search_init): Update help message.
36321 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36322 and redeclare it as an array of 16-bit words.
36323 (grub_ext2_uuid): New function.
36324 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36325 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36326 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36327 (GRUB_DEVICE_BOOT_UUID): New variables.
36328 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36329 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36330 whenever possible.
36331 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36332 just assume `root' variable has the right value.
36333 * util/grub.d/10_linux.in: Likewise.
36334 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36335 via PRINT_FS_UUID.
36336 (main): Recognise `-t fs_uuid' argument.
36337
01b73ec8 363382008-05-30 Robert Millan <rmh@aybabtu.com>
36339
36340 * util/biosdisk.c (map): Redefine structure to hold information
36341 about GRUB drive name.
fe6b695a 36342 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36343 drive names.
36344 (call_hook): Remove.
36345 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36346 member. Assume drive has partitions.
36347 (grub_util_biosdisk_open): Access device names via `.device' struct
36348 member.
36349 (open_device): Likewise.
36350 (find_drive): Likewise.
36351 (read_device_map): Adjust map[] usage to match the new struct
36352 definition. Don't check for duplicates (still possible, but not cheap
36353 anymore).
36354 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36355 (make_device_name): Remove assumption of BIOS-like drive names.
36356
22f16596 363572008-05-30 Pavel Roskin <proski@gnu.org>
36358
36359 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36360 compiling execute.c doesn't need grub_script.tab.h anymore.
36361 (normal/command.c_DEPENDENCIES): Likewise.
36362 (normal/function.c_DEPENDENCIES): Likewise.
36363 * conf/i386-ieee1275.rmk: Likewise.
36364 * conf/i386-linuxbios.rmk: Likewise.
36365 * conf/i386-pc.rmk: Likewise.
36366 * conf/powerpc-ieee1275.rmk: Likewise.
36367 * conf/sparc64-ieee1275.rmk: Likewise.
36368
528ad8f2 363692008-05-29 Pavel Roskin <proski@gnu.org>
36370
d1dff95d 36371 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36372 when scanning metadata for volume group name.
36373
528ad8f2 36374 * include/grub/script.h: Don't include grub_script.tab.h. It's
36375 a generated file, which may only be included from the files with
36376 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36377 use union YYSTYPE, as the later allows forward declaration.
36378 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36379
47248e08 363802008-05-29 Robert Millan <rmh@aybabtu.com>
36381
36382 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36383 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36384 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36385 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36386 scan codes.
36387
ee632529 363882008-05-29 Robert Millan <rmh@aybabtu.com>
36389
36390 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36391 control key combinations.
36392
eee96e08 363932008-05-29 Robert Millan <rmh@aybabtu.com>
36394
36395 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36396 * util/ieee1275/grub-install.in: ... to here.
36397 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36398 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36399 (grub_install_SOURCES): Likewise.
36400
da9a6a94 364012008-05-29 Robert Millan <rmh@aybabtu.com>
36402
36403 * fs/affs.c: Update copyright year.
36404 * fs/ext2.c: Likewise.
36405 * fs/fshelp.c: Likewise.
36406 * fs/hfsplus.c: Likewise.
36407 * fs/ntfs.c: Likewise.
36408 * fs/xfs.c: Likewise.
36409 * include/grub/fshelp.h: Likewise.
36410 * util/grub-mkdevicemap.c: Likewise.
36411
12e65f3a 364122008-05-28 Robert Millan <rmh@aybabtu.com>
36413
36414 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36415 might need to be fatfs to support some firmware implementations
36416 (e.g. OFW or EFI).
36417
23023641 364182008-05-28 Robert Millan <rmh@aybabtu.com>
36419
36420 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36421 devices.
36422 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36423 (make_device_map): Likewise.
36424
887d2619 364252008-05-20 Bean <bean123ch@gmail.com>
36426
36427 * fs/fshelp.c (grub_fshelp_map_block): New function.
36428 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36429 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36430
36431 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36432 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36433 (grub_fshelp_journal): New structure.
36434 (grub_fshelp_map_block): New function prototype.
36435 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36436 (grub_fshelp_map_block): Likewise.
36437
36438 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36439 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36440 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36441 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36442 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36443 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36444 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36445 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36446 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36447 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36448 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36449 (grub_ext2_sblock): New members for journal support.
36450 (grub_ext3_journal_header): New structure.
36451 (grub_ext3_journal_revoke_header): Likewise.
36452 (grub_ext3_journal_block_tag): Likewise.
36453 (grub_ext3_journal_sblock): Likewise.
36454 (grub_fshelp_node): New members logfile and journal.
36455 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36456 grub_fshelp_map_block to get real block number.
36457 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36458 number.
36459 (grub_ext2_read_inode): Likewise.
36460 (grub_ext3_get_journal): New function.
36461 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36462 (grub_ext2_close): Release memory used by journal.
36463
36464 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36465 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36466 (grub_reiserfs_transaction_header): Renamed to
36467 grub_reiserfs_description_block, replace field data with real_blocks.
36468 (grub_reiserfs_commit_block): New structure.
36469 (grub_reiserfs_data): New member journal.
36470 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36471 number.
36472 (grub_reiserfs_read_symlink): Likewise.
36473 (grub_reiserfs_iterate_dir): Likewise.
36474 (grub_reiserfs_open): Likewise.
36475 (grub_reiserfs_read): Likewise.
36476 (grub_reiserfs_get_journal): New function.
36477 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36478 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36479 using grub_reiserfs_get_journal.
36480 (grub_reiserfs_close): Release memory used by journal.
36481
36482 * fs/affs.c (grub_affs_read_block): Change block type to
36483 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36484
36485 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36486
36487 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36488
36489 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36490
36491 * fs/udf.c (grub_udf_read_block): Change block type to
36492 grub_disk_addr_t. Use type cast to avoid warning.
36493
36494 * fs/xfs.c (grub_xfs_read_block): Likewise.
36495
b7c6bed5 364962008-05-16 Christian Franke <franke@computer.org>
36497
36498 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36499 to ensure that break with ESC will always work.
36500 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36501 Remove ESC from keyboard queue.
36502
eedf167f 365032008-05-16 Christian Franke <franke@computer.org>
36504
36505 * util/biosdisk.c: [__CYGWIN__] Add includes.
36506 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36507 (get_os_disk): Move variable declarations to OS specific
36508 parts to avoid warning.
36509 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36510 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36511 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36512 Cygwin.
36513 * util/getroot.c: [__CYGWIN__] Add includes.
36514 (strip_extra_slashes): Fix "/" case.
36515 [__CYGWIN__] (get_win32_path): New function.
36516 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36517 [__CYGWIN__] (find_root_device): Disable.
36518 [__CYGWIN__] (get_bootsec_serial): New function.
36519 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36520 [__linux__] (grub_guess_root_device): Add early returns to simplify
36521 structure.
36522 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36523 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36524 check for Linux only.
36525
a079699e 365262008-05-15 Bean <bean123ch@gmail.com>
36527
36528 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36529 keyboard hang problem in apple's intel mac.
36530
1cf4059a 365312008-05-09 Robert Millan <rmh@aybabtu.com>
36532
36533 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36534 devices.
36535 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36536 (make_device_map): Likewise.
36537 Reported by Aurelien Jarno <aurel32@debian.org>
36538
ed759390 365392008-05-07 Ian Campbell <ijc@hellion.org.uk>
36540
36541 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36542 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36543 (make_device_map): Output entries for xvd type disks.
36544
b56c4eaa 365452008-05-07 Robert Millan <rmh@aybabtu.com>
36546
36547 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36548 devices.
36549 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36550 (make_device_map): Likewise.
36551 Reported by Roland Dreier <rdreier@cisco.com>
36552
7f8866ed 365532008-05-07 Robert Millan <rmh@aybabtu.com>
36554
36555 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36556 grub_strstr() call. Correct a few mistakes in failure path handling.
36557
b0346e0f 365582008-05-06 Robert Millan <rmh@aybabtu.com>
36559
36560 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36561 Do not print a trailing slash (therefore, the root directory is an
36562 empty string).
36563 (convert_system_path_to_grub_path): Do not remove trailing slash
36564 from make_system_path_relative_to_its_root() output.
36565
36566 * util/i386/pc/grub-install.in: Add trailing slash to output from
36567 make_system_path_relative_to_its_root().
36568
6cf12cbd 365692008-05-06 Robert Millan <rmh@aybabtu.com>
36570
36571 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36572 ensures that output lines aren't intermangled with those sent to
36573 stderr (via grub_util_info()).
36574 * util/grub-probe.c (grub_refresh): Likewise.
36575 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36576
0fbb3117 365772008-05-05 Christian Franke <franke@computer.org>
36578
36579 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36580 Add Cygwin device names.
36581 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36582 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36583 (check_device): Return error instead of success on empty name.
36584 (make_device_map): Move label inside linux specific code to
36585 prevent compiler warning.
36586
8124cdb7 365872008-04-30 Robert Millan <rmh@aybabtu.com>
36588
36589 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36590 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36591 first boot option.
36592 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36593
094c01d0 365942008-04-29 Robert Millan <rmh@aybabtu.com>
36595
36596 * docs/grub.cfg: New file (example GRUB configuration).
36597
f4b1fc02 365982008-04-26 Robert Millan <rmh@aybabtu.com>
36599
329ce2a5 36600 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36601 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36602 and `disk/ieee1275/nand.c'.
f4b1fc02 36603
25f16ec1 366042008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36605
25f16ec1 36606 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36607 i386-linuxbios.
36608
36609 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36610 change the buffer size to 4096 for cdrom device.
36611
36612 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36613 and nand.mod.
36614 (_linux_mod_SOURCES): New variable.
36615 (_linux_mod_CFLAGS): Likewise.
36616 (_linux_mod_LDFLAGS): Likewise.
36617 (linux_mod_SOURCES): Likewise.
36618 (linux_mod_CFLAGS): Likewise.
36619 (linux_mod_LDFLAGS): Likewise.
36620 (nand_mod_SOURCES): Likewise.
36621 (nand_mod_CFLAGS): Likewise.
36622 (nand_mod_LDFLAGS): Likewise.
36623
36624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36625 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36626 type property. (nand device in olpc don't have this property)
36627
36628 * include/grub/disk.h (grub_disk_dev_id): New macro
36629 GRUB_DISK_DEVICE_NAND_ID.
36630
36631 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36632 function prototype.
36633 (grub_rescue_cmd_initrd): Likewise.
36634
36635 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36636 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36637 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36638
25f16ec1 36639 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36640 GRUB_MACHINE_IEEE1275 is defined.
36641
36642 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36643 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36644
36645 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36646 on nested function heap_init.
36647 (grub_upper_mem): New variable for i386-ieee1275.
36648 (grub_get_extended_memory): New function for i386-ieee1275.
36649 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36650
36651 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36652 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36653 property.
f19dbdb7 36654
25f16ec1 36655 * loader/i386/ieee1275/linux.c: New file.
36656
36657 * loader/i386/ieee1275/linux_normal.c: New file.
36658
36659 * disk/ieee1275/nand.c: New file.
36660
e89d61e9 366612008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36662
36663 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36664 value.
36665 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36666
602566f6 366672008-04-18 Robert Millan <rmh@aybabtu.com>
36668
36669 Restructures early code path on ieee1275 to unify grub_main() as
36670 the first C function that is executed in every platform.
36671
36672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36673 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36674 cmain().
36675 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36676 * kern/ieee1275/cmain.c (cmain): Rename to ...
36677 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36678 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36679 at the beginning.
36680
57490c2b 366812008-04-18 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/update-grub.in: Fix syntax error when setting
36684 `GRUB_PRELOAD_MODULES'.
36685 Reported by Stephane Chazelas <stephane@artesyncp.com>
36686
1977517d 366872008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36688
36689 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36690 section into account, newer toolchains generate unique build ids
36691 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36692 we want build ids to be preserved
1977517d 36693 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36694 far from other sections don't cause the raw binary images grow
36695 size
36696
bfb1f1a2 366972008-04-15 Robert Millan <rmh@aybabtu.com>
36698
36699 * disk/lvm.c: Update copyright year.
36700 * kern/misc.c: Likewise.
36701
01979850 367022008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36703
36704 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36705 there is no memory left for physical volume name.
01979850 36706
0a1150e2 367072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36708
36709 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36710 volume name mapping to support bigger than 9 character names properly.
36711
82ead3fe 367122008-04-13 Robert Millan <rmh@aybabtu.com>
36713
36714 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36715 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36716
e54a72f5 367172008-04-13 Christian Franke <franke@computer.org>
36718
36719 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36720 to create a floppy emulation boot CD when non emulation mode
36721 does not work.
36722 Enable Joliet CD filesystem extension.
36723
9fe86034 367242008-04-13 Robert Millan <rmh@aybabtu.com>
36725
36726 * kern/misc.c (grub_strncat): Fix off-by-one error.
36727 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36728
36729 * kern/env.c (grub_env_context_close): Clear current context, not
36730 previous one.
36731 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36732
36733 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36734
7ceeee39 367352008-04-13 Robert Millan <rmh@aybabtu.com>
36736
36737 Improve robustness when handling LVM.
36738
36739 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36740 (and leave `*p' unmodified).
7ceeee39 36741 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36742 through it.
36743 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36744 iterating through it.
36745 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36746 through it.
fe6b695a 36747 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36748 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36749 Don't assume `vg->pvs != NULL' when iterating through it.
36750
58cd3d85 367512008-04-13 Robert Millan <rmh@aybabtu.com>
36752
36753 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36754 * genmk.rb (partmap): New variable.
36755 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36756 (#{partmap}): New target rule.
36757 * genpartmaplist.sh: New file.
36758 * Makefile.in (pkglib_DATA): Add partmap.lst.
36759 (partmap.lst): New target rule.
36760 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36761 modules (including all partition maps), instead of preloading them.
36762
78b51059 367632007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36764
36765 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36766 `linux-boot-prober' (if installed) to detect other operating
36767 systems which are installed on the computer and add them to
36768 the boot menu.
36769 * conf/common.rmk: Build and install 30_os-prober.
36770
a91627b4 367712008-04-12 Robert Millan <rmh@aybabtu.com>
36772
36773 * kern/powerpc/ieee1275/init.c: Move from here ...
36774 * kern/ieee1275/init.c: ... to here. Update all users.
36775
36776 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36777 * kern/ieee1275/cmain.c: ... to here. Update all users.
36778
36779 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36780 * kern/ieee1275/openfw.c: ... to here. Update all users.
36781
36782 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36783 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36784
322562ea 367852008-04-10 Pavel Roskin <proski@gnu.org>
36786
36787 * configure.ac: Always use "_cv_" in cache variables for
36788 compatibility with Autoconf 2.62.
36789
a02a73c5 367902008-04-07 Robert Millan <rmh@aybabtu.com>
36791
36792 Revert grub/machine/init.h addition by Pavel (since it breaks on
36793 i386-ieee1275 and others):
36794 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36795 * util/powerpc/ieee1275/misc.c: Likewise.
36796
25c024b1 367972008-04-07 Robert Millan <rmh@aybabtu.com>
36798
36799 * util/grub-probe.c (probe): Improve error message.
36800
3cbd2f98 368012008-04-07 Robert Millan <rmh@aybabtu.com>
36802
36803 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36804 (this prevents the presence of a bogus entry from ruining the whole
36805 thing).
36806
87a297bf 368072008-04-06 Pavel Roskin <proski@gnu.org>
36808
36747a62 36809 * util/biosdisk.c: Include grub/util/biosdisk.h.
36810 * util/grub-fstest.c (execute_command): Make static.
36811 * util/grub-mkdevicemap.c (check_device): Likewise.
36812 * util/i386/pc/misc.c: Include grub/machine/init.h.
36813 * util/powerpc/ieee1275/misc.c: Likewise.
36814 * util/lvm.c: Include grub/util/lvm.h.
36815 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36816 grub/cache.h.
36817 * util/raid.c: Include grub/util/raid.h.
36818 (grub_util_getdiskname): Make static.
36819
87a297bf 36820 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36821 grub_hostfs_fini(), as they are called from grub_init_all() and
36822 grub_fini_all() respectively. This fixes an infinite loop in
36823 grub-fstest due to double registration of hostfs.
36824 Reported by Christian Franke <Christian.Franke@t-online.de>
36825
f6ce7629 368262008-04-05 Pavel Roskin <proski@gnu.org>
36827
36828 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36829 all 8 functions. Otherwise, probe function 0 only.
36830
070e49e4 368312008-04-04 Pavel Roskin <proski@gnu.org>
36832
8b088a4c 36833 * commands/lspci.c (grub_lspci_iter): Print the bus number
36834 correctly.
36835
4f657021 36836 * commands/lspci.c (grub_pci_classes): Fix typos.
36837 (grub_lspci_iter): Don't print func twice. Print vendor ID
36838 before device ID, as it's normally done.
36839
070e49e4 36840 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36841 Fix signedness warnings.
36842 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36843 Likewise.
36844 * util/ieee1275/get_disk_name.c: Include config.h so that
36845 _GNU_SOURCE is defined and getline() is declared. Mark an
36846 unused argument as such. Fix a signedness warning.
36847
ba7328dc 368482008-04-02 Pavel Roskin <proski@gnu.org>
36849
26887f22 36850 * genkernsyms.sh.in: Use more robust assignments for CC and
36851 srcdir. Quote srcdir.
36852 * gensymlist.sh.in: Likewise. Assert at the compile time that
36853 the symbol table is not empty.
36854
ba7328dc 36855 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36856 * fs/cpio.c (grub_cpio_read): Likewise.
36857
0f582c6b 368582008-04-01 Pavel Roskin <proski@gnu.org>
36859
4b6e1995 36860 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36861 * disk/host.c (grub_host_open): Likewise.
36862 * disk/loopback.c (grub_loopback_open): Likewise.
36863 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36864 disk->id as in disk/host.c, not a multi-character constant.
36865
828a2768 36866 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36867 later is obsolete, potentially dangerous and sets a bad example.
36868 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36869 * util/misc.c (grub_util_get_image_size): Likewise.
36870
2bb4fb47 36871 * disk/loopback.c (options): Improve help for "--partitions".
36872
0f582c6b 36873 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36874 options to align them with the short options, e.g. "echo -e".
36875
a33224e0 368762008-03-31 Bean <bean123ch@gmail.com>
36877
36878 * video/reader/png.c (grub_png_data): New member is_16bit and
36879 image_data.
36880 (grub_png_decode_image_header): Detect 16 bit png image.
36881 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36882 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36883 (grub_video_reader_png): Release memory occupied by image_data.
36884
36885 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36886 4096 bytes.
36887 (grub_nfs_mount): Skip the test for sector per cluster.
36888
36889 * include/grub/ntfs.h (MAX_SPC): Removed.
36890
86cb4f54 368912008-03-31 Bean <bean123ch@gmail.com>
36892
36893 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36894 (grub_probe_SOURCES): Add fs/afs.c.
36895 (grub_fstest_SOURCES): Likewise.
36896 (afs_mod_SOURCES): New variable.
36897 (afs_mod_CFLAGS): Likewise.
36898 (afs_mod_LDFLAGS): Likewise.
36899
36900 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36901 (grub_emu_SOURCES): Likewise.
36902
36903 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36904
36905 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36906
36907 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36908
36909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36910
36911 * fs/afs.c: New file.
36912
17c74c21 369132008-03-30 Pavel Roskin <proski@gnu.org>
36914
4cb68e89 36915 * disk/host.c: Include grub/misc.h to fix a warning.
36916 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36917 warnings about implicit declarations.
36918
8790bb04 36919 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36920 variable.
36921 * include/grub/i386/loader.h: Change declaration of
36922 grub_linux_boot() to match what grub_loader_set() expects.
36923 * util/getroot.c (grub_guess_root_device): Return const char* to
36924 fix a warning.
36925 * util/grub-probe.c (probe): Fix a warning about uninitialized
36926 abstraction_name variable.
36927 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36928 second argument as unused to fix a warning.
36929
9a3f3296 36930 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36931 missing grub_error() call.
36932
0ecef90d 36933 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36934 2.60 and newer uses it to define datadir.
36935
0bf6d401 36936 * commands/sleep.c: Fix warning about implicit declaration.
36937 * disk/memdisk.c: Likewise.
36938 * loader/aout.c: Likewise.
36939 * loader/i386/bsd_normal.c: Likewise.
36940 * util/grub-probe.c: Likewise.
36941
7cdacf97 36942 * commands/i386/cpuid.c (has_longmode): Make static.
36943 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36944 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36945
17c74c21 36946 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36947 GDT. This is more robust, as %ds can change.
36948 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36949 calling real_to_prot().
36950 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36951
80a3e68b 369522008-03-28 Pavel Roskin <proski@gnu.org>
36953
36954 * kern/i386/pc/startup.S: Assert that uncompressed functions
36955 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36956 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36957 code, as they push parts of the code (error handlers) beyond
36958 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36959 code as correctness and size.
36960
77bcd272 369612008-03-28 Pavel Roskin <proski@gnu.org>
36962
36963 * kern/i386/pc/startup.S
36964 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36965 data block address to the real mode, keep offset minimal. This
36966 works around a bug in AWARD BIOS on old Athlon systems, which
36967 makes CD detection hang.
36968
c5dfd43b 369692008-03-26 Pavel Roskin <proski@gnu.org>
36970
36971 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36972 const.
36973 * include/grub/normal.h: Add grub_parse_color_name_pair()
36974 declaration.
36975
bf962df2 369762008-03-24 Bean <bean123ch@gmail.com>
36977
36978 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36979 (cd_count): Removed.
36980 (cd_drive): New variable.
36981 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36982 (grub_biosdisk_call_hook): Likewise.
36983 (grub_biosdisk_iterate): Change cdrom detection method.
36984 (grub_biosdisk_open): Replace cd_start with cd_drive.
36985 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36986 detect cdrom device.
36987
36988 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36989 Removed.
36990 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36991 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36992 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36993 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36994 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36995 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36996 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36997 (grub_biosdisk_cdrp): New structure.
36998 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36999
37000 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37001
37002 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37003 device.
37004
37005 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37006 New function.
37007
68e7fc7a 370082008-03-20 Robert Millan <rmh@aybabtu.com>
37009
37010 Remove 2 TiB limit in ata.mod.
37011 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37012 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37013 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37014 grub_uint64_t instead of grub_uint32_t.
37015
38ad2cf5 370162008-03-05 Bean <bean123ch@gmail.com>
37017
37018 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37019 (grub_multiboot): Set boot device.
37020
37021 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37022
2b89344e 370232008-03-02 Bean <bean123ch@gmail.com>
37024
37025 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37026 symlink_buffer.
37027
87a95d1f 370282008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37029
37030 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37031 texinfo.tex.
37032
37033 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37034 modified.
37035
37036 * docs/fdl.texi: New file.
f19dbdb7 37037
87a95d1f 37038 * docs/mdate-sh: New file. Copied from gnulib.
37039 * docs/texinfo.tex: Likewise.
37040
37041 * config.guess: Updated from gnulib.
37042 * install-sh: Likewise.
37043
7dc15d8e 370442008-02-28 Robert Millan <rmh@aybabtu.com>
37045
37046 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37047 (aout_mod_SOURCES): New variable.
37048 (aout_mod_CFLAGS): Likewise.
37049 (aout_mod_LDFLAGS): Likewise.
37050
37051 * conf/i386-ieee1275.rmk: Likewise.
37052
b00ab696 370532008-02-28 Robert Millan <rmh@aybabtu.com>
37054
37055 * util/update-grub.in: Reorganise terminal validity check. Accept
37056 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37057 Based on suggestion by Franklin PIAT.
37058
79ca2d78 370592008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37060
37061 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37062 function.
37063 * util/getroot.c (grub_util_check_block_device): New function that
37064 returns the given argument if it is a block device and returns NULL else.
37065 * util/grub-probe.c (argument_is_device): New variable.
37066 (probe): Promote device_name from a variable to an argument. Receive
37067 device_name from grub_util_check_block_device() if path is NULL and from
37068 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37069 (options): Introduce new parameter '-d, --device'.
79ca2d78 37070 (main): Add description of the new parameter to the help screen.
37071 Rename path variable to argument. Set argument_is_device if the '-d'
37072 option is given. Pass argument to probe() depending on
37073 argument_is_device.
37074
0d16e571 370752008-02-24 Bean <bean123ch@gmail.com>
37076
37077 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37078 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37079 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37080 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37081 (GRUB_ISO9660_VOLDESC_END): Likewise.
37082 (grub_iso9660_primary_voldesc): New member escape.
37083 (grub_iso9660_data): New member joliet.
37084 (grub_iso9660_convert_string): New function.
37085 (grub_iso9660_mount): Detect joliet extension.
37086 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37087 (grub_iso9660_iso9660_label): Likewise.
37088
37089 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37090 (grub_setup_SOURCES): Add fs/udf.c.
37091 (grub_fstest_SOURCES): Likewise.
37092 (udf_mod_SOURCES): New variable.
37093 (udf_mod_CFLAGS): Likewise.
37094 (udf_mod_LDFLAGS): Likewise.
37095
37096 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37097 (grub_emu_SOURCES): Likewise.
37098
37099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37100
37101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37102
37103 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37104
37105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37106
37107 * fs/udf.c: New file.
37108
8a594a17 371092008-02-24 Robert Millan <rmh@aybabtu.com>
37110
37111 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37112 (normal/lexer.c_DEPENDENCIES): New variables.
37113 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37114 (normal/lexer.c_DEPENDENCIES): Likewise.
37115 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37116 (normal/lexer.c_DEPENDENCIES): Likewise.
37117 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37118 (normal/lexer.c_DEPENDENCIES): Likewise.
37119 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37120 (normal/lexer.c_DEPENDENCIES): Likewise.
37121 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37122 (normal/lexer.c_DEPENDENCIES): Likewise.
37123
2dc33c03 371242008-02-23 Robert Millan <rmh@aybabtu.com>
37125
37126 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37127 since they were intended to be in hex. This didn't break previously
37128 because of a bug in gpt_partition_map_iterate() (see below).
37129
37130 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37131 when checking the validity of GPT header.
37132 Remove `partno', since it always provides the same information as `i'.
37133
f6f4cfb0 371342008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37135
37136 * include/grub/efi/time.h: Fix a wrong comment.
37137
79ff665f 371382008-02-19 Pavel Roskin <proski@gnu.org>
37139
37140 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37141 message.
37142
d38e24c2 371432008-02-19 Bean <bean123ch@gmail.com>
37144
37145 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37146 (aout_mod_SOURCES): New variable.
37147 (aout_mod_CFLAGS): Likewise.
37148 (aout_mod_LDFLAGS): Likewise.
37149 (_bsd_mod_SOURCES): New variable.
37150 (_bsd_mod_CFLAGS): Likewise.
37151 (_bsd_mod_LDFLAGS): Likewise.
37152 (bsd_mod_SOURCES): New variable.
37153 (bsd_mod_CFLAGS): Likewise.
37154 (bsd_mod_LDFLAGS): Likewise.
37155
37156 * include/grub/aout.h: New file.
37157
37158 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37159
37160 * include/grub/i386/bsd.h: New file.
37161
37162 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37163 to make it public.
37164
37165 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37166 function is called, so that it's possible to change it inside the hook.
37167 (grub_elf64_load): Likewise.
37168 (grub_elf_file): Don't close the file if elf header is not found.
37169 (grub_elf_close): Close the file if grub_elf_file fails (The new
37170 grub_elf_file won't close it).
37171 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37172 (grub_elf64_size): Likewise.
37173
37174 * kern/i386/loader.S (grub_unix_real_boot): New function.
37175
37176 * loader/aout.c: New file.
37177
37178 * loader/i386/bsd.c: New file.
37179
37180 * loader/i386/bsd_normal.c: New file.
37181
37182 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37183
37184 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37185 can test other formats.
d38e24c2 37186
b93bdb0f 371872008-02-19 Robert Millan <rmh@aybabtu.com>
37188
37189 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37190 (grub_gpt_partition_type_empty): Redefine with macro from
37191 `<grub/gpt_partition.h>'.
37192 (gpt_partition_map_iterate): Adjust partition type comparison.
37193
37194 Export `entry' as partmap-specific `part.data' struct.
37195 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37196
37197 * include/grub/gpt_partition.h (grub_gpt_header)
37198 (grub_gpt_partentry): ... to here (new file).
37199
37200 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37201
37202 (grub_gpt_partition_type_bios_boot): New const variable, defined
37203 with macro from `<grub/gpt_partition.h>'.
37204
37205 (setup): Replace `first_start' with `embed_region', which keeps
37206 track of the embed region (and is partmap-agnostic).
37207
37208 Replace find_first_partition_start() with find_usable_region(),
37209 which finds a usable region for embedding using partmap-specific
37210 knowledge (supports PC/MSDOS and GPT).
37211
37212 Fix all assumptions that the embed region start at sector 1, using
37213 `embed_region.start' from now on. Similarly, use `embed_region.end'
37214 rather than `first_start' to calculate available size.
37215
37216 In grub_util_info() message, replace "into after the MBR" with an
37217 indication of the specific sector our embed region starts at.
37218
66cb40f6 372192008-02-19 Robert Millan <rmh@aybabtu.com>
37220
37221 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37222 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37223 `commands/reboot.c'.
37224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37225 (halt_mod_SOURCES): Likewise.
37226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37227 (halt_mod_SOURCES): Likewise.
37228
b7202015 372292008-02-17 Christian Franke <franke@computer.org>
37230
37231 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37232
32b0fc49 372332008-02-17 Robert Millan <rmh@aybabtu.com>
37234
37235 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37236 set `first_start' to 0 for non-PC/MSDOS partition maps.
37237
aca63502 372382008-02-16 Robert Millan <rmh@aybabtu.com>
37239
37240 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37241 do not assume partition map is PC/MSDOS before performing checks that
37242 are specific to that layout.
37243
0de8be86 372442008-02-13 Robert Millan <rmh@aybabtu.com>
37245
37246 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37247 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37248 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37249
c3db8364 372502008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37251
37252 * configure.ac: Only a cosmetic change on the handling of
37253 -fno-stack-protector.
37254
f714229e 372552008-02-12 Alexandre Boeglin <alex@boeglin.org>
37256
c3db8364 37257 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37258 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37259 reboot.c.
f714229e 37260 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37261 (halt_mod_SOURCES): New variable.
37262 (halt_mod_CFLAGS): Likewise.
37263 (halt_mod_LDFLAGS): Likewise.
37264 (reboot_mod_SOURCES): Likewise.
37265 (reboot_mod_CFLAGS): Likewise.
37266 (reboot_mod_LDFLAGS): Likewise.
37267
c3db8364 37268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37269 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37270 reboot.c.
f714229e 37271 (halt_mod_SOURCES): Likewise.
37272 (reboot_mod_SOURCES): Likewise.
37273
c3db8364 37274 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37275 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37276 (reboot_mod_SOURCES): Likewise.
37277
37278 * commands/i386/pc/reboot.c: merge this file ...
37279
37280 * commands/ieee1275/reboot.c: ... and this file ...
37281
37282 * commands/reboot.c: ... to this file.
c3db8364 37283 Add some precompiler directive to include the correct header for
37284 each machine.
f714229e 37285
37286 * commands/ieee1275/halt.c: move this file ...
37287
37288 * commands/halt.c: ... to here.
c3db8364 37289 Add some precompiler directive to include the correct header for
37290 each machine.
f714229e 37291
37292 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37293 (grub_halt): Likewise.
37294
37295 * kern/efi/efi.c (grub_reboot): New function.
37296 (grub_halt): Likewise.
37297
c74493e0 372982008-02-12 Robert Millan <rmh@aybabtu.com>
37299
37300 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37301 /dev (like it is done for /dev/mapper). This doesn't provide support
37302 for EVMS, but at least it is now easy to identify the problem when it
37303 arises.
37304
d0db4b04 373052008-02-11 Robert Millan <rmh@aybabtu.com>
37306
37307 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37308 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37309 comparing it with -1, not 0.
37310
bf748642 373112008-02-10 Robert Millan <rmh@aybabtu.com>
37312
37313 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37314 `disk/lvm.c'.
37315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37316 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37317
37318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37319 `disk/lvm.c' to the end of the list.
37320 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37322
b5db202a 373232008-02-10 Robert Millan <rmh@aybabtu.com>
37324
37325 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37326 grub_print_error() instead. This will let user know why we're entering
37327 rescue mode.
37328 Based on suggestions from Sam Morris.
37329
83abee31 373302008-02-10 Alexandre Boeglin <alex@boeglin.org>
37331
37332 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37333 on remaining N args, instead of "--" arg N times.
37334
78d5a08b 373352008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37336
37337 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37338 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37339 pattern for unknown glyphs.
37340
68807e5f 373412008-02-09 Robert Millan <rmh@aybabtu.com>
37342
37343 * configure.ac: Probe for `help2man'.
37344 * Makefile.in (builddir): New variable.
37345 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37346 or otherwise add a few flags/options to it.
37347 (install-local): For every executable utility or script that is
37348 installed, invoke $(HELP2MAN) to install a manpage based on --help
37349 output.
37350
37351 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37352 that it doesn't prevent --help from working in build tree.
37353
37354 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37355 with `bug-grub@gnu.org'.
37356 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37357 * util/update-grub.in (usage): New function.
37358 Implement proper argument check, with support for --help and --version
37359 (as well as existing -y).
37360
373612008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37362
37363 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37364 avoid overwriting previous output.
37365 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37366
c1962162 373672008-02-09 Robert Millan <rmh@aybabtu.com>
37368
37369 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37370 drawing the menu.
37371
3dac2e3f 373722008-02-09 Robert Millan <rmh@aybabtu.com>
37373
37374 * commands/sleep.c: New file.
37375 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37376 (sleep_mod_SOURCES): New variable.
37377 (sleep_mod_CFLAGS): Likewise.
37378 (sleep_mod_LDFLAGS): Likewise.
37379
7a634e08 373802008-02-09 Robert Millan <rmh@aybabtu.com>
37381
37382 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37383 situations in which we can deduce the RAID size and the superblock
37384 doesn't match it.
37385
b92f0c18 373862008-02-09 Robert Millan <rmh@aybabtu.com>
37387
37388 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37389 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37390 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37391
37392 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37393 and return a grub_diskmemberlist_t composed of physical array members.
37394 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37395
37396 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37397 prototype.
37398 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37399 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37400 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37401
37402 * util/grub-probe.c (probe): Move partmap probing code from here ...
37403 (probe_partmap): ... to here.
37404 (probe): Use probe_partmap() once for the disk we're probing, and
37405 additionally, when such disk contains a memberlist() struct member,
37406 once for each disk that is contained in the structure returned by
37407 memberlist().
37408
91a4bf68 374092008-02-09 Robert Millan <rmh@aybabtu.com>
37410
37411 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37412 environment variable to 'all' in order to obtain debug output from
37413 non-util/ code.
37414 * util/i386/pc/grub-setup.c (main): Likewise.
37415
a96f9caa 374162008-02-08 Robert Millan <rmh@aybabtu.com>
37417
37418 * disk/raid.c (grub_raid_scan_device): Check for
37419 `array->device[sb.this_disk.number]' rather than for
37420 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37421 guaranteed to be accessible.
a96f9caa 37422
b37a9222 374232008-02-08 Robert Millan <rmh@aybabtu.com>
37424
37425 * disk/raid.c: Update copyright.
37426 * fs/cpio.c: Likewise.
37427 * include/grub/raid.h: Likewise.
37428 * loader/i386/pc/multiboot.c: Likewise.
37429 * util/hostfs.c: Likewise.
37430
5626aee1 374312008-02-08 Robert Millan <rmh@aybabtu.com>
37432
37433 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37434 to a grub_disk_t array.
37435 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37436 `device[x]'.
37437 (grub_raid_scan_device): Replace `device[x].name' accesses with
37438 `device[x]->name'. Simplify initialization of `array->device[x]'.
37439
554f0187 374402008-02-08 Robert Millan <rmh@aybabtu.com>
37441
37442 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37443 grub_dprintf() calls.
37444 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37445 error message.
37446
1ec8425d 374472008-02-07 Christian Franke <franke@computer.org>
37448
37449 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37450 instead of fseek and ftell to support large files.
37451 (grub_hostfs_read): Likewise.
37452
f2156fda 374532008-02-07 Robert Millan <rmh@aybabtu.com>
37454
37455 Patch from Jeroen Dekkers.
37456 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37457 failure, since successfully reading all array members might not be
f2156fda 37458 required.
37459
9216e0e7 374602008-02-06 Robert Millan <rmh@aybabtu.com>
37461
37462 * util/grub-probe.c (probe): Simplify partmap probing (with the
37463 assumption that the first word up to the underscore equals to
37464 the module name).
37465
b0dfd29a 374662008-02-06 Christian Franke <franke@computer.org>
37467
37468 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37469 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37470 last block of a cpio or tar stream.
37471 Check for "TRAILER!!!" instead of any empty data
37472 block to detect last block of a cpio stream.
37473 (grub_cpio_dir): Fix constness of variable np.
37474 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37475 cpio or tar trailer is detected. This fixes a crash
37476 on open of a non existing file.
37477
c32865bf 374782008-02-05 Bean <bean123ch@gmail.com>
37479
37480 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37481 address of entry.
37482 (grub_multiboot_load_elf64): Likewise.
37483 (grub_multiboot): Initialize mbi structure.
37484
37485 * util/grub-fstest.c: Don't include unused header file script.h.
37486
fe6b695a 37487 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37488 of file.
37489 (grub_fstest_SOURCES): Likewise.
37490
409480b7 374912008-02-05 Robert Millan <rmh@aybabtu.com>
37492
37493 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37494 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37495 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37496 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37497
37498 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37499 (translation_table): Replace hardcoded values with macros
37500 provided by `<grub/term.h>'.
37501
37502 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37503 (keyboard_map): Correct/add a few values, with macros provided
37504 by `<grub/term.h>'.
37505 (keyboard_map_shift): Zero values that don't differ from their
37506 `keyboard_map' equivalents.
37507 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37508 Discard the second scan code that is always sent by Caps lock.
37509 Only use `keyboard_map_shift' when it provides a non-zero value,
37510 otherwise fallback to `keyboard_map'.
37511
99fadbaa 375122008-02-04 Bean <bean123ch@gmail.com>
37513
37514 * Makefile.in (enable_grub_fstest): New variable.
37515
37516 * conf/common.rmk (grub_fstest_init.lst): New rule.
37517 (grub_fstest_init.h): Likewise.
37518 (grub_fstest_init.c): Likewise.
37519 (util/grub-fstest.c_DEPENDENCIES): New variable.
37520 (grub_fstest_SOURCES): Likewise.
37521
37522 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37523
37524 * util/grub-fstest.c: New file.
37525
bf567c50 375262008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37527
37528 Make grub-setup handle a separate root device.
f19dbdb7 37529
bf567c50 37530 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37531 so that the root device can be compared with the destination
37532 device.
37533 When embedding the core image, if the root and destination devices
37534 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37535 0xFF.
37536 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37537
9be6b98b 375382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37539
37540 Add support for having a grub directory in a different drive. This
37541 is still only the data handling part.
f19dbdb7 37542
9be6b98b 37543 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37544 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37545 (grub_root_drive): New variable.
37546
37547 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37548 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37549 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37550 as it was.
37551
37552 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37553
37554 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37555 macro.
37556 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37557
37558 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37559 is bogus, because PXE booting does not specify any drive
37560 correctly.
37561
37562 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37563 am not sure if this is really correct.
37564
37565 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37566 is always identical to the boot drive when booting from a CD.
37567
37568 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37569 longer.
37570 (root_drive): New variable.
37571 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37572 (setup_sectors): Push %dx right after popping it, because %dh will
37573 be modified later.
37574 (copy_buffer): Restore %dx.
37575
e0ca0677 375762008-02-03 Robert Millan <rmh@aybabtu.com>
37577
37578 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37579 use `cdboot.img' for cdrom images.
37580
3b3f6629 375812008-02-03 Robert Millan <rmh@aybabtu.com>
37582
37583 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37584 only setup gfxterm when `font' command has succeeded.
37585
d42b3672 375862008-02-03 Robert Millan <rmh@aybabtu.com>
37587
37588 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37589 (grub_rescue_cmd_multiboot_loader)
37590 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37591
fa370ea6 375922008-02-03 Pavel Roskin <proski@gnu.org>
37593
e0c5dacb 37594 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37595 %edx and %esi from stack only after grub_gate_a20() is called.
37596 grub_gate_a20() clobbers %edx.
37597
f2a76e1d 375982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37599
37600 * configure.ac (AC_INIT): Bumped to 1.96.
37601
37602 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37603 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37604 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37605 video/readers/png.c.
37606
90fd32d1 376072008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37608
37609 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37610 (cdboot_img_SOURCES): New variable.
37611 (cdboot_img_ASFLAGS): New variable.
37612 (cdboot_img_LDFLAGS): New variable.
37613
37614 * boot/i386/pc/cdboot.S: New file.
37615
37616 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37617 (cd_count): Likewise.
37618 (grub_biosdisk_get_drive): Add support for cd device.
37619 (grub_biosdisk_call_hook): Likewise.
37620 (grub_biosdisk_iterate): Likewise.
37621 (grub_biosdisk_open): Likewise.
37622 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37623 (grub_biosdisk_rw): Support reading from cd device.
37624 (GRUB_MOD_INIT): Iterate cd devices.
37625
37626 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37627 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37628 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37629
37630 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37631
4020aa53 376322008-02-02 Robert Millan <rmh@aybabtu.com>
37633
37634 * commands/read.c: New file.
37635 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37636 (read_mod_SOURCES): New variable.
37637 (read_mod_CFLAGS): Likewise.
37638 (read_mod_LDFLAGS): Likewise.
37639
e03a1132 376402008-02-02 Robert Millan <rmh@aybabtu.com>
37641
37642 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37643 determining whether menu has to be displayed.
37644
58c69220 376452008-02-02 Marco Gerards <marco@gnu.org>
37646
37647 * bus/pci.c: New file.
37648
37649 * include/grub/pci.h: Likewise.
37650
37651 * include/grub/i386/pc/pci.h: Likewise.
37652
37653 * commands/lspci.c: Likewise.
37654
37655 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37656 `lspci.mod'.
37657 (pci_mod_SOURCES): New variable.
37658 (pci_mod_CFLAGS): Likewise.
37659 (pci_mod_LDFLAGS): Likewise.
37660 (lspci_mod_SOURCES): Likewise.
37661 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37662 (lspci_mod_LDFLAGS): Likewise.
58c69220 37663
c004e1b4 376642008-02-02 Bean <bean123ch@gmail.com>
37665
37666 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37667 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37668
37669 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37670 (grub_xfs_btree_node): New structure.
37671 (grub_xfs_btree_root): New structure.
37672 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37673 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37674 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37675 (GRUB_XFS_EXTENT_SIZE): Likewise.
37676 (grub_xfs_read_block): Support btree format type.
37677 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37678 Use directory block as basic unit.
37679
37680 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37681
37682 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37683 __attribute__ ((__regparm__ (1))).
37684
f95562bf 376852008-02-01 Robert Millan <rmh@aybabtu.com>
37686
37687 Correct a mistake in previous commit.
37688
37689 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37690 top.
37691 (normal/command.c_DEPENDENCIES): New variable.
37692
7d31f41f 376932008-02-01 Robert Millan <rmh@aybabtu.com>
37694
37695 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37696 top.
37697 (normal/command.c_DEPENDENCIES): New variable.
37698 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37699 * conf/i386-ieee1275.rmk: Likewise.
37700 * conf/i386-linuxbios.rmk: Likewise.
37701 * conf/i386-pc.rmk: Likewise.
37702 * conf/sparc64-ieee1275.rmk: Likewise.
37703 * conf/powerpc-ieee1275.rmk: Likewise.
37704 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37705
37706 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37707
60b6be74 377082008-02-01 Robert Millan <rmh@aybabtu.com>
37709
37710 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37711 call at beginning of function.
37712
078522ab 377132008-01-31 Pavel Roskin <proski@gnu.org>
37714
37715 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37716 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37717 (grub_mkrescue_SOURCES): Likewise.
078522ab 37718 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37719
ccaa8a5f 377202008-01-30 Robert Millan <rmh@aybabtu.com>
37721
37722 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37723 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37724 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37725 (grub_probe_SOURCES): ... to here.
37726
37727 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37728 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37729 * conf/i386-ieee1275.rmk: Likewise.
37730 * conf/i386-linuxbios.rmk: Likewise.
37731 * conf/powerpc-ieee1275.rmk: Likewise.
37732
ae5a9cd7 377332008-01-30 Tristan Gingold <gingold@free.fr>
37734
37735 * kern/rescue.c: Silently accept empty lines.
37736
70bc2ef2 377372008-01-29 Bean <bean123ch@gmail.com>
37738
37739 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37740 (real_code_2): Code cleanup and change comment style.
37741 (move_memory): Avoid using 32-bit address mode.
37742
6a4d50ea 377432008-01-29 Bean <bean123ch@gmail.com>
37744
37745 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37746 (png_mod_SOURCES): New variable.
37747 (png_mod_CFLAGS): Likewise.
37748 (png_mod_LDFLAGS): Likewise.
37749
37750 * video/readers/png.c: New file.
37751
11cc30ac 377522008-01-28 Robert Millan <rmh@aybabtu.com>
37753
37754 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37755 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37756 `ifndef GRUB_MOD_GAP' hack.
37757 * util/elf/grub-mkimage.c (add_segments): Likewise.
37758
3abc589f 377592008-01-27 Robert Millan <rmh@aybabtu.com>
37760
37761 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37762 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37763 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37764
e1907778 377652008-01-27 Robert Millan <rmh@aybabtu.com>
37766
37767 Get grub-emu to build again (including parallel builds).
37768
37769 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37770 Split into ...
37771 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37772 (normal/execute.c_DEPENDENCIES): ... this, ...
37773 (grub-emu_DEPENDENCIES): ... and this.
37774
37775 * conf/i386-efi.rmk: Likewise.
37776 * conf/i386-linuxbios.rmk: Likewise.
37777 * conf/i386-ieee1275.rmk: Likewise.
37778 * conf/powerpc-ieee1275.rmk: Likewise.
37779 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37780
2216b101 377812008-01-27 Robert Millan <rmh@aybabtu.com>
37782
37783 * NEWS: Add a few items.
37784
f75172d9 377852008-01-27 Robert Millan <rmh@aybabtu.com>
37786
37787 Fix parallel builds with grub-emu. Based on earlier commit for
37788 grub-probe and grub-setup.
37789
37790 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37791 (util/grub-emu.c_DEPENDENCIES): ... this.
37792 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37793 (util/grub-emu.c_DEPENDENCIES): ... this.
37794 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37795 (util/grub-emu.c_DEPENDENCIES): ... this.
37796 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37797 (util/grub-emu.c_DEPENDENCIES): ... this.
37798 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37799 (util/grub-emu.c_DEPENDENCIES): ... this.
37800
3f51de77 378012008-01-27 Pavel Roskin <proski@gnu.org>
37802
37803 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37804 to create a gap between _end and the modules added to the image
37805 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37806 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37807 * util/elf/grub-mkimage.c (add_segments): Likewise.
37808
2033f53e 378092008-01-26 Pavel Roskin <proski@gnu.org>
37810
37811 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37812 just return an error.
37813
22da1f6f 378142008-01-26 Bean <bean123ch@gmail.com>
37815
37816 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37817 (grub_reiserfs_get_item): Save offset of the next item.
37818 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37819
2a9525e6 378202008-01-25 Robert Millan <rmh@aybabtu.com>
37821
37822 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37823 make all filesystem sources appear together (possibly fixing omissions
37824 while at it).
37825 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37827 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37829
37830 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37831 add `kern/file.c'.
37832 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37833 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37834 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37835 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37836
37837 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37838 (probe): Add a sanity check to make sure of our ability to read
37839 requested files when probing for filesystem type.
37840
37841 * genmk.rb: Update copyright year (2007).
37842
37843 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37844 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37845 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37846 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37847 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37848 : Remove function prototypes.
37849
b95f71b5 378502008-01-25 Robert Millan <rmh@aybabtu.com>
37851
37852 Revert my previous commits (based on wrong assumption of how grub_errno
37853 works).
37854
fe6b695a 37855 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37856 * kern/file.c (grub_file_open): Likewise.
37857
d08bbb49 378582008-01-24 Pavel Roskin <proski@gnu.org>
37859
37860 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37861 that hang if GRUB tries to setup colors.
37862 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37863 colors for firmwares that don't support it.
37864 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37865 Recognize Open Hack'Ware, set flags to work around its
37866 limitations.
37867
605e36ed 378682008-01-24 Robert Millan <rmh@aybabtu.com>
37869
37870 * kern/file.c (grub_file_open): Do not account previous failures of
37871 unrelated functions when grub_errno is checked for.
37872 Reported by Oleg Strikov.
37873
bac332a1 378742008-01-24 Bean <bean123ch@gmail.com>
37875
37876 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37877 (grub_ufs_sblock): New member volume name.
37878 (grub_ufs_find_file): Fix string copy bug.
37879 (grub_ufs_label): Implement this function properly.
37880
37881 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37882 (grub_hfs_iterate_records): Use the correct file number for extents
37883 and catalog file. Fix problem in next index calculation.
37884 (grub_hfs_find_node): Replace recursive function call with loop.
37885 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37886
15c80c09 378872008-01-23 Robert Millan <rmh@aybabtu.com>
37888
37889 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37890 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37891 (grub_multiboot2_real_boot): New function prototype.
37892
37893 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37894 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37895
37896 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37897 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37898
305338fd 378992008-01-23 Robert Millan <rmh@aybabtu.com>
37900
37901 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37902 #ifdef'ed out grub_printf().
37903
3ea52685 379042008-01-23 Robert Millan <rmh@aybabtu.com>
37905
37906 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37907 grub_dprintf calls, since they make "debug=all" mode unusable.
37908 (grub_console_checkkey): Likewise.
37909
5882ae4b 379102008-01-23 Robert Millan <rmh@aybabtu.com>
37911
37912 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37913 `term/i386/pc/at_keyboard.c'.
37914 (pkglib_MODULES): Add `serial.mod'.
37915 (serial_mod_SOURCES): New variable.
37916 (serial_mod_CFLAGS): Likewise.
37917 (serial_mod_LDFLAGS): Likewise.
37918
37919 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37920 `<grub/powerpc/ieee1275/console.h>'.
37921 (grub_keyboard_controller_init): New function prototype.
37922 (grub_console_checkkey): Likewise.
37923 (grub_console_getkey): Likewise.
37924
37925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37926 keyboard on i386.
37927
37928 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37929 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37930
06ab5303 379312008-01-23 Robert Millan <rmh@aybabtu.com>
37932
37933 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37934 present, "(memdisk)/boot/grub" becomes the default prefix.
37935
37936 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37937 a memdisk tarball with all the modules. Add --overlay=DIR option that
37938 allows users to overlay additional files into the image.
37939
dbb475a4 379402008-01-23 Robert Millan <rmh@aybabtu.com>
37941
37942 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37943 and `machine/memory.h'.
37944 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37945 (_multiboot_mod_SOURCES): New variable.
37946 (_multiboot_mod_CFLAGS): Likewise.
37947 (_multiboot_mod_LDFLAGS): Likewise.
37948 (multiboot_mod_SOURCES): Likewise.
37949 (multiboot_mod_CFLAGS): Likewise.
37950 (multiboot_mod_LDFLAGS): Likewise.
37951
37952 * include/grub/i386/ieee1275/loader.h: New file.
37953
37954 * include/grub/i386/ieee1275/machine.h: Likewise.
37955
37956 * include/grub/i386/ieee1275/memory.h: Likewise.
37957
37958 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37959 variable declaration.
37960 (grub_os_area_size): Likewise.
37961
37962 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37963 (grub_lower_mem, grub_upper_mem): New variables.
37964 (grub_stop_floppy): New function (just to make
37965 grub_multiboot2_real_boot() happy).
37966
37967 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37968 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37969 (grub_stop): New function.
37970 Include `"../realmode.S"' and `"../loader.S"'.
37971
37972 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37973 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37974
37975 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37976 rely on grub_multiboot2_real_boot() for final boot.
37977
25638629 379782008-01-22 Robert Millan <rmh@aybabtu.com>
37979
37980 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37981 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37982 device that doesn't look like an SD card.
37983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37984 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37985 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37986 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37987 found.
37988
9dad816d 379892008-01-22 Robert Millan <rmh@aybabtu.com>
37990
37991 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37992 avoid claiming over our own code.
37993
34842f2d 379942008-01-22 Bean <bean123ch@gmail.com>
37995
37996 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37997 (jpeg_mod_SOURCES): New variable.
37998 (jpeg_mod_CFLAGS): Likewise.
37999 (jpeg_mod_LDFLAGS): Likewise.
38000
38001 * video/readers/jpeg.c : New file.
38002
44023a28 380032008-01-22 Bean <bean123ch@gmail.com>
38004
38005 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38006 there are no more items.
38007
bc2d8ac6 380082008-01-21 Robert Millan <rmh@aybabtu.com>
38009
38010 * kern/mm.c (grub_mm_init_region): Improve debug message.
38011
261bd4bc 380122008-01-21 Robert Millan <rmh@aybabtu.com>
38013
38014 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38015 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38016 address.
38017 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38018 a C macro.
38019 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38020 Indicates start of upper memory.
38021 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38022 (generate_image): Abort when image size is big enough to corrupt
38023 upper memory.
38024
38025 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38026 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38027 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38028 instead of hardcoding 0xA0000.
38029 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38030 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38031 instead of hardcoding 0xA0000.
38032
f970b55e 380332008-01-21 Robert Millan <rmh@aybabtu.com>
38034
38035 * disk/memdisk.c (memdisk_size): New variable.
38036 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38037 `memdisk_size'.
38038 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38039 image to dynamic memory.
38040 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38041 `memdisk_size'. Free memdisk block.
38042
1a8b0526 380432008-01-21 Robert Millan <rmh@aybabtu.com>
38044
38045 Fix detection of very small filesystems (like tar).
38046
38047 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38048 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38049 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38050 a problem with this disk).
38051
6e9b4aab 380522008-01-21 Robert Millan <rmh@aybabtu.com>
38053
38054 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38055 on grub_biosdisk_rw_standard() error.
38056
0d8837b2 380572008-01-21 Robert Millan <rmh@aybabtu.com>
38058
38059 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38060 recent changes.
38061 * kern/elf.c: Likewise.
38062 * kern/ieee1275/ieee1275.c: Likewise.
38063 * kern/powerpc/ieee1275/openfw.c: Likewise.
38064 * term/ieee1275/ofconsole.c: Likewise.
38065
ffd36e34 380662008-01-21 Robert Millan <rmh@aybabtu.com>
38067
38068 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38069
3f0093d0 38070 * include/grub/kernel.h (grub_arch_memdisk_addr)
38071 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38072
3f0093d0 38073 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38074 (grub_arch_memdisk_size): ... to here.
ffd36e34 38075
6c391b21 380762008-01-21 Robert Millan <rmh@aybabtu.com>
38077
38078 Mostly based on bugfix from Bean.
38079
38080 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38081 attribute with hook() parameter.
38082 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38083 declaration.
38084 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38085 attribute with hook() parameter.
38086 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38087 declaration.
38088
55a581dc 380892008-01-21 Robert Millan <rmh@aybabtu.com>
38090
38091 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38092 (pkglib_MODULES): Add `memdisk.mod'.
38093 (memdisk_mod_SOURCES): New variable.
38094 (memdisk_mod_CFLAGS): Likewise.
38095 (memdisk_mod_LDFLAGS): Likewise.
38096
38097 * disk/memdisk.c: New file.
38098
38099 * include/grub/disk.h (grub_disk_dev_id): Add
38100 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38101
38102 * include/grub/i386/pc/kernel.h
38103 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38104 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38105 (grub_kernel_image_size): New variable declaration.
38106 (grub_total_module_size): Likewise.
38107 (grub_memdisk_image_size): Likewise.
38108
38109 * include/grub/i386/pc/memory.h
38110 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38111
38112 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38113 (grub_arch_memdisk_addr): New variable declaration.
38114 (grub_arch_memdisk_size): Likewise.
38115
38116 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38117 (grub_arch_memdisk_size): Likewise.
38118
38119 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38120 (codestart): Replace hardcoded `0x100000' with
38121 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38122
38123 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38124 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38125 not NULL, append the contents of the file it refers to, at the end of
38126 the compressed kernel image. Initialize `grub_memdisk_image_size'
38127 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38128 (options): Add "memdisk"|'m' option.
38129 (main): Parse --memdisk|-m option, and pass user-provided path as
38130 parameter to generate_image().
38131
3d7f54c9 381322008-01-20 Robert Millan <rmh@aybabtu.com>
38133
38134 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38135 grub_dprintf() calls from here ...
38136 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38137
0bf74728 381382008-01-20 Robert Millan <rmh@aybabtu.com>
38139
38140 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38141
38142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38143 declaration.
38144 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38145 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38146 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38147 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38148 property).
38149 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38150 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38151
33bf70a7 381522008-01-19 Robert Millan <rmh@aybabtu.com>
38153
fe6b695a 38154 Get rid of confusing function (superseded by
33bf70a7 38155 `grub_ieee1275_get_integer_property')
38156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38157 prototype.
38158 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38159 function.
38160 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38161 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38162 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38163
e2da7d26 381642008-01-19 Robert Millan <rmh@aybabtu.com>
38165
38166 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38167 command after "shut-down", since implementations differ on which
38168 the command for halt is.
38169
59f1fd8d 381702008-01-19 Robert Millan <rmh@aybabtu.com>
38171
38172 * include/grub/i386/linuxbios/console.h: Add header protection.
38173 (grub_keyboard_controller_init): New function prototype.
38174 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38175 (KEYBOARD_COMMAND_READ): Likewise.
38176 (KEYBOARD_COMMAND_WRITE): Likewise.
38177 (KEYBOARD_SCANCODE_SET1): Likewise.
38178 (grub_keyboard_controller_write): New function.
38179 (grub_keyboard_controller_read): Likewise.
38180 (grub_keyboard_controller_init): Likewise.
38181
38182 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38183 (grub_console_init): On coreboot/LinuxBIOS, call
38184 grub_keyboard_controller_init().
38185
5f5a7c15 381862008-01-19 Robert Millan <rmh@aybabtu.com>
38187
38188 PowerPC changes provided by Pavel Roskin.
38189
38190 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38191 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38192 don't rely on cmain() doing it.
38193 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38194 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38195
1210e168 381962008-01-16 Robert Millan <rmh@aybabtu.com>
38197
38198 * include/grub/i386/linuxbios/memory.h
38199 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38200 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38201 receive `table_header' as argument. Instead, probe for it in the
38202 known memory ranges where it can be present.
38203 (grub_available_iterate): Do not pass a fixed `table_header' address
38204 to grub_linuxbios_table_iterate().
38205
3d04eab8 382062008-01-15 Robert Millan <rmh@aybabtu.com>
38207
38208 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38209 * conf/i386-ieee1275.rmk: New file.
38210 * include/grub/i386/ieee1275/console.h: Likewise.
38211 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38212 * include/grub/i386/ieee1275/kernel.h: Likewise.
38213 * include/grub/i386/ieee1275/time.h: Likewise.
38214 * kern/i386/ieee1275/init.c: Likewise.
38215 * kern/i386/ieee1275/startup.S: Likewise.
38216
d1bc1b73 382172008-01-15 Robert Millan <rmh@aybabtu.com>
38218
38219 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38220 when pointers are 32-bit (but still do set it to one when they are
38221 64-bit).
38222
66a65807 382232008-01-15 Robert Millan <rmh@aybabtu.com>
38224
38225 * include/grub/ieee1275/ieee1275.h
38226 (grub_ieee1275_get_integer_property): New function prototype.
38227
38228 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38229 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38230 grub_ieee1275_get_property() to handle endianness.
66a65807 38231
38232 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38233 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38234 where appropriate.
66a65807 38235 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38236 (grub_map): Likewise.
38237 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38238
a83ccafd 382392008-01-15 Bean <bean123ch@gmail.com>
38240
38241 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38242 (grub_script_execute_cmdline): Reset grub_errno.
38243
38244 * normal/main.c (read_config_file): Reset grub_errno.
38245
38246 * normal/parse.y (script_init): New.
38247 (script): Move function and menuentry here.
38248 (delimiter): New.
38249 (command): Add delimiter at the end of command.
38250 (commands): Adjust to match the new command.
38251 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38252 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38253 (if): Use the new commands.
38254
38255 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38256
df6ecfc6 382572008-01-15 Robert Millan <rmh@aybabtu.com>
38258
38259 * normal/menu.c (run_menu): Move timeout message from here ...
38260 (print_timeout): ... to here.
38261 (run_menu): Use print_timeout() once during initial draw to print
38262 the whole message, and again in every clock tick to update only
38263 the number of seconds.
38264
87ae25eb 382652008-01-15 Robert Millan <rmh@aybabtu.com>
38266
38267 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38268 actual size of `available' from grub_ieee1275_get_property(), and
38269 restrict parsing to that bound.
38270
47bf09a4 382712008-01-15 Christian Franke <franke@computer.org>
38272
38273 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38274 (argp_program_version): Remove variable.
38275 (argp_program_bug_address): Likewise.
38276 (options): Convert from struct argp_option to struct option.
38277 (struct arguments): Remove.
38278 (parse_opt): Remove.
38279 (usage): New function.
38280 (main): Replace struct args members by simple variables.
38281 Replace argp_parse() by getopt_long().
38282 Add switch to evaluate options.
38283 Add missing "(...)" around root_dev in prefix string.
38284
c86f1469 382852008-01-14 Robert Millan <rmh@aybabtu.com>
38286
38287 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38288 for grub_ieee1275_exit(), in order to improve portability.
38289
e622c559 382902008-01-14 Robert Millan <rmh@aybabtu.com>
38291
38292 * util/grub.d/10_linux.in (prefix): Define.
38293 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38294
44cb1ec8 382952008-01-13 Pavel Roskin <proski@gnu.org>
38296
38297 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38298 grub_errno if no errors have been detected.
38299
1eb8c802 383002008-01-12 Robert Millan <rmh@aybabtu.com>
38301
38302 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38303 (grub_util_get_dev_abstraction): New function prototype.
38304
38305 * util/getroot.c: Include `<grub/util/getroot.h>'
38306 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38307 (grub_util_get_dev_abstraction): ... here (new function).
38308
38309 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38310 `PRINT_ABSTRACTION'.
38311 (probe): Probe for abstraction type when requested.
38312 (main): Understand `--target=abstraction'.
38313
38314 * util/i386/efi/grub-install.in: Add abstraction module to core
38315 image when it is found to be necessary.
38316 * util/i386/pc/grub-install.in: Likewise.
38317 * util/powerpc/ieee1275/grub-install.in: Likewise.
38318
38319 * util/update-grub_lib.in (font_path): Return system path without
38320 converting to GRUB path.
38321 * util/update-grub.in: Convert system path returned by font_path()
38322 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38323 abstraction module is needed for loading fonts (if any). Export
38324 that as `GRUB_PRELOAD_MODULES'.
38325 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38326 insmod commands).
38327
52bd3de9 383282008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38329
38330 Remove some unused code from reiserfs.
f19dbdb7 38331
52bd3de9 38332 * fs/reiserfs.c (struct grub_reiserfs_key)
38333 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38334 (struct grub_reiserfs_node_body): Removed.
38335 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38336 Likewise.
38337 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38338 Likewise.
38339 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38340 Likewise.
38341 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38342 Likewise.
38343 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38344 Likewise.
38345 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38346 Likewise.
38347 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38348 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38349 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38350
2f80039d 383512008-01-10 Robert Millan <rmh@aybabtu.com>
38352
38353 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38354 Determines if a file is garbage left by packaging systems, etc.
38355 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38356 for processing /etc/grub.d scripts.
38357 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38358 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38359 as a condition for processing Linux images.
38360
87888032 383612008-01-10 Pavel Roskin <proski@gnu.org>
38362
38363 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38364 to compile reiserfs.c on PowerPC.
38365
7e54fced 383662008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38367
38368 * kern/device.c (grub_device_iterate): Do not abort device iteration
38369 when one of the devices cannot be opened.
38370 * kern/disk.c (grub_disk_open): Do not account previous failures of
38371 unrelated functions when grub_errno is checked for.
38372
5aa541e6 383732008-01-08 Robert Millan <rmh@aybabtu.com>
38374
38375 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38376 `! grub_linux_is_bzimage', change order of address comparison to make
38377 it more intuitive, and improve "too big zImage" error message.
38378
7076340d 383792008-01-08 Robert Millan <rmh@aybabtu.com>
38380
38381 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38382 `$(update-grub_DATA)'.
38383 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38384 targets.
38385
9ca70333 383862008-01-07 Robert Millan <rmh@aybabtu.com>
38387
38388 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38389 which instruction is modified by grub-setup during installation
38390 (since it wasn't obvious by only looking at this file).
38391
38ccf575 383922008-01-07 Robert Millan <rmh@aybabtu.com>
38393
38394 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38395 listing actual TODO items.
38396
f5db4291 383972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38398
868967cf 38399 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38400 correctly.
38401 (grub_reiserfs_get_key_offset): Likewise.
38402 (grub_reiserfs_set_key_offset): Likewise.
38403 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38404 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38405
38406 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38407 better to remove the bitfield version completely.
f19dbdb7 38408
868967cf 384092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38410
f5db4291 38411 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38412 allocated from the heap, due to the fshelp implementation.
38413 (grub_reiserfs_dir): Free NODE, due to the same reason.
38414
492e6d9d 384152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38416
38417 Mostly from Vincent Pelletier:
f19dbdb7 38418
492e6d9d 38419 * fs/reiserfs.c: New file.
f19dbdb7 38420
492e6d9d 38421 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38422 (reiserfs_mod_SOURCES): New variable.
38423 (reiserfs_mod_CFLAGS): Likewise.
38424 (reiserfs_mod_LDFLAGS): Likewise.
38425
38426 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38427 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38428 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38429 normal/color.c.
38430
9ce3e7c1 384312008-01-06 Robert Millan <rmh@aybabtu.com>
38432
38433 * normal/color.c: Remove `<grub/env.h>'.
38434
f3b58148 384352008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38436
38437 * include/grub/normal.h: Include <grub/env.h>.
38438
7ac3bcfa 384392008-01-05 Robert Millan <rmh@aybabtu.com>
38440
38441 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38442 usage example with `(hd0,1)'.
fb358190 38443 Reported by Samuel Thibault.
7ac3bcfa 38444
c8ee99d7 384452008-01-05 Robert Millan <rmh@aybabtu.com>
38446
38447 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38448 (grub_linux_boot_zimage): Rename to ...
38449 (grub_linux_boot): ... this.
38450 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38451 (grub_linux_boot_zimage): Conditionalize zImage copy.
38452
38453 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38454 (grub_linux_boot_bzimage): Remove prototype.
38455 (grub_linux_boot_zimage): Rename to ...
38456 (grub_linux_boot): ... this.
38457
38458 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38459 (grub_linux_boot): Remove function.
38460
0ece25b1 384612008-01-05 Robert Millan <rmh@aybabtu.com>
38462
38463 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38464 (grub_env_write_color_highlight): Likewise.
38465 (grub_wait_after_message): Likewise.
38466
38467 * normal/color.c: New file.
38468
38469 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38470 (normal_mod_DEPENDENCIES): Likewise.
38471
38472 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38473 (normal_mod_DEPENDENCIES): Likewise.
38474
38475 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38476 (normal_mod_DEPENDENCIES): Likewise.
38477
38478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38479 (normal_mod_DEPENDENCIES): Likewise.
38480
38481 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38482 for waiting after a message is printed.
38483 * normal/main.c (read_config_file): Likewise.
38484 (grub_normal_init): Register grub_env_write_color_normal() and
38485 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38486 `color_highlight' variables as global.
38487
38488 * normal/menu.c (grub_wait_after_message): New function.
38489 (grub_color_menu_normal): New variable. Replaces ...
38490 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38491 (grub_color_menu_highlight): New variable. Replaces ...
38492 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38493 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38494 `GRUB_TERM_COLOR_STANDARD'.
38495 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38496 `normal_code' and `highlight_code' to `old_color_normal' and
38497 `old_color_highlight', respectively.
38498 (grub_menu_init_page): Update colors when drawing the menu, based on
38499 `menu_color_normal' and `menu_color_highlight' variables.
38500 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38501 a message is printed.
38502
182dd4e5 385032008-01-05 Robert Millan <rmh@aybabtu.com>
38504
38505 * kern/env.c (grub_env_context_open): Propagate hooks for global
38506 variables to new context.
38507
38508 * kern/main.c (grub_set_root_dev): Export `root' variable.
38509
ddf8f6ad 385102008-01-05 Robert Millan <rmh@aybabtu.com>
38511
38512 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38513 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38514 them.
38515
d8b43d9b 385162008-01-05 Robert Millan <rmh@aybabtu.com>
38517
38518 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38519
2bff2de3 385202008-01-04 Christian Franke <franke@computer.org>
38521
38522 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38523 of eisa_mmap.
38524
97eab917 385252008-01-03 Pavel Roskin <proski@gnu.org>
38526
38527 * kern/i386/linuxbios/init.c: Put "void" to all function
38528 declarations with no arguments.
38529 * kern/powerpc/ieee1275/init.c: Likewise.
38530 * term/i386/pc/at_keyboard.c: Likewise.
38531 * term/i386/pc/vga_text.c: Likewise.
38532 * util/grub-mkdevicemap.c: Likewise.
38533
b9416d00 385342008-01-02 Robert Millan <rmh@aybabtu.com>
38535
38536 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38537 message when loaded image is out of bounds.
38538 (grub_multiboot_load_elf64): Likewise.
38539
92695df9 385402008-01-02 Pavel Roskin <proski@gnu.org>
38541
38542 * util/grub.d/10_linux.in: Try version without ".old" when
38543 looking for initrd. It's better to use initrd from the newer
38544 kernel of the same version than no initrd at all.
38545
d98d9cad 385462008-01-01 Robert Millan <rmh@aybabtu.com>
38547
38548 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38549
dbfdce36 385502008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38551
f19dbdb7 38552 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38553 grub_video_get_active_render_target.
38554 (grub_video_adapter): Added unmap_color and get_active_render_target.
38555
f19dbdb7 38556 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38557 grub_video_get_active_render_target.
38558 (grub_video_get_info): Changed method to accept NULL pointer as an
38559 argument to allow detection of active video adapter.
38560
38561 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38562 grub_video_vbe_unmap_color_int.
38563 Added grub_video_vbe_unmap_color and
38564 grub_video_vbe_get_active_render_target.
38565 (grub_video_vbe_adapter): Added unmap_color and
38566 get_active_render_target.
38567
f19dbdb7 38568 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38569 with grub_video_vbe_unmap_color_int.
38570
38571 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38572 (DEFAULT_NORMAL_COLOR): Likewise.
38573 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38574 (DEFAULT_FG_COLOR): Removed.
38575 (DEFAULT_BG_COLOR): Likewise.
38576 (DEFAULT_CURSOR_COLOR): Changed value.
38577 (grub_virtual_screen): Added standard_color_setting,
38578 normal_color_setting, highlight_color_setting and term_color.
38579 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38580 (bitmap_width): Added.
38581 (bitmap_height): Likewise.
38582 (bitmap): Likewise.
38583 (set_term_color): Likewise.
38584 (grub_virtual_screen_setup): Changed to use new terminal coloring
38585 settings.
38586 (grub_gfxterm_init): Added init for bitmap.
38587 (grub_gfxterm_fini): Added destroy for bitmap.
38588 (redraw_screen_rect): Updated to use background bitmap and new
38589 terminal coloring.
38590 (scroll_up): Added optimization for case when there is no bitmap.
38591 (grub_gfxterm_cls): Fixed to use correct background color.
38592 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38593 coloring.
38594 (grub_virtual_screen_setcolor): Likewise.
38595 (grub_virtual_screen_getcolor): Added.
38596 (grub_gfxterm_background_image_cmd): Likewise.
38597 (grub_video_term): Added setcolor and getcolor.
38598 (MOD_INIT): Added registration of background_image command.
38599 (MOD_TERM): Added unregistration for background_image command.
38600
c3c20931 386012007-12-30 Pavel Roskin <proski@gnu.org>
38602
38603 * loader/multiboot_loader.c: Fix multiboot command
38604 unregistration. Fix all typos in the word "multiboot".
38605
df266716 386062007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38607
38608 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38609 support for initrd names used in Fedora.
38610
fc6e896c 386112007-12-26 Bean <bean123ch@gmail.com>
38612
38613 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38614 (cpio_mod_SOURCES): New variable.
38615 (cpio_mod_CFLAGS): Likewise.
38616 (cpio_mod_LDFLAGS): Likewise.
38617
38618 * fs/cpio.c: New file.
38619
38620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38621
38622 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38623
38624 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38625
38626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38627
533110ad 386282007-12-25 Robert Millan <rmh@aybabtu.com>
38629
38630 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38631 (grub_getcolor): New function.
38632
38633 * kern/term.c (grub_getcolor): New function.
38634 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38635 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38636 (print_entry): Set normal and highlight colors to
38637 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38638 respectively, before printing and restore them to old
38639 values afterwards.
38640 (grub_menu_init_page): Likewise. Fill an additional colored space
38641 that would otherwise be left blank.
38642
38643 * term/efi/console.c (grub_console_getcolor): New function.
38644 (struct grub_console_term.getcolor): New variable.
38645 * term/i386/pc/console.c (grub_console_getcolor): New function.
38646 (struct grub_console_term.getcolor): New variable.
38647 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38648 (struct grub_console_term.getcolor): New variable.
38649
38650 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38651 (struct grub_console_term.setcolor): Remove variable.
38652 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38653 (struct grub_console_term.setcolor): Remove variable.
38654 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38655 (struct grub_console_term.setcolor): Remove variable.
38656 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38657 (struct grub_console_term.setcolor): Remove variable.
38658
4931827f 386592007-12-25 Robert Millan <rmh@aybabtu.com>
38660
38661 * configure.ac: Search for possible unifont.hex locations, and
38662 define UNIFONT_HEX if found.
38663
38664 * Makefile.in (UNIFONT_HEX): Define variable.
38665 (DATA): Rename to ...
38666 (PKGLIB): ... this. Update all users.
38667 (PKGDATA): New variable.
38668 (pkgdata_IMAGES): Rename to ...
38669 (pkglib_IMAGES): ... this. Update all users.
38670 (pkgdata_MODULES): Rename to ...
38671 (pkglib_MODULES): ... this. Update all users.
38672 (pkgdata_PROGRAMS): Rename to ...
38673 (pkglib_PROGRAMS): ... this. Update all users.
38674 (pkgdata_DATA): Rename to ...
38675 (pkglib_DATA): ... this. Update all users.
38676 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38677 (unicode.pff, ascii.pff): New rules.
38678 (all-local): Add `$(PKGDATA)' dependency.
38679 (install-local): Process `$(PKGDATA)'.
38680
38681 * util/update-grub_lib.in (font_path): Search for *.pff files in
38682 a few more locations, including `${pkgdata}'.
38683
57e57e31 386842007-12-23 Robert Millan <rmh@aybabtu.com>
38685
38686 Patch from Bean <bean123ch@gmail.com>:
38687 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38688 `size'.
38689
4bc72aa9 386902007-12-21 Bean <bean123ch@gmail.com>
38691
38692 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38693 (ntfscomp_mod_SOURCES): New variable.
38694 (ntfscomp_mod_CFLAGS): Likewise.
38695 (ntfscomp_mod_LDFLAGS): Likewise.
38696
38697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38698 (grub_probe_SOURCES): Likewise.
38699 (grub_emu_SOURCES): Likewise.
38700
38701 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38702 (grub_emu_SOURCES): Likewise.
38703
38704 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38705 (grub_emu_SOURCES): Likewise.
38706
38707 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38708 (grub_emu_SOURCES): Likewise.
38709
38710 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38711 (read_run_list): Renamed to grub_ntfs_read_run_list.
38712 (decomp_nextvcn): Moved to ntfscomp.c.
38713 (decomp_getch): Likewise.
38714 (decomp_get16): Likewise.
38715 (decomp_block): Likewise.
38716 (read_block): Likewise.
38717 (read_data): Partially moved to ntfscomp.c.
38718 (fixup): Change unsigned to grub_uint16_t.
38719 (read_mft): Change unsigned long to grub_uint32_t.
38720 (read_attr): Likewise.
38721 (read_data): Likewise.
38722 (read_run_data): Likewise.
38723 (read_run_list): Likewise.
38724 (read_mft): Likewise.
38725
38726 * fs/ntfscomp.c: New file.
38727
38728 * include/grub/ntfs.h: New file.
38729
af680a87 387302007-12-16 Robert Millan <rmh@aybabtu.com>
38731
38732 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38733 IDE disk check, since Linux is known to support 20 IDE disks.
38734 Reported by Colin Watson.
38735
84be7599 387362007-12-15 Bean <bean123ch@gmail.com>
38737
38738 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38739 (lnxboot_img_SOURCES): New variable.
38740 (lnxboot_img_ASFLAGS): Likewise.
38741 (lnxboot_img_LDFLAGS): Likewise.
38742
38743 * boot/i386/pc/lnxboot.S: New file.
38744
6af9db01 387452007-11-24 Pavel Roskin <proski@gnu.org>
38746
38747 * configure.ac: Test if '--build-id=none' is supported by the
38748 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38749 objcopy to generate incorrect binary files (binutils
38750 2.17.50.0.18-1 as shipped by Fedora 8).
38751 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38752 linking, so that build ID doesn't break the test.
38753
7361cfe6 387542007-11-24 Pavel Roskin <proski@gnu.org>
38755
38756 * include/grub/i386/time.h: use "void" in the argument list
38757 of grub_cpu_idle().
38758 * include/grub/powerpc/time.h: Likewise.
38759 * include/grub/sparc64/time.h: Likewise.
38760
1593e10c 387612007-11-18 Christian Franke <franke@computer.org>
38762
38763 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38764 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38765 This fixes the problem that function keys did not work in grub-emu.
38766
3b8db1a8 387672007-11-18 Christian Franke <franke@computer.org>
38768
38769 * disk/host.c (grub_host_open): Remove attribute unused from
38770 name parameter. Add check for "host". This fixes the problem
38771 that grub-emu does not find partitions.
38772
2e29408d 387732007-11-18 Christian Franke <franke@computer.org>
38774
38775 * util/hostfs.c (is_dir): New function.
38776 (grub_hostfs_dir): Handle missing dirent.d_type case.
38777 (grub_hostfs_read): Add missing fseek().
38778 (grub_hostfs_label): Clear label pointer. This fixes a crash
38779 of grub-emu on "ls (host)".
38780
398cd047 387812007-11-18 Christian Franke <franke@computer.org>
38782
38783 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38784 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38785 to 64 bit boundary by default.
38786
c405c391 387872007-11-18 Bean <bean123ch@gmail.com>
38788
38789 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38790 (hexdump_mod_SOURCES): New variable.
38791 (hexdump_mod_CFLAGS): Likewise.
38792 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38793
c405c391 38794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38795
38796 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38797
38798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38799
38800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38801
38802 * include/grub/hexdump.h: New file.
38803
38804 * commands/hexdump.c: New file.
38805
5cced7fd 388062007-11-10 Robert Millan <rmh@aybabtu.com>
38807
38808 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38809 in grub_outb() calls.
38810 (beep_on): Likewise.
38811
8b714eb0 388122007-11-10 Christian Franke <franke@computer.org>
38813
38814 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38815 (grub_menu_run): Likewise.
38816
ce0f1839 388172007-11-10 Robert Millan <rmh@aybabtu.com>
38818
38819 * include/grub/i386/efi/machine.h: New file.
38820 * include/grub/i386/linuxbios/machine.h: Likewise.
38821 * include/grub/i386/pc/machine.h: Likewise.
38822 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38823 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38824
38825 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38826 (serial_hw_io_addr): New variable.
38827 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38828 instead of `(unsigned short *) 0x400'.
38829
270c237d 388302007-11-10 Bean <bean123ch@gmail.com>
38831
38832 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38833
a87783bf 388342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38835
38836 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38837 (vga_mod_SOURCES): Added.
38838 (vga_mod_CFLAGS): Likewise.
38839 (vga_mod_LDFLAGS): Likewise.
38840
38841 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38842 grub_outb() calls.
38843 (set_map_mask): Likewise.
38844 (set_read_map): Likewise.
38845 (set_read_address): Likewise.
38846 (vga_font): Removed variable.
38847 (get_vga_glyph): Removed function.
38848 (invalidate_char): Likewise.
38849 (write_char): Changed to use grub_font_get_glyph() for font
38850 information.
38851 (grub_vga_putchar): Likewise.
38852 (grub_vga_getcharwidth): Likewise.
38853
6433b448 388542007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38855
38856 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38857 flags.
38858 (pxeboot_img_LDFLAGS): Likewise.
38859 (diskboot_img_LDFLAGS): Likewise.
38860 (kernel_img_LDFLAGS): Likewise.
38861
49178511 388622007-11-06 Robert Millan <rmh@aybabtu.com>
38863
38864 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38865 in grub_outb() calls.
38866 (serial_hw_init): Likewise.
38867
53b052de 388682007-11-05 Robert Millan <rmh@aybabtu.com>
38869
38870 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38871 spaces. Skip non-regular files.
38872
5ab33bba 388732007-11-05 Robert Millan <rmh@aybabtu.com>
38874
38875 * kern/disk.c (grub_disk_firmware_fini)
38876 (grub_disk_firmware_is_tainted): New variables.
38877
38878 * include/grub/disk.h (grub_disk_firmware_fini)
38879 (grub_disk_firmware_is_tainted): Likewise.
38880
38881 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38882 (grub_disk_biosdisk_fini): ... to here.
38883 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38884 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38885 is set. Register grub_disk_biosdisk_fini() in
38886 `grub_disk_firmware_fini'.
38887
38888 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38889 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38890 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38891 to finish existing firmware disk interface.
38892
38893 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38894 (ata_mod_SOURCES): New variable.
38895 (ata_mod_CFLAGS): Likewise.
38896 (ata_mod_LDFLAGS): Likewise.
38897
0149ab7c 388982007-11-05 Robert Millan <rmh@aybabtu.com>
38899
38900 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38901 (grub_ata_wait): Reimplement using grub_millisleep().
38902
38903 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38904 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38905
be7ac41e 389062007-11-03 Marco Gerards <marco@gnu.org>
38907
38908 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38909 (CRTC_ADDR_PORT): New macro.
38910 (CRTC_DATA_PORT): Likewise.
38911 (CRTC_CURSOR): Likewise.
38912 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38913 (CRTC_CURSOR_ADDR_LOW): Likewise.
38914 (update_cursor): New function.
38915 (grub_console_real_putchar): Call `update_cursor'.
38916 (grub_console_gotoxy): Likewise.
38917 (grub_console_cls): Set the default color when clearing the
38918 screen.
38919 (grub_console_setcursor): Implemented.
38920
bb06ab2e 389212007-11-03 Marco Gerards <marco@gnu.org>
38922
38923 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38924 become activate.
38925 (grub_ata_pio_write): Likewise.
38926
38927 (grub_atapi_identify): Wait after issuing an ATA command.
38928 (grub_atapi_packet): Likewise.
38929 (grub_ata_identify): Likewise.
38930 (grub_ata_readwrite): Likewise.
38931
cf8f780b 389322007-11-03 Marco Gerards <marco@gnu.org>
38933
38934 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38935 (grub_ata_pio_write): Likewise.
38936 (grub_ata_readwrite): Use `grub_error', instead of
38937 returning `grub_errno'.
38938
ed649e54 389392007-11-03 Marco Gerards <marco@gnu.org>
38940
38941 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38942 grub_ata_pio_write once for every single sector, instead of for
38943 multiple sectors.
38944
ca25d8f0 389452007-10-31 Robert Millan <rmh@aybabtu.com>
38946
38947 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38948
38949 * conf/i386-linuxbios.rmk: New file.
38950
38951 * kern/i386/pc/hardware.c: Likewise.
38952 * term/i386/pc/at_keyboard.c: Likewise.
38953 * term/i386/pc/vga_text.c: Likewise.
38954
38955 * include/grub/i386/linuxbios/boot.h: Likewise.
38956 * include/grub/i386/linuxbios/console.h: Likewise.
38957 * include/grub/i386/linuxbios/init.h: Likewise.
38958 * include/grub/i386/linuxbios/kernel.h: Likewise.
38959 * include/grub/i386/linuxbios/loader.h: Likewise.
38960 * include/grub/i386/linuxbios/memory.h: Likewise.
38961 * include/grub/i386/linuxbios/serial.h: Likewise.
38962 * include/grub/i386/linuxbios/time.h: Likewise.
38963
38964 * kern/i386/linuxbios/init.c: Likewise.
38965 * kern/i386/linuxbios/startup.S: Likewise.
38966 * kern/i386/linuxbios/table.c: Likewise.
38967
e911ecc1 389682007-10-31 Marco Gerards <marco@gnu.org>
38969
38970 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38971 (ata_mod_SOURCES): New variable.
38972 (ata_mod_CFLAGS): Likewise.
38973 (ata_mod_LDFLAGS): Likewise.
38974
38975 * disk/ata.c: New file.
38976
38977 * include/grub/disk.h (grub_disk_dev_id): Add
38978 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38979
7f66d0e0 389802007-10-31 Robert Millan <rmh@aybabtu.com>
38981
38982 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38983 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38984
38985 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38986 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38987
38988 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38989 `<grub/types.h>'.
38990
38991 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38992
5cd7dd46 389932007-10-27 Robert Millan <rmh@aybabtu.com>
38994
3236ca65 38995 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38996
2ebfc90f 389972007-10-22 Robert Millan <rmh@aybabtu.com>
38998
38999 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39000 `"../realmode.S"'.
39001 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39002
73fcb0f3 390032007-10-22 Robert Millan <rmh@aybabtu.com>
39004
39005 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39006 (pkgdata_MODULES): Add `biosdisk.mod'.
39007 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39008 variables.
39009
39010 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39011 (grub_biosdisk_init): Replace with ...
39012 (GRUB_MOD_INIT(biosdisk)): ... this.
39013 (grub_biosdisk_fini): Replace with ...
39014 (GRUB_MOD_FINI(biosdisk)): ... this.
39015
39016 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39017 (grub_machine_init): Remove call to grub_biosdisk_init().
39018 (grub_machine_fini): Remove call to grub_machine_fini().
39019
39020 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39021
3381d274 390222007-10-22 Robert Millan <rmh@aybabtu.com>
39023
39024 * include/grub/time.h: New file.
39025 * include/grub/i386/time.h: Likewise.
39026 * include/grub/powerpc/time.h: Likewise.
39027 * include/grub/sparc64/time.h: Likewise.
39028
39029 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39030 instances to ...
39031 (KERNEL_MACHINE_TIME_HEADER): ... this.
39032 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39033 instances to ...
39034 (KERNEL_MACHINE_TIME_HEADER): ... this.
39035 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39036 instances to ...
39037 (KERNEL_MACHINE_TIME_HEADER): ... this.
39038
39039 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39040 (grub_millisleep): New function.
39041 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39042 (grub_millisleep): New function.
39043 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39044 Remove `grub/machine/time.h' include.
39045 (grub_millisleep): New function.
39046 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39047 Remove `grub/machine/time.h' include.
39048 (grub_millisleep): New function.
39049
39050 * include/grub/misc.h (grub_div_roundup): New function.
39051
39052 * kern/misc.c: Include `<grub/time.h>'.
39053 (grub_millisleep_generic): New function.
39054
39055 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39056 Add `time.h'.
39057 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39058 Add `time.h'.
39059 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39060 `machine/time.h'. Add `time.h'.
39061 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39062
a39a0312 390632007-10-21 Robert Millan <rmh@aybabtu.com>
39064
39065 * include/grub/misc.h (grub_max): New function.
39066
2aad70e2 390672007-10-21 Robert Millan <rmh@aybabtu.com>
39068
39069 * util/misc.c (grub_util_info): Call fflush() before returning.
39070
54b71c4b 390712007-10-20 Robert Millan <rmh@aybabtu.com>
39072
39073 * genmk.rb (Image): Copy `extra_flags' from here ...
39074 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39075
39076 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39077 to `argc' and `args' arguments.
39078
a979f513 390792007-10-17 Robert Millan <rmh@aybabtu.com>
39080
39081 * kern/i386/loader.S: New file.
39082
39083 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39084 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39085 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39086 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39087 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39088 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39089 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39090 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39091 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39092 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39093 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39094 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39095 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39096 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39097
39098 * kern/i386/realmode.S: New file.
39099
39100 * kern/i386/pc/startup.S (protstack): Moved from here ...
39101 * kern/i386/realmode.S (protstack)... to here.
39102 * kern/i386/pc/startup.S (gdt): Moved from here ...
39103 * kern/i386/realmode.S (gdt)... to here.
39104 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39105 * kern/i386/realmode.S (prot_to_real)... to here.
39106
39107 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39108 `kern/i386/realmode.S'.
39109
825fc8fd 391102007-10-17 Robert Millan <rmh@aybabtu.com>
39111
39112 * include/grub/i386/loader.h: New file.
39113
39114 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39115 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39116 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39117 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39118 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39119 * include/grub/i386/loader.h (grub_linux_prot_size)
39120 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39121 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39122 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39123 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39124
39125 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39126
e179b2f4 391272007-10-15 Robert Millan <rmh@aybabtu.com>
39128
39129 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39130 filesystem when dev->disk is unset.
39131 Do probe for filesystem even when dev->disk->has_partitions is set.
39132 In case a filesystem is found, always report it.
39133 In case it isn't, if dev->disk->has_partitions is set, report that
39134 a partition table was found instead of reporting that no filesystem
39135 could be identified.
39136
5db82af6 391372007-10-12 Robert Millan <rmh@aybabtu.com>
39138
39139 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39140 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39141
68f6ac74 39142 * include/grub/types.h (grub_host_to_target16): New macro.
39143 (grub_host_to_target32): Likewise.
39144 (grub_host_to_target64): Likewise.
39145 (grub_target_to_host16): Likewise.
39146 (grub_target_to_host32): Likewise.
39147 (grub_target_to_host64): Likewise.
5db82af6 39148
39149 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39150 Renamed from to ...
39151 (GRUB_MOD_ALIGN): ...this. Update all users.
39152
68f6ac74 39153 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39154 grub_host_to_target32.
39155 Replace grub_be_to_cpu32 with grub_target_to_host32.
39156 (load_modules): Likewise.
39157 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39158 Replace grub_be_to_cpu32 with grub_target_to_host32.
39159 Replace grub_cpu_to_be16 with grub_host_to_target16.
39160 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39161
3cf497cc 391622007-10-12 Robert Millan <rmh@aybabtu.com>
39163
39164 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39165 * util/elf/grub-mkimage.c: ... here.
39166
39167 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39168 `util/powerpc/ieee1275/grub-mkimage.c'.
39169
c8cc3692 391702007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39171
c8cc3692 39172 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39173 and make it easier to figure out.
39174 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39175 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39176 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39177 leave us with less than HEAP_MIN_SIZE total heap.
39178 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39179
5c58b791 391802007-10-03 Robert Millan <rmh@aybabtu.com>
39181
39182 * include/grub/i386/io.h: New file.
39183 * commands/i386/pc/play.c (inb): Removed.
39184 (outb): Removed.
39185 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39186 with grub_outb().
afcd2ef8 39187 * term/i386/pc/serial.c (inb): Removed.
39188 (outb): Removed.
39189 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39190 with grub_outb().
39191 * term/i386/pc/vga.c (inb): Removed.
39192 (outb): Removed.
39193 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39194 with grub_outb().
5c58b791 39195
1a477ed6 391962007-10-02 Robert Millan <rmh@aybabtu.com>
39197
39198 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39200 Reported by Marcin Kurek.
39201
6b5d80fa 392022007-09-07 Robert Millan <rmh@aybabtu.com>
39203
39204 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39205 SmartFirmware version updates (as released by Sven Luther), and avoid
39206 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39207 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39208 known broken.
39209
5618afbf 392102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39211
39212 From Hitoshi Ozeki:
39213 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39214 when merging two regions.
39215
6139dcd9 392162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39217
508e39ee 39218 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39219 * normal/completion.c (grub_normal_do_completion): Likewise.
39220 Reported by Hitoshi Ozeki.
39221
392222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39223
6139dcd9 39224 Do not use devices at boot in chainloading.
f19dbdb7 39225
6139dcd9 39226 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39227 (boot_part_addr): Likewise.
39228 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39229 with BOOT_DRIVE and BOOT_PART_ADDR.
39230 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39231 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39232
38da6516 392332007-08-29 Robert Millan <rmh@aybabtu.com>
39234
39235 Patch from Simon Peter <dn.tlp@gmx.net>:
39236 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39237 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39238 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39239 util/i386/pc/grub-setup.c_DEPENDENCIES.
39240 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39241 util/grub-probe.c_DEPENDENCIES.
39242 * conf/powerpc-ieee1275.rmk: Likewise.
39243
29d0928c 392442007-08-28 Robert Millan <rmh@aybabtu.com>
39245
39246 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39247 to tell grub-mkdevicemap how to name devices.
39248 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39249 feature).
39250
39251 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39252 util/i386/get_disk_name.c.
39253 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39254 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39255 util/ieee1275/get_disk_name.c.
39256
39257 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39258
39259 * DISTLIST: Add util/i386/get_disk_name.c and
39260 util/ieee1275/get_disk_name.c.
39261
39262 * util/grub-mkdevicemap.c: Replace device naming logic with
39263 grub_util_get_disk_name() calls.
39264
5a0d3cca 392652007-08-20 Robert Millan <rmh@aybabtu.com>
39266
39267 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39268 (so that it works for both plural and singular quantities).
39269
8b72db2f 392702007-08-05 Robert Millan <rmh@aybabtu.com>
39271
39272 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39273 so that [xz] isn't taken into account when determining order.
39274
352466bf 392752007-08-02 Marco Gerards <marco@gnu.org>
39276
39277 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39278 `include/multiboot2.h', `include/grub/elfload.h',
39279 `include/multiboot.h', `include/grub/multiboot.h',
39280 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39281 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39282 `kern/elf.c', `loader/multiboot_loader.c',
39283 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39284 `loader/i386/pc/multiboot2.c',
39285 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39286 `util/i386/pc/grub-mkrescue.in'. Remove
39287 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39288 `include/grub/i386/pc/util/biosdisk.h' and
39289 `include/grub/powerpc/ieee1275/multiboot.h'.
39290
8f096014 392912007-08-02 Bean <bean123ch@gmail.com>
39292
39293 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39294 (ntfs_mod_SOURCES): New variable.
39295 (ntfs_mod_CFLAGS): Likewise.
39296 (ntfs_mod_LDFLAGS): Likewise.
39297
39298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39299 (grub_probe_SOURCES): Likewise.
39300 (grub_emu_SOURCES): Likewise.
39301
39302 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39303 (grub_emu_SOURCES): Likewise.
39304
39305 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39306 (grub_emu_SOURCES): Likewise.
f19dbdb7 39307
8f096014 39308 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39309
39310 * fs/ntfs.c: New file.
39311
9959f7db 393122007-08-02 Bean <bean123ch@gmail.com>
39313
39314 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39315
39316 * file.h (grub_file): Likewise.
39317
39318 * fshelp.h (grub_fshelp_read_file): Likewise.
39319
39320 * util/i386/pc/grub-setup.c (setup): Likewise.
39321 (save_first_sector): Likewise.
39322 (save_blocklists): Likewise.
f19dbdb7 39323
9959f7db 39324 * fs/affs.c (grub_affs_read_file): Likewise.
39325
39326 * fs/ext2.c (grub_ext2_read_file): Likewise.
39327
39328 * fs/fat.c (grub_fat_read_data): Likewise.
39329
39330 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39331
39332 * fs/hfs.c (grub_hfs_read_file): Likewise.
39333
39334 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39335
39336 * fs/jfs.c (grub_jfs_read_file): Likewise.
39337
39338 * fs/minix.c (grub_minix_read_file): Likewise.
39339
39340 * fs/sfs.c (grub_sfs_read_file): Likewise.
39341
39342 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39343
9959f7db 39344 * fs/xfs.c (grub_xfs_read_file): Likewise.
39345
39346 * command/blocklist.c (read_blocklist): Likewise.
39347 (print_blocklist): Likewise.
39348
0a203f83 393492007-08-02 Marco Gerards <marco@gnu.org>
39350
39351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39352 `util/hostfs.c'.
39353
39354 * disk/host.c: New file.
39355
39356 * util/hostfs.c: Likewise.
39357
39358 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39359 return `GRUB_ERR_BAD_FS'.
39360 * fs/sfs.c (grub_sfs_mount): Likewise.
39361 * fs/xfs.c (grub_xfs_mount): Likewise.
39362
39363 * include/grub/disk.h (enum grub_disk_dev_id): Add
39364 `GRUB_DISK_DEVICE_HOST_ID'.
39365
39366 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39367
e5dfe777 393682007-07-24 Jerone Young <jerone@gmail.com>
39369
f19dbdb7 39370 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39371 modules for compilation.
39372 * conf/powerpc-ieee1275.rmk: Likewise.
39373
39374 * include/multiboot.h: Move multiboot definitions to one file. Rename
39375 many definitions to not get grub specific.
39376 * include/multiboot2.h: Create header with multiboot 2 definitions.
39377 * include/grub/multiboot.h: Header for grub specific function
39378 prototypes and definitions.
39379 * include/grub/multiboot2.h: Likewise.
39380 * include/grub/multiboot_loader.h: Likewise.
39381 * include/grub/i386/pc/multiboot.h: Removed.
39382 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39383
39384 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39385 and 2 to allow for one multiboot and module commands.
39386 * loader/multiboot2.c: Add multiboot2 functionality.
39387 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39388 and definition names.
39389 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39390 2 functions.
39391 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39392 ieee1275 specific multiboot2 code.
39393
39394 * kern/i386/pc/startup.S: Change headers and definition names for
39395 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39396
daf0f0ba 393972007-07-22 Robert Millan <rmh@aybabtu.com>
39398
39399 * geninitheader.sh: Process file specified in first parameter rather
39400 than hardcoding grub_modules_init.lst.
fe6b695a 39401 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39402 than hardcoding grub_modules_init.h.
39403
39404 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39405 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39406 grub_probe_init.[ch] and grub_setup_init.[ch].
39407
39408 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39409 grub_modules_init.h with grub_emu_init.h.
39410 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39411 grub_probe_init.[ch] files.
39412 * conf/i386-efi.rmk: Likewise.
39413 * conf/i386-pc.rmk: Likewise.
39414 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39415 grub_setup_init.[ch] files.
39416
39417 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39418 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39419 to initialize modules rather than a list of hardcoded functions.
39420 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39421 grub_init_all() to initialize modules rather than a list of hardcoded
39422 functions.
39423
54cdc1cc 394242007-07-22 Robert Millan <rmh@aybabtu.com>
39425
39426 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39427 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39428
ad0686cc 394292007-07-22 Robert Millan <rmh@aybabtu.com>
39430
39431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39432 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39433 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39434 flag when running on SmartFirmware.
39435 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39436 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39437 was set.
39438
39439 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39440 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39441 rather than decreasing it.
39442
39443 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39444 there's not enough space to do it, fail in the same way as when it
39445 can't be done because there are no partitions.
39446
39447 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39448 when nvsetenv failed.
39449
969c02ec 394502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39451
39452 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39453 because this rule is automatically generated.
39454 (grub-mkrescue): Removed for the same reason as above.
39455
5a79f472 394562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39457
39458 Migrate to GNU General Public License Version 3.
f19dbdb7 39459
5a79f472 39460 * COPYING: Replaced with the plain text version of GPLv3.
39461
39462 * config.guess: Updated from gnulib.
39463 * config.sub: Likewise.
39464
39465 * geninit.sh: Output a GPLv3 copyright notice.
39466 * geninitheader.sh: Likewise.
39467 * genmodsrc.sh: Likewise.
39468 * gensymlist.sh.in: Likewise.
39469
39470 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39471 * boot/i386/pc/diskboot.S: Likewise.
39472 * boot/i386/pc/pxeboot.S: Likewise.
39473 * commands/blocklist.c: Likewise.
39474 * commands/boot.c: Likewise.
39475 * commands/cat.c: Likewise.
39476 * commands/cmp.c: Likewise.
39477 * commands/configfile.c: Likewise.
39478 * commands/echo.c: Likewise.
39479 * commands/help.c: Likewise.
39480 * commands/ls.c: Likewise.
39481 * commands/search.c: Likewise.
39482 * commands/terminal.c: Likewise.
39483 * commands/test.c: Likewise.
39484 * commands/videotest.c: Likewise.
39485 * commands/i386/cpuid.c: Likewise.
39486 * commands/i386/pc/halt.c: Likewise.
39487 * commands/i386/pc/play.c: Likewise.
39488 * commands/i386/pc/reboot.c: Likewise.
39489 * commands/i386/pc/vbeinfo.c: Likewise.
39490 * commands/i386/pc/vbetest.c: Likewise.
39491 * commands/ieee1275/halt.c: Likewise.
39492 * commands/ieee1275/reboot.c: Likewise.
39493 * commands/ieee1275/suspend.c: Likewise.
39494 * disk/loopback.c: Likewise.
39495 * disk/lvm.c: Likewise.
39496 * disk/raid.c: Likewise.
39497 * disk/efi/efidisk.c: Likewise.
39498 * disk/i386/pc/biosdisk.c: Likewise.
39499 * disk/ieee1275/ofdisk.c: Likewise.
39500 * font/manager.c: Likewise.
39501 * fs/affs.c: Likewise.
39502 * fs/ext2.c: Likewise.
39503 * fs/fat.c: Likewise.
39504 * fs/fshelp.c: Likewise.
39505 * fs/hfs.c: Likewise.
39506 * fs/hfsplus.c: Likewise.
39507 * fs/iso9660.c: Likewise.
39508 * fs/jfs.c: Likewise.
39509 * fs/minix.c: Likewise.
39510 * fs/sfs.c: Likewise.
39511 * fs/ufs.c: Likewise.
39512 * fs/xfs.c: Likewise.
39513 * hello/hello.c: Likewise.
39514 * include/grub/acorn_filecore.h: Likewise.
39515 * include/grub/arg.h: Likewise.
39516 * include/grub/bitmap.h: Likewise.
39517 * include/grub/boot.h: Likewise.
39518 * include/grub/cache.h: Likewise.
39519 * include/grub/device.h: Likewise.
39520 * include/grub/disk.h: Likewise.
39521 * include/grub/dl.h: Likewise.
39522 * include/grub/elfload.h: Likewise.
39523 * include/grub/env.h: Likewise.
39524 * include/grub/err.h: Likewise.
39525 * include/grub/file.h: Likewise.
39526 * include/grub/font.h: Likewise.
39527 * include/grub/fs.h: Likewise.
39528 * include/grub/fshelp.h: Likewise.
39529 * include/grub/gzio.h: Likewise.
39530 * include/grub/hfs.h: Likewise.
39531 * include/grub/kernel.h: Likewise.
39532 * include/grub/loader.h: Likewise.
39533 * include/grub/lvm.h: Likewise.
39534 * include/grub/misc.h: Likewise.
39535 * include/grub/mm.h: Likewise.
39536 * include/grub/net.h: Likewise.
39537 * include/grub/normal.h: Likewise.
39538 * include/grub/parser.h: Likewise.
39539 * include/grub/partition.h: Likewise.
39540 * include/grub/pc_partition.h: Likewise.
39541 * include/grub/raid.h: Likewise.
39542 * include/grub/rescue.h: Likewise.
39543 * include/grub/script.h: Likewise.
39544 * include/grub/setjmp.h: Likewise.
39545 * include/grub/symbol.h: Likewise.
39546 * include/grub/term.h: Likewise.
39547 * include/grub/terminfo.h: Likewise.
39548 * include/grub/tparm.h: Likewise.
39549 * include/grub/types.h: Likewise.
39550 * include/grub/video.h: Likewise.
39551 * include/grub/efi/api.h: Likewise.
39552 * include/grub/efi/chainloader.h: Likewise.
39553 * include/grub/efi/console.h: Likewise.
39554 * include/grub/efi/console_control.h: Likewise.
39555 * include/grub/efi/disk.h: Likewise.
39556 * include/grub/efi/efi.h: Likewise.
39557 * include/grub/efi/pe32.h: Likewise.
39558 * include/grub/efi/time.h: Likewise.
39559 * include/grub/i386/linux.h: Likewise.
39560 * include/grub/i386/setjmp.h: Likewise.
39561 * include/grub/i386/types.h: Likewise.
39562 * include/grub/i386/efi/kernel.h: Likewise.
39563 * include/grub/i386/efi/loader.h: Likewise.
39564 * include/grub/i386/efi/time.h: Likewise.
39565 * include/grub/i386/pc/biosdisk.h: Likewise.
39566 * include/grub/i386/pc/boot.h: Likewise.
39567 * include/grub/i386/pc/chainloader.h: Likewise.
39568 * include/grub/i386/pc/console.h: Likewise.
39569 * include/grub/i386/pc/init.h: Likewise.
39570 * include/grub/i386/pc/kernel.h: Likewise.
39571 * include/grub/i386/pc/loader.h: Likewise.
39572 * include/grub/i386/pc/memory.h: Likewise.
39573 * include/grub/i386/pc/multiboot.h: Likewise.
39574 * include/grub/i386/pc/serial.h: Likewise.
39575 * include/grub/i386/pc/time.h: Likewise.
39576 * include/grub/i386/pc/vbe.h: Likewise.
39577 * include/grub/i386/pc/vbeblit.h: Likewise.
39578 * include/grub/i386/pc/vbefill.h: Likewise.
39579 * include/grub/i386/pc/vbeutil.h: Likewise.
39580 * include/grub/i386/pc/vga.h: Likewise.
39581 * include/grub/ieee1275/ieee1275.h: Likewise.
39582 * include/grub/ieee1275/ofdisk.h: Likewise.
39583 * include/grub/powerpc/libgcc.h: Likewise.
39584 * include/grub/powerpc/setjmp.h: Likewise.
39585 * include/grub/powerpc/types.h: Likewise.
39586 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39587 * include/grub/powerpc/ieee1275/console.h: Likewise.
39588 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39589 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39590 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39591 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39592 * include/grub/powerpc/ieee1275/time.h: Likewise.
39593 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39594 * include/grub/sparc64/libgcc.h: Likewise.
39595 * include/grub/sparc64/setjmp.h: Likewise.
39596 * include/grub/sparc64/types.h: Likewise.
39597 * include/grub/sparc64/ieee1275/console.h: Likewise.
39598 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39599 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39600 * include/grub/sparc64/ieee1275/time.h: Likewise.
39601 * include/grub/util/biosdisk.h: Likewise.
39602 * include/grub/util/getroot.h: Likewise.
39603 * include/grub/util/lvm.h: Likewise.
39604 * include/grub/util/misc.h: Likewise.
39605 * include/grub/util/raid.h: Likewise.
39606 * include/grub/util/resolve.h: Likewise.
39607 * io/gzio.c: Likewise.
39608 * kern/device.c: Likewise.
39609 * kern/disk.c: Likewise.
39610 * kern/dl.c: Likewise.
39611 * kern/elf.c: Likewise.
39612 * kern/env.c: Likewise.
39613 * kern/err.c: Likewise.
39614 * kern/file.c: Likewise.
39615 * kern/fs.c: Likewise.
39616 * kern/loader.c: Likewise.
39617 * kern/main.c: Likewise.
39618 * kern/misc.c: Likewise.
39619 * kern/mm.c: Likewise.
39620 * kern/parser.c: Likewise.
39621 * kern/partition.c: Likewise.
39622 * kern/rescue.c: Likewise.
39623 * kern/term.c: Likewise.
39624 * kern/efi/efi.c: Likewise.
39625 * kern/efi/init.c: Likewise.
39626 * kern/efi/mm.c: Likewise.
39627 * kern/i386/dl.c: Likewise.
39628 * kern/i386/efi/init.c: Likewise.
39629 * kern/i386/efi/startup.S: Likewise.
39630 * kern/i386/pc/init.c: Likewise.
39631 * kern/i386/pc/lzo1x.S: Likewise.
39632 * kern/i386/pc/startup.S: Likewise.
39633 * kern/ieee1275/ieee1275.c: Likewise.
39634 * kern/powerpc/cache.S: Likewise.
39635 * kern/powerpc/dl.c: Likewise.
39636 * kern/powerpc/ieee1275/cmain.c: Likewise.
39637 * kern/powerpc/ieee1275/crt0.S: Likewise.
39638 * kern/powerpc/ieee1275/init.c: Likewise.
39639 * kern/powerpc/ieee1275/openfw.c: Likewise.
39640 * kern/sparc64/cache.S: Likewise.
39641 * kern/sparc64/dl.c: Likewise.
39642 * kern/sparc64/ieee1275/init.c: Likewise.
39643 * kern/sparc64/ieee1275/openfw.c: Likewise.
39644 * loader/efi/chainloader.c: Likewise.
39645 * loader/efi/chainloader_normal.c: Likewise.
39646 * loader/i386/efi/linux.c: Likewise.
39647 * loader/i386/efi/linux_normal.c: Likewise.
39648 * loader/i386/pc/chainloader.c: Likewise.
39649 * loader/i386/pc/chainloader_normal.c: Likewise.
39650 * loader/i386/pc/linux.c: Likewise.
39651 * loader/i386/pc/linux_normal.c: Likewise.
39652 * loader/i386/pc/multiboot.c: Likewise.
39653 * loader/i386/pc/multiboot_normal.c: Likewise.
39654 * loader/powerpc/ieee1275/linux.c: Likewise.
39655 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39656 * normal/arg.c: Likewise.
39657 * normal/cmdline.c: Likewise.
39658 * normal/command.c: Likewise.
39659 * normal/completion.c: Likewise.
39660 * normal/execute.c: Likewise.
39661 * normal/function.c: Likewise.
39662 * normal/lexer.c: Likewise.
39663 * normal/main.c: Likewise.
39664 * normal/menu.c: Likewise.
39665 * normal/menu_entry.c: Likewise.
39666 * normal/misc.c: Likewise.
39667 * normal/parser.y: Likewise.
39668 * normal/script.c: Likewise.
39669 * normal/i386/setjmp.S: Likewise.
39670 * normal/powerpc/setjmp.S: Likewise.
39671 * normal/sparc64/setjmp.S: Likewise.
39672 * partmap/acorn.c: Likewise.
39673 * partmap/amiga.c: Likewise.
39674 * partmap/apple.c: Likewise.
39675 * partmap/gpt.c: Likewise.
39676 * partmap/pc.c: Likewise.
39677 * partmap/sun.c: Likewise.
39678 * term/gfxterm.c: Likewise.
39679 * term/terminfo.c: Likewise.
39680 * term/efi/console.c: Likewise.
39681 * term/i386/pc/console.c: Likewise.
39682 * term/i386/pc/serial.c: Likewise.
39683 * term/i386/pc/vesafb.c: Likewise.
39684 * term/i386/pc/vga.c: Likewise.
39685 * term/ieee1275/ofconsole.c: Likewise.
39686 * util/biosdisk.c: Likewise.
39687 * util/console.c: Likewise.
39688 * util/genmoddep.c: Likewise.
39689 * util/getroot.c: Likewise.
39690 * util/grub-emu.c: Likewise.
39691 * util/grub-mkdevicemap.c: Likewise.
39692 * util/grub-probe.c: Likewise.
39693 * util/lvm.c: Likewise.
39694 * util/misc.c: Likewise.
39695 * util/raid.c: Likewise.
39696 * util/resolve.c: Likewise.
39697 * util/update-grub.in: Likewise.
39698 * util/update-grub_lib.in: Likewise.
39699 * util/grub.d/00_header.in: Likewise.
39700 * util/grub.d/10_hurd.in: Likewise.
39701 * util/grub.d/10_linux.in: Likewise.
39702 * util/i386/efi/grub-install.in: Likewise.
39703 * util/i386/efi/grub-mkimage.c: Likewise.
39704 * util/i386/pc/grub-install.in: Likewise.
39705 * util/i386/pc/grub-mkimage.c: Likewise.
39706 * util/i386/pc/grub-mkrescue.in: Likewise.
39707 * util/i386/pc/grub-setup.c: Likewise.
39708 * util/i386/pc/misc.c: Likewise.
39709 * util/powerpc/ieee1275/grub-install.in: Likewise.
39710 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39711 * util/powerpc/ieee1275/misc.c: Likewise.
39712 * video/bitmap.c: Likewise.
39713 * video/video.c: Likewise.
39714 * video/i386/pc/vbe.c: Likewise.
39715 * video/i386/pc/vbeblit.c: Likewise.
39716 * video/i386/pc/vbefill.c: Likewise.
39717 * video/i386/pc/vbeutil.c: Likewise.
39718 * video/readers/tga.c: Likewise.
39719
3572d015 397202007-07-02 Robert Millan <rmh@aybabtu.com>
39721
39722 * conf/i386-efi.rmk: Replace obsolete reference to
39723 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39724 with util/getroot.c.
39725 * conf/powerpc-ieee1275.rmk: Likewise.
39726 * conf/sparc64-ieee1275.rmk: Likewise.
39727
39728 * util/grub-emu.c (main): Fix unchecked pointer handling.
39729
2c2a681b 397302007-07-02 Robert Millan <rmh@aybabtu.com>
39731
39732 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39733 invocation to fail, in order to support partition-less media.
39734
39735 * util/i386/pc/grub-install.in: Likewise.
39736
39737 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39738 which fs or partmap modules are needed (akin to its sister scripts).
39739
39740 Also use grub-probe to get rid of unportable /proc/mounts check.
39741
39742 Print the same informational message that the other scripts do, before
fe6b695a 39743 exiting.
2c2a681b 39744
6193defe 397452007-06-23 Robert Millan <rmh@aybabtu.com>
39746
fe6b695a 39747 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39748 a font file can be found and, if so, echo the GRUB path to it.
39749
39750 * util/update-grub.in: Handle multiple terminals depending on user
39751 input, platform availability and font file presence. Propagate
39752 variables of our findings to /etc/grub.d/ children.
39753
39754 * util/grub.d/00_header.in: Handle multiple terminals, based on
39755 environment setup by update-grub.
39756
eface1dc 397572007-06-23 Robert Millan <rmh@aybabtu.com>
39758
ba50d28f 39759 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39760
bf697e28 397612007-06-21 Robert Millan <rmh@aybabtu.com>
39762
39763 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39764 indicate end of data section in kernel image.
39765 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39766 GRUB_KERNEL_MACHINE_DATA_END.
39767
39768 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39769 space for it.
39770 * kern/i386/efi/startup.S: Likewise.
39771
39772 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39773 during image generation. Implement --prefix option to override this
39774 patch.
39775 * util/i386/efi/grub-mkimage.c: Likewise.
39776
39777 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39778 code to make path relative to its root into a separate function.
39779
39780 * util/i386/pc/grub-install.in: Use newly provided
39781 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39782 pass the result to grub-install --prefix.
39783
baa574b4 397842007-06-13 Robert Millan <rmh@aybabtu.com>
39785
39786 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39787 DEFAULT_DEVICE_MAP.
39788 * util/grub-emu.c: Use above definitions from misc.h instead of
39789 defining them.
39790 * util/grub-mkdevicemap.c: Likewise.
39791 * util/i386/pc/grub-setup.c: Likewise.
39792 * util/grub-probe.c: Likewise.
39793 (probe): Abort with grub_util_error() when either
39794 grub_guess_root_device or grub_util_get_grub_dev fails.
39795
0215dcbf 397962007-06-12 Robert Millan <rmh@aybabtu.com>
39797
39798 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39799 "pager" assignment.
39800 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39801 "pcdata".
39802 * util/grub-probe.c (probe): Likewise for "drive_name".
39803
8af2ab7b 398042007-06-11 Robert Millan <rmh@aybabtu.com>
39805
39806 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39807 not just the cdrom one.
39808
59d31694 398092007-06-11 Robert Millan <rmh@aybabtu.com>
39810
39811 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39812 Add --pkglibdir=DIR option to override pkglibdir.
39813 Mention --image-type=TYPE in help output.
39814 Fix --grub-mkimage (it was a no-op).
fe6b695a 39815 Abort gracefully when no parameter is given.
59d31694 39816
7ee367e4 398172007-06-11 Robert Millan <rmh@aybabtu.com>
39818
39819 * util/i386/pc/grub-mkrescue.in: New file.
39820 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39821 * Makefile.in: Handle bin_SCRIPTS.
39822
29b0ed46 398232007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39824
39825 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39826 list of video modes.
39827
c0f90770 398282007-06-06 Robert Millan <rmh@aybabtu.com>
39829
39830 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39831 file doesn't exist, or if it is in a filesystem grub can't read.
39832
39833 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39834 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39835 header comment to fit in 80 columns when the variables are resolved.
39836
39837 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39838 could be identified by update-grub. Remove redundant check for
fe6b695a 39839 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39840 handles that).
39841
fb36dc26 398422007-06-04 Robert Millan <rmh@aybabtu.com>
39843
39844 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39845
39846 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39847
39848 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39849
0c68c93e 398502007-06-04 Robert Millan <rmh@aybabtu.com>
39851
39852 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39853
39854 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39855 grub_apple_partition_map_fini.
39856
39857 * util/biosdisk.c
39858 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39859 to access >2 TiB disks).
39860
39861 Print disk->total_sectors with %llu instead of %lu, since this
39862 variable is always 64-bit (prevents wrong disk size from being displayed
39863 on either >2 TiB disk or big-endian CPU).
39864
39865 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39866 into a generic case that supports all (sane) partition maps.
39867
39868 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39869 breaks big-endian.
39870
39871 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39872 and grub_apple_partition_map_fini() after that.
39873
0f23eb74 398742007-06-01 Robert Millan <rmh@aybabtu.com>
39875
39876 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39877
39878 * util/grub.d/00_header.in: Only enable gfxterm when
39879 convert_system_path_to_grub_path() succeeds.
39880
42c71976 398812007-05-20 Robert Millan <rmh@aybabtu.com>
39882
39883 * util/update-grub_lib.in: New file.
39884 * DISTLIST: Add update-grub_lib.in.
39885 * conf/common.rmk: Generate update-grub_lib and install it in
39886 $(lib_DATA).
39887 * Makefile.in: Add install routine for $(lib_DATA).
39888
39889 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39890 function provided by update-grub_lib to support arbitrary paths of
39891 unifont.pff.
39892 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39893 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39894
5beb2291 398952007-05-19 Robert Millan <rmh@aybabtu.com>
39896
39897 * commands/i386/cpuid.c: New module.
39898 * DISTLIST: Add it.
39899 * conf/i386-efi.rmk: Enable cpuid.mod.
39900 * conf/i386-pc.rmk: Likewise.
39901
7262eca1 399022007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39903
39904 * kern/disk.c (grub_disk_read): Check return value of
39905 grub_realloc().
39906
260ba823 399072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39908
39909 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39910 arrays.
39911 * disk/raid.c (grub_raid_open): Likewise.
39912
1ecb6cf2 399132007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39914
39915 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39916 stack instead of on the heap.
39917
39918 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39919 before doing a read on it.
39920
39921 * configure.ac: Only use -fno-stack-protector for the target
39922 environment.
f19dbdb7 39923
21c8cbb1 399242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39925
39926 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39927 __attribute_ ((unused)) to mode_type argument.
39928
39929 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39930
21c8cbb1 39931 * kern/misc.c (memcmp): Fix prototype.
39932
39933 * include/grub/partition.h [GRUB_UTIL]
39934 (grub_gpt_partition_map_init): Add prototype.
39935 (grub_gpt_partition_map_fini): Likewise.
39936
39937 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39938 at the right place.
39939
39940 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39941 (grub_fat_read_data): Likewise.
39942 (grub_fat_find_dir): Likewise.
39943
39944 * font/manager.c (find_glyph): Make table a const.
39945 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39946
849d55d3 399472007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39948
39949 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39950 code, first search for device in /dev/mapper, then in /dev.
39951 (grub_util_get_grub_dev): New function.
39952 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39953 prototype.
39954 * util/grub-probe.c (probe): Remove check for RAID, call
39955 grub_util_get_grub_dev() instead of
39956 grub_util_biosdisk_get_grub_dev().
39957 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39958 grub_util_biosdisk_get_grub_dev().
39959 * util/i386/pc/grub-setup.c (main): Likewise.
39960
8fff7c2f 399612007-05-16 Robert Millan <rmh@aybabtu.com>
39962
39963 * DISTLIST: Update for the latest changes.
39964 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39965 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39966 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39967 grub/util/biosdisk.h.
39968 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39969 grub/util/biosdisk.h.
39970
48e12b52 399712007-05-16 Robert Millan <rmh@aybabtu.com>
39972
39973 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39974
46b9d128 399752007-05-16 Robert Millan <rmh@aybabtu.com>
39976
39977 * util/i386/efi/grub-install.in: New.
39978 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39979 newly added grub-install.
39980 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39981 include.
39982 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39983 grub/util/biosdisk.h.
39984 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39985 grub/util/biosdisk.h.
39986
2d1a40a9 399872007-05-16 Robert Millan <rmh@aybabtu.com>
39988
39989 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39990 * include/grub/util/biosdisk.h: ... here.
39991 * util/i386/pc/biosdisk.c: Moved to ...
39992 * util/biosdisk.c: ... here.
39993 * util/i386/pc/getroot.c: Moved to ...
39994 * util/getroot.c: ... here.
39995 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39996 * util/grub-mkdevicemap.c: ... here.
39997 * util/i386/pc/grub-probe.c: Moved to ...
39998 * util/grub-probe.c: ... here.
39999
9e26e3bc 400002007-05-15 Robert Millan <rmh@aybabtu.com>
40001
40002 * util/update-grub.in: Remove duplicated line in grub.cfg header
40003 message.
40004
57f96397 400052007-05-13 Robert Millan <rmh@aybabtu.com>
40006
40007 * util/update-grub.in: Fix a few assumptions about the devices holding
40008 /, /boot and /boot/grub being the same.
40009 * util/grub.d/00_header.in: Likewise.
40010 * util/grub.d/10_hurd.in: Likewise.
40011 * util/grub.d/10_linux.in: Likewise.
40012
40013 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40014 patterns. Use that to define the `.old' suffix as older than `'.
40015
40016 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40017
40018 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40019 the grub.cfg header message.
40020
2e610d62 400212007-05-11 Robert Millan <rmh@aybabtu.com>
40022
40023 * util/update-grub.in: Create device.map if it doesn't already exist,
40024 before attempting to run grub-probe.
40025 Check for grub-probe and grub-mkdevicemap with the same code
40026 grub-install is using.
40027 Remove test mode.
40028
3f6a10ef 400292007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40030
40031 * Makefile.in: Add the datarootdir autoconf variable.
40032
02e7b75e 400332007-05-09 Robert Millan <rmh@aybabtu.com>
40034
40035 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40036 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40037
75f396cc 400382007-05-07 Robert Millan <rmh@aybabtu.com>
40039
40040 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40041 determine partition map module.
40042 * util/i386/pc/grub-install.in: Use this feature to decide which
40043 partition module to load, instead of hardcoding pc and gpt.
40044
da65cb36 400452007-05-07 Robert Millan <rmh@aybabtu.com>
40046
40047 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40048 source directory differs from build directory.
40049
b57d6a91 400502007-05-05 Robert Millan <rmh@aybabtu.com>
40051
40052 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40053 initialisation.
40054
509d00f1 400552007-05-05 Robert Millan <rmh@aybabtu.com>
40056
40057 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40058
c48f23ef 400592007-05-05 Robert Millan <rmh@aybabtu.com>
40060
40061 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40062 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40063
20b97658 400642007-05-05 Robert Millan <rmh@aybabtu.com>
40065
40066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40067 (grub_probe_SOURCES): Likewise.
40068 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40069 GPT and initialize dos_part and bsd_part accordingly.
40070 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40071 install_bsd_part.
40072 (main): Activate gpt module for use during partition identification,
40073 and deactivate it afterwards.
40074 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40075 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40076 partition identification, and deactivate it afterwards.
40077
99123174 400782007-05-05 Robert Millan <rmh@aybabtu.com>
40079
40080 * term/i386/pc/console.c (grub_console_fini): Call
40081 grub_term_set_current() before grub_term_unregister().
40082
ebd97f6e 400832007-05-04 Robert Millan <rmh@aybabtu.com>
40084
40085 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40086 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40087 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40088 and update-grub_DATA.
40089 * conf/common.rmk: Build and install update-grub components.
40090 * conf/common.mk: Regenerate.
40091 * util/update-grub.in: New. Core of update-grub.
40092 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40093 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40094 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40095 * util/grub.d/README: New. Document grub.d directory layout.
40096
b06a264d 400972007-05-01 Robert Millan <rmh@aybabtu.com>
40098
40099 * util/grub-emu.c: Move initialization functions
40100 grub_util_biosdisk_init() and grub_init_all() before
40101 grub_util_biosdisk_get_grub_dev(), which relies on them.
40102
41f0050e 401032007-04-19 Robert Millan <rmh@aybabtu.com>
40104
40105 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40106 it is used later.
40107
04582bb3 401082007-04-18 Jerone Young <jerone@gmail.com>
40109
f19dbdb7 40110 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40111 stanza.
40112
08db4632 401132007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40114
08db4632 40115 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40116 continue on and look for device node with real device name.
40117
801b76be 401182007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40119
fe6b695a 40120 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40121 ability.
40122 * Makefile.in: Add autoconf package transformation code.
40123 * util/i386/pc/grub-install.in: Likewise.
40124 * util/powerpc/ieee1275/grub-install.in: Likewise.
40125
6795c4e1 401262007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40127
40128 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40129 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40130 (EXT2_REVISION): Likewise.
40131 (EXT2_INODE_SIZE): Likewise.
40132 (struct grub_ext2_block_group): Added a missing member
40133 "used_dirs".
40134 (grub_ext2_read_inode): Divide by the inode size in a superblock
40135 instead of 128 to obtain INODES_PER_BLOCK.
40136 Use the macro EXT2_INODE_SIZE instead of directly using
40137 SBLOCK->INODE_SIZE.
40138
d70af616 401392007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40140
40141 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40142 superblock instead of the structure size to compute an
40143 offset. This fixes the problem that GRUB could not read a
40144 filesystem when inode size is different from 128-byte.
40145
3b801603 401462007-03-05 Marco Gerards <marco@gnu.org>
40147
40148 * normal/main.c (read_config_file): When "menu" is not set, create
40149 an initial context.
40150
4785bfe4 401512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40152
40153 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40154 (HEAP_LIMIT): New macro.
40155 (grub_claim_heap): Claim memory up to `heaplimit'.
40156
a0cbb023 401572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40158
40159 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40160 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40161 (_start): Likewise.
40162 (grub_arch_modules_addr): Return address after `_end'.
40163 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40164 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40165 (add_segments): Calculate `_end' from phdr size and location.
40166 (ALIGN_UP): Moved to ...
40167 * include/grub/misc.h: here.
40168 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40169 New macro.
40170 (GRUB_IEEE1275_MODULE_BASE): Removed.
40171
fd7d8eba 401722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40173
40174 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40175 loop boundary.
40176
9b09e6fc 401772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40178
40179 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40180 All users updated.
40181 (grub_elf64_load_hook_t): Likewise.
40182 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40183 debug output.
40184
3ce27299 401852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40186
40187 * kern/mm.c: Update copyright.
40188 (grub_mm_debug): Correct syntax error.
40189 (grub_mm_dump_free): New function.
40190 (grub_debug_free): Call `grub_free'.
40191 * include/grub/mm.h: Update copyright.
40192 (grub_mm_dump_free): Add declaration.
40193
077d5fee 401942007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40195
40196 * include/grub/ieee1275/ieee1275.h: Update copyright.
40197 * kern/powerpc/ieee1275/init.c: Likewise.
40198 * kern/powerpc/ieee1275/openfw.c: Likewise.
40199
40200 * loader/powerpc/ieee1275/linux.c: Likewise.
40201 * include/grub/elfload.h: Likewise.
40202 * kern/elf.c: Likewise.
40203 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40204 callers.
40205 (grub_elf64_load): Likewise.
40206 (grub_elf32_load_segment): Move to a nested function.
40207 (grub_elf64_load_segment): Likewise.
40208
dc946850 402092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40210
40211 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40212 prototype.
40213 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40214 (grub_heap_len): Likewise.
40215 (HEAP_SIZE): New macro.
40216 (grub_claim_heap): New function.
40217 (grub_machine_init): Don't claim heap directly. Call
40218 `grub_claim_heap'.
40219 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40220 (grub_available_iterate): New function.
40221
baa2a121 402222007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40223
40224 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40225 * configure.ac: Use it for testing the HOST and TARGET compilers.
40226
4fe9862e 402272006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40228
40229 * Makefile.in (enable_grub_emu): New variable.
40230 * configure.ac (--enable-grub-emu): New option.
40231 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40232 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40233 * conf/i386-pc.rmk: Likewise.
40234 * conf/powerpc-ieee1275.rmk: Likewise.
40235 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40236
a8aa5762 402372006-12-12 Marco Gerards <marco@gnu.org>
40238
40239 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40240
40241 * kern/env.c (grub_env_unset): Don't free the member `value' when
40242 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40243 pointer.
40244
40245 * normal/main.c (current_menu): Removed.
40246 (free_menu): Unset the `menu' environment variable.
40247 (grub_normal_menu_addentry): Make use of the environment variable
40248 `menu', instead of using the global `current_menu'. Allocate
40249 memory for the sourcecode of this entry.
40250 (read_config_file): New argument `nested', changed all callers.
40251 Only in the case of a new context, initialize a new menu. Set the
40252 `menu' environment variable.
40253 (grub_normal_execute): Don't set and unset the environment
40254 variable `menu' here anymore. Only free the menu when leaving the
40255 context.
40256
40257 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40258 leak.
40259
957b3a3e 402602006-12-11 Marco Gerards <marco@gnu.org>
40261
40262 * normal/menu_entry.c (run): Fix off by one bug so the last line
40263 is executed. Move the loader check to outside the loop.
40264
ef875714 402652006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40266
40267 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40268
4e739985 402692006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40270
40271 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40272 the number of sectors. Reported by Andrey Shuvikov
40273 <mr_hyro@yahoo.com>.
f19dbdb7 40274
790707f2 402752006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40276
40277 * kern/disk.c (grub_disk_read): When there is a read error, always
40278 try to read only the necessary data.
f19dbdb7 40279
790707f2 40280 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40281 disk/raid.c.
40282 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40283 prototype.
40284 [GRUB_UTIL] (grub_raid_fini): Likewise.
40285 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40286 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40287 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40288 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40289 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40290 and grub_raid_fini().
f19dbdb7 40291
03e58196 402922006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40293
40294 * include/grub/types.h (__unused): Rename to UNUSED.
40295 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40296 (grub_elf64_size): Likewise.
f19dbdb7 40297
ae4f23bf 402982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40299
40300 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40301 grub_error_push and grub_error_pop in the error-handling path.
40302 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40303 length.
40304
2166cc83 403052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40306
40307 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40308 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40310 (kernel_elf_SOURCES): Likewise.
40311 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40312 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40313 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40314 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40315 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40316 (elf_mod_SOURCES): New variable.
40317 (elf_mod_CFLAGS): Likewise.
40318 (elf_mod_LDFLAGS): Likewise.
40319 * include/grub/types.h (__unused): New macro.
40320 * include/grub/elfload.h: New file.
40321 * kern/elf.c: Likewise.
40322 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40323 (ELF32_LOADMASK): New macro.
40324 (ELF64_LOADMASK): Likewise.
40325 (vmlinux): Removed.
40326 (grub_linux_load32): New function.
40327 (grub_linux_load64): Likewise.
40328 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40329 Use grub_elf_t instead of grub_file_t.
40330
a09d5aa5 403312006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40332
40333 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40334 `catch_result' to struct set_color_args.
40335
d976fc51 403362006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40337
40338 * normal/menu.c: Include grub/script.h.
40339 * normal/menu_entry.c: Likewise.
40340 * include/grub/normal.h: Do not include grub/script.h.
40341
67507549 403422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40343
40344 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40345
69203a99 403462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40347
40348 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40349 disk.
40350 (grub_disk_close): Print debug messages when closing a disk.
40351 (grub_disk_read): Print debug messages when disk read fails.
40352 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40353 filesystem type.
40354 * kern/partition.c: Include misc.h.
40355 (grub_partition_iterate): Print debug messages when detecting
40356 partition type.
40357
e2b8278c 403582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40359
40360 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40361 is negative.
40362 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40363
97b2f2ff 403642006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40365
40366 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40367 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40368
6555d655 403692006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40370
40371 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40372 instead of sizeof(lv). Patch by Michael Guntsche.
40373
4d42b77f 403742006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40375
40376 * disk/lvm.c: Rename VGS to VG_LIST.
40377 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40378 (grub_lvm_open): Likewise.
40379 Thanks to Michael Guntsche for finding this bug.
40380
5d74d927 403812006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40382
40383 * configure.ac (AC_INIT): Bumped to 1.95.
40384
a1bb27e4 403852006-10-14 Robert Millan <rmh@aybabtu.com>
40386
40387 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40388 with "/dev/.static/dev/md".
40389
e0994b8b 403902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40391
40392 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40393 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40394 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40395 DRIVE_NAME are always freed.
40396
40397 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40398 DOS_PART, as a DOS partition is counted from one instead of zero
40399 now. Reported by Robert Millan.
40400
ddd5cee9 404012006-10-14 Robert Millan <rmh@aybabtu.com>
40402
40403 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40404 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40405 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40406 string returned by grub_guess_root_device.
40407 * util/i386/pc/grub-setup.c: Likewise.
40408 * util/i386/pc/grub-probefs.c: Likewise.
40409
40410 * util/i386/pc/grub-probefs.c: Rename to ...
40411 * util/i386/pc/grub-probe.c: ... this.
40412 * DISTLIST: Remove grub-probefs, add grub-probe.
40413 * conf/i386-efi.rmk: Likewise.
40414 * conf/i386-pc.rmk: Likewise.
40415 * util/i386/pc/grub-install.in: Likewise.
40416
40417 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40418 choose which information we want to print.
40419
2b002173 404202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40421
40422 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40423 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40424 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40425 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40426 video/readers/tga.c and video/i386/pc/vbeutil.c.
40427
404282006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40429
40430 Added support for RAID and LVM.
f19dbdb7 40431
2b002173 40432 * disk/lvm.c: New file.
40433 * disk/raid.c: Likewise.
40434 * include/grub/lvm.h: Likewise.
f19dbdb7 40435 * include/grub/raid.h: Likewise.
2b002173 40436 * include/grub/util/lvm.h: Likewise.
40437 * include/grub/util/raid.h: Likewise.
40438 * util/lvm.c: Likewise.
40439 * util/raid.c: Likewise.
40440
40441 * include/grub/disk.h (grub_disk_dev_id): Add
40442 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40443 (grub_disk_get_size): New prototype.
40444 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40445 returns a partition.
40446 (grub_disk_get_size): New function.
f19dbdb7 40447
2b002173 40448 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40449 verbatim if grub_install_dos_part is -2.
40450
40451 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40452 and LVM devices.
40453
40454 * util/i386/pc/grub-setup.c (setup): New argument
40455 MUST_EMBED. Force embedding of GRUB when the argument is
40456 true. Close FILE before returning.
40457 (main): Add support for RAID and LVM.
f19dbdb7 40458
2b002173 40459 * conf/common.rmk: Add RAID and LVM modules.
40460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40461 util/lvm.c.
40462 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40463
40464 * kern/misc.c (grub_strstr): New function.
40465 * include/grub/misc.h (grub_strstr): New prototype.
40466
050548d0 404672006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40468
40469 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40470
da849d2d 404712006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40472
40473 * kern/misc.c (grub_strtoull): Guess the base only if not
40474 specified.
40475
97b2f2ff 404762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40477
40478 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40479 PowerMac support.
40480
97b2f2ff 404812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40482
40483 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40484
40485 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40486 Remove `flags' argument. All callers changed.
40487 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40488 (IEEE1275_IHANDLE_INVALID): New variable.
40489 (IEEE1275_CELL_INVALID): New variable.
40490 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40491 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40492 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40493 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40494 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40495 codes from Open Firmware. All callers updated.
40496 (grub_ieee1275_next_property): Directly return Open Firmware return
40497 code.
40498 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40499 Standardize error checking from `grub_ieee1275_get_property'.
40500 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40501 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40502
97b2f2ff 405032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40504
40505 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40506 `instance_to_package_args' to `instance_to_path_args'.
40507
40508 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40509 `grub_ieee1275_chosen'.
40510
40511 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40512 `grub_ieee1275_interpret'.
40513
97b2f2ff 405142006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40515
40516 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40517
97b2f2ff 405182006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40519
40520 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40521 (__cmpdi): Likewise.
40522
40523 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40524 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40525 `grub_ssize_t'.
40526
02bb8acc 40527 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40528
40529 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40530 to type `grub_ssize_t'.
40531 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40532
7f9a8531 405332006-09-22 Marco Gerards <marco@gnu.org>
40534
40535 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40536 newlines.
40537
b5ef1102 405382006-09-22 Marco Gerards <marco@gnu.org>
40539
40540 * commands/echo.c: New file.
40541
40542 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40543
40544 * conf/common.rmk (echo_mod_SOURCES): New variable.
40545 (echo_mod_CFLAGS): Likewise.
40546 (echo_mod_LDFLAGS): Likewise.
40547
2cff3677 405482006-09-22 Marco Gerards <marco@gnu.org>
40549
40550 * normal/main.c (get_line): Malloc memory instead of using
40551 preallocated memory. Removed the arguments `cmdline' and
40552 `max_len'. Updated all callers.
40553
6ba4688b 405542006-09-22 Marco Gerards <marco@gnu.org>
40555
40556 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40557 (normal_mod_DEPENDENCIES): Likewise.
40558
40559 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40560 (normal_mod_DEPENDENCIES): Likewise.
40561
40562 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40563
e02ac02c 405642006-09-22 Johan Rydberg <jrydberg@gnu.org>
40565
40566 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40567 programs.
40568 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40569 (normal_mod_DEPENDENCIES): Likewise.
40570 * conf/i386-pc.mk: Regenerate.
40571 * conf/i386-efi.mk: Likewise
40572 * conf/common.mk: Likewise.
40573 * conf/powerpc-ieee1275.mk: Likewise.
40574 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40575
8d252e44 405762006-09-22 Robert Millan <rmh@aybabtu.com>
40577
40578 Sync with i386 version.
40579 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40580 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40581
209bf7ac 405822006-09-21 Robert Millan <rmh@aybabtu.com>
40583
40584 Import from GRUB Legacy (lib/device.c):
40585 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40586 (init_device_map) [__linux__]: Add support for I2O devices.
40587
6b146090 405882006-09-14 Marco Gerards <marco@gnu.org>
40589
40590 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40591 `-melf_i386'.
40592
e38600a8 405932006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40594
40595 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40596 /boot/grub/*.lst.
78fa1790 40597
2952da5d 40598 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40599
2952da5d 40600 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40601 before adding it to device.map.
40602
01b82a64 406032006-08-15 Johan Rydberg <jrydberg@gnu.org>
40604
fe6b695a 40605 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40606 compiles a file; using the -MD option.
40607 * conf/common.mk: Regenerate.
40608 * conf/i386-pc.mk: Likewise.
40609 * conf/i386-efi.mk: Likewise.
40610 * conf/powerpc-ieee1275.mk: Likewise.
40611 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40612
1064790d 406132006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40614
40615 Move the prototypes of grub_setjmp and grub_longjmp to
40616 cpu/setjmp.h, so that each architecture may specify different
40617 attributes.
f19dbdb7 40618
1064790d 40619 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40620 (grub_longjmp): Likewise.
40621 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40622 (grub_longjmp): Likewise.
40623 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40624 (grub_longjmp): Likewise.
40625
40626 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40627 [!GRUB_UTIL] (grub_longjmp): Removed.
40628
29dda3ed 406292006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40630
40631 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40632 "color!" method does not return any value.
40633
ad2a06ed 406342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40635
40636 * include/grub/bitmap.h: New file.
40637
40638 * include/grub/i386/pc/vbeutil.h: Likewise.
40639
40640 * video/bitmap.c: Likewise.
40641
40642 * video/readers/tga.c: Likewise.
40643
40644 * video/i386/pc/vbeutil.c: Likewise.
40645
40646 * commands/videotest.c: Code cleanup and updated to reflect to new
40647 video API.
40648
40649 * term/gfxterm.c: Likewise.
40650
40651 * video/video.c: Likewise.
40652
40653 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40654 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40655 (bitmap_mod_SOURCES): New entry.
40656 (bitmap_mod_CFLAGS): Likewise.
40657 (bitmap_mod_LDFLAGS): Likewise.
40658 (tga_mod_SOURCES): Likewise.
40659 (tga_mod_CFLAGS): Likewise.
40660 (tga_mod_LDFLAGS): Likewise.
40661
40662 * include/grub/video.h (grub_video_blit_operators): New enum type.
40663 (grub_video_render_target): Changed as forward declaration and moved
40664 actual definition to be video driver specific.
40665 (grub_video_adapter.blit_bitmap): Added blitting operator.
40666 (grub_video_adapter.blit_render_target): Likewise.
40667 (grub_video_blit_bitmap): Likewise.
40668 (grub_video_blit_render_target): Likewise.
40669
40670 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40671 driver specific render target definition.
40672 (grub_video_vbe_map_rgba): Added driver internal helper.
40673 (grub_video_vbe_unmap_color): Updated to use
40674 grub_video_i386_vbeblit_info.
40675 (grub_video_vbe_get_video_ptr): Likewise.
40676
40677 * include/grub/i386/pc/vbeblit.h
40678 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40679 grub_video_i386_vbeblit_info.
40680 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40681 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40682 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40683 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40684 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40685 (grub_video_i386_vbeblit_index_index): Likewise.
40686 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40687 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40688 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40689 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40690 operator.
40691 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40692 operator.
40693
40694 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40695 include/grub/i386/pc/vbeblit.h.
40696
40697 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40698 Updated to use grub_video_i386_vbeblit_info.
40699 (grub_video_i386_vbefill_R8G8B8): Likewise.
40700 (grub_video_i386_vbefill_index): Likewise.
40701 (grub_video_i386_vbefill): Added generic filler.
40702
40703 * video/i386/pc/vbefill.c: Updated to reflect changes on
40704 include/grub/i386/pc/vbefill.h.
40705
40706 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40707 grub_video_i386_vbeblit_info.
40708 (grub_video_vbe_unmap_color): Likewise.
40709 (grub_video_vbe_blit_glyph): Likewise.
40710 (grub_video_vbe_scroll): Likewise.
40711 (grub_video_vbe_draw_pixel): Removed function.
40712 (grub_video_vbe_get_pixel): Likewise.
40713 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40714 updated code to use it.
40715 (common_blitter): Added common blitter for render target and bitmap.
40716 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40717 (grub_video_vbe_blit_render_target): Likewise.
40718
bc8c036d 407192006-07-30 Johan Rydberg <jrydberg@gnu.org>
40720
40721 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40722 is in text mode if there is no console control protocol instance
40723 available.
40724
684a8eff 407252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40726
40727 * include/grub/video.h: Code cleanup.
40728
40729 * include/grub/i386/pc/vbe.h: Likewise.
40730
40731 * video/i386/pc/vbe.c: Likewise.
40732
40733 * video/i386/pc/vbeblit.c: Likewise.
40734
40735 * video/i386/pc/vbefill.c: Likewise.
40736
40737 * video/video.c: Likewise. Also added more comments.
40738
5915059b 407392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40740
40741 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40742 (struct grub_biosdisk_dap): Likewise.
40743
40744 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40745 linkage settings for all functions.
40746
90ce5d56 407472006-07-12 Marco Gerards <marco@gnu.org>
40748
40749 * configure.ac (--enable-mm-debug): Fix typo.
40750
40751 * genkernsyms.sh.in: Use proper quoting for `CC'.
40752
43e7f879 407532006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40754
40755 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40756 (normal_mod_ASFLAGS): Remove "-m32".
40757
4889bdec 407582006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40759
40760 * util/misc.c: Include config.h.
40761 [!HAVE_MEMALIGN]: Do not include malloc.h.
40762 (grub_memalign): Use posix_memalign, if present. Then, use
40763 memalign, if present. Otherwise, emit an error.
40764
40765 * util/grub-emu.c: Do not include malloc.h.
40766
40767 * include/grub/util/misc.h: Include unistd.h. This is required for
40768 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40769 D. Eades III <hde@foobar-qux.org>.
40770
40771 * configure.ac (AC_GNU_SOURCE): Added.
40772 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40773 type.
40774
fd39d4da 407752006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40776
40777 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40778 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40779
b786f3b5 407802006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40781
40782 * include/grub/types.h (grub_host_addr_t): Rename to
40783 grub_target_addr_t.
40784 (grub_host_off_t): Rename to grub_target_off_t.
40785 (grub_host_size_t): Rename to grub_target_size_t.
40786 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40787 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40788
40789 * include/grub/kernel.h (struct grub_module_header): Change type
40790 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40791 (grub_module_info): Likewise.
f19dbdb7 40792
051988bb 407932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40794
40795 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40796 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40797 Velazquez <jesus.velazquez@gmail.com>.
40798
deae281b 407992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40800
40801 Count partitions from 1 instead of 0 in the string representation
40802 of partitions. Still use 0-based internally.
f19dbdb7 40803
deae281b 40804 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40805 (sun_partition_map_iterate): Use grub_partition_t instead of
40806 struct grub_partition *. Cast DESC->START_CYLINDER to
40807 grub_uint64_t after converting the endian.
40808 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40809 (sun_partition_map_get_name): Add 1 to P->INDEX.
40810
40811 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40812 PCDATA->DOS_PART.
40813 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40814
40815 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40816 zero instead of one.
40817 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40818 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40819
40820 * partmap/apple.c (apple_partition_map_iterate): Change the type
40821 of POS to unsigned.
40822 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40823 (apple_partition_map_get_name): Add 1 into P->INDEX.
40824
40825 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40826 of POS to unsigned.
40827 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40828 calculate the offset of a partition.
40829 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40830 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40831
40832 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40833 SECTOR to grub_disk_addr_t.
40834 (acorn_partition_map_iterate): Likewise.
40835 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40836 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40837 top.
40838 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40839
40840 * kern/i386/pc/init.c (make_install_device): Add 1 into
40841 GRUB_INSTALL_DOS_PART.
40842
40843 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40844 conditional.
40845
524a1e6a 408462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40847
40848 Clean up the code to support 64-bit addressing in disks and
40849 files. This change is not enough for filesystems yet.
f19dbdb7 40850
524a1e6a 40851 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40852 type of "start" to grub_uint64_t.
40853 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40854 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40855 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40856 convert addresses.
40857
40858 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40859 to grub_disk_addr_t.
40860
40861 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40862 string.
40863
40864 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40865
40866 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40867 to char *.
40868
40869 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40870
40871 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40872
40873 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40874
40875 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40876 to grub_off_t, to detect an error from grub_file_seek.
40877 (grub_multiboot_load_elf32): Likewise.
40878
40879 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40880 maximum unsigned long value when an overflow is detected.
40881 (grub_strtoull): New function.
40882 (grub_divmod64): Likewise.
40883 (grub_lltoa): use grub_divmod64.
40884
40885 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40886 grub_disk_addr_t.
40887 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40888 the pointer to next character. Use grub_strtoull instead of
40889 grub_strtoul.
40890 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40891 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40892 respectively.
40893
fe6b695a 40894 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40895 return value is signed.
40896 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40897 test if OFFSET is less than zero, as OFFSET is unsigned now.
40898
40899 * kern/disk.c (struct grub_disk_cache): Change the type of
40900 "sector" to grub_disk_addr_t.
40901 (grub_disk_cache_get_index): Change the type of SECTOR to
40902 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40903 unsigned after shifting.
40904 (grub_disk_cache_invalidate): Change the type of SECTOR to
40905 grub_disk_addr_t.
40906 (grub_disk_cache_unlock): Likewise.
40907 (grub_disk_cache_store): Likewise.
40908 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40909 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40910 grub_disk_addr_t and grub_uint64_t, respectively.
40911 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40912 body, as the value of OFFSET is tweaked by
40913 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40914 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40915 respectively.
40916 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40917 body, as the value of OFFSET is tweaked by
40918 grub_disk_check_range. Change the types of LEN and N to
40919 grub_size_t.
40920
40921 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40922 and "saved_offset" to grub_off_t.
40923 (test_header): Cast BUF to char *.
40924 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40925 to char *.
40926 (grub_gzio_read): Change the types of OFFSET and SIZE to
40927 grub_off_t and grub_size_t, respectively.
40928
40929 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40930 Removed.
40931 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40932 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40933 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40934 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40935 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40936
40937 * include/grub/types.h (grub_off_t): Unconditionally set to
40938 grub_uint64_t.
40939 (grub_disk_addr_t): Changed to grub_uint64_t.
40940
40941 * include/grub/partition.h (struct grub_partition): Change the
40942 types of "start", "len" and "offset" to grub_disk_addr_t,
40943 grub_uint64_t and grub_disk_addr_t, respectively.
40944 (grub_partition_get_start): Return grub_disk_addr_t.
40945 (grub_partition_get_len): Return grub_uint64_t.
40946
40947 * include/grub/misc.h (grub_strtoull): New prototype.
40948 (grub_divmod64): Likewise.
40949
40950 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40951 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40952 grub_off_t, respectively.
40953 All callers and references changed.
40954
40955 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40956 grub_size_t in "read".
40957 All callers and references changed.
40958
40959 * include/grub/file.h (struct grub_file): Change the types of
40960 "offset" and "size" to grub_off_t and grub_off_t,
40961 respectively. Change the type of SECTOR to grub_disk_addr_t in
40962 "read_hook".
40963 (grub_file_read): Change the type of LEN to grub_size_t.
40964 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40965 grub_off_t.
40966 (grub_file_size): Return grub_off_t.
40967 (grub_file_tell): Likewise.
40968 All callers and references changed.
40969
40970 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40971 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40972 "write".
40973 (struct grub_disk): Change the type of "total_sectors" to
40974 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40975 "read_hook".
524a1e6a 40976 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40977 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40978 (grub_disk_write): Likewise.
40979 All callers and references changed.
40980
40981 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40982 char * for grub_strncmp to silence gcc.
40983 (grub_iso9660_mount): Likewise.
40984 (grub_iso9660_mount): Likewise.
40985 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40986 return statement.
40987 (grub_iso9660_iterate_dir): Likewise.
40988 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40989
40990 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40991 LEN to grub_disk_addr_t and grub_size_t, respectively.
40992
40993 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40994
40995 * fs/jfs.c (grub_jfs_read_file): Likewise.
40996
40997 * fs/minix.c (grub_jfs_read_file): Likewise.
40998
40999 * fs/sfs.c (grub_jfs_read_file): Likewise.
41000
41001 * fs/ufs.c (grub_jfs_read_file): Likewise.
41002
41003 * fs/xfs.c (grub_jfs_read_file): Likewise.
41004
41005 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41006 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41007 respectively.
41008
41009 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41010 BLKNR to -1 instead of returning GRUB_ERRNO.
41011 (grub_ext2_read_file): Change the types of SECTOR and
41012 LEN to grub_disk_addr_t and grub_size_t, respectively.
41013
41014 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41015 LEN to grub_disk_addr_t and grub_size_t, respectively.
41016
41017 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41018 grub_file_read.
41019
41020 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41021 string. Do not cast SECTOR explicitly.
41022
41023 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41024 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41025 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41026 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41027 over 2TB and LBA mode is not supported, raise an error.
41028 (get_safe_sectors): New function.
41029 (grub_biosdisk_read): Use get_safe_sectors.
41030 (grub_biosdisk_write): Likewise.
41031
41032 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41033 (grub_efidisk_write): Likewise.
41034
41035 * disk/loopback.c (delete_loopback): Cosmetic changes.
41036 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41037 correctly.
41038 (grub_loopback_open): Likewise.
41039 (grub_loopback_read): Likewise. Also, change the type of POS to
41040 grub_off_t, and fix the usage of grub_memset.
41041
41042 * commands/i386/pc/play.c: Include grub/machine/time.h.
41043
41044 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41045 print FILE->SIZE.
41046
41047 * commands/configfile.c: Include grub/env.h.
41048
41049 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41050 GRUB_ERRNO directly instead. Change the type of POS to
41051 grub_off_t. Follow the coding standard.
41052
41053 * commands/blocklist.c: Include grub/partition.h.
41054 (grub_cmd_blocklist): Return an error if the underlying device is
41055 not a disk. Take the starting sector of a partition into account,
41056 if a partition is used.
41057
41058 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41059 a length field.
41060 (lba_mode): Support 64-bit addresses.
41061 (chs_mode): Likewise.
41062 (copy_buffer): Adapted to the new offsets of a length field and a
41063 segment field.
41064 (blocklist_default_start): Allocate 64-bit space.
41065
41066 * boot/i386/pc/boot.S (force_lba): Removed.
41067 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41068 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41069 space.
41070 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41071 is useless.
41072 (lba_mode): Refactored to support a 64-bit address. More size
41073 optimization.
41074 (setup_sectors): Likewise.
41075
53af98ad 410762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41077
41078 * DISTLIST: Added include/grub/i386/linux.h. Removed
41079 include/grub/i386/pc/linux.h
41080
41081 * configure.ac (AC_INIT): Bumped to 1.94.
41082
41083 * config.guess: Updated from gnulib.
41084 * config.sub: Likewise.
41085 * install-sh: Likewise.
41086 * mkinstalldirs: Likewise.
41087
b4c1940a 410882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41089
41090 * conf/common.rmk (grub_modules_init.lst): Depended on
41091 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41092 MODSRCFILES.
41093
41094 * genmk.rb (PModule::rule): Reverted the previous change.
41095
cfca1cfd 410962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41097
41098 * conf/common.rmk (grub_modules_init.lst): Depends on
41099 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41100 that the target does not exist before producing.
41101 (grub_modules_init.h): Remove the target before generating.
41102 (grub_emu_init.c): Likewise.
41103
41104 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41105
aa6d7826 411062006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41107
41108 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41109 for the target-specific tests. Make sure that we also have the
41110 up-to-date target variables for those tests.
41111
26c607b9 411122006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41113
41114 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41115 (PModule::rule): Likewise.
41116
0162321a 411172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41118
41119 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41120 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41121 target-specific flags should be prefixed.
41122 (PModule::rule): Likewise.
41123
6c826348 411242006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41125
41126 * configure.ac (CMP): Check if cmp is available explicitly.
41127
b977bf01 411282006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41129
41130 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41131 (target_cpu): New variable.
41132 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41133
b977bf01 41134 * util/i386/pc/grub-install.in (host_cpu): Removed.
41135 (target_cpu): New variable.
41136 (pkglibdir): Use target_cpu instead of host_cpu.
41137
41138 * util/genmoddep.c: Removed.
f19dbdb7 41139
b977bf01 41140 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41141 instead of GRUB_HOST_SIZEOF_VOID_P.
41142 * kern/dl.c: Likewise.
41143
41144 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41145 ...
41146 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41147 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41148 (GRUB_TARGET_SIZEOF_LONG): ... this.
41149 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41150 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41151 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41152 to ...
41153 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41154 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41155 (GRUB_TARGET_SIZEOF_LONG): ... this.
41156 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41157 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41158 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41159 to ...
41160 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41161 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41162 (GRUB_TARGET_SIZEOF_LONG): ... this.
41163 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41164 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41165
41166 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41167 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41168 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41169 instead of GRUB_HOST_SIZEOF_LONG.
41170 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41171 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41172 GRUB_CPU_WORDS_BIGENDIAN.
41173 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41174 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41175 grub_host_ssize_t.
41176
41177 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41178 (genmoddep_SOURCES): Likewise.
41179 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41180 (genmoddep_SOURCES): Likewise.
41181 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41182 (genmoddep_SOURCES): Likewise.
41183 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41184 Likewise.
41185 (genmoddep_SOURCES): Likewise.
41186
41187 * genmoddep.awk: New file.
41188
41189 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41190 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41191 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41192 (PModule::rule): Likewise.
41193 (Program::rule): Likewise.
41194 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41195 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41196 respectively.
41197
41198 * configure.ac: Rewritten intensively to use host and target
41199 instead of build and host, respectively.
41200
41201 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41202 (host_cpu): Removed.
41203 (target_cpu): New variable.
41204 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41205 (BUILD_CC): Removed.
41206 (BUILD_CFLAGS): Likewise.
41207 (BUILD_CPPFLAGS): Likewise.
41208 (TARGET_CC): New variable.
41209 (TARGET_CFLAGS): Likewise.
41210 (TARGET_CPPFLAGS): Likewise.
41211 (TARGET_LDFLAGS): Likewise.
41212 (AWK): Likewise.
41213 (include): Use target_cpu instead of host_cpu.
41214 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41215
b977bf01 41216 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41217
f09771a1 412182006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41219
41220 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41221 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41222 field 'false' to 'exec_on_false'.
41223 (grub_script_create_cmdif): Renamed argument names to reflect above
41224 changes.
41225
41226 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41227
41228 * normal/script.c (grub_script_create_cmdif): Likewise.
41229
118f4fb3 412302006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41231
41232 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41233 top.
41234 (grub_hfsplus_btree_recptr): Likewise.
41235 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41236 FILEBLOCK both to pass a block number and store next block
41237 number.
41238 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41239 overflow file correctly. Specify errors appropriately, because
41240 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41241 grub_hfsplus_btree_recptr to get the pointer to a found key.
41242 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41243 is found.
41244
41245 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41246 linux.mod.
41247 (_linux_mod_SOURCES): New variable.
41248 (_linux_mod_CFLAGS): Likewise.
41249 (_linux_mod_LDFLAGS): Likewise.
41250 (linux_mod_SOURCES): Likewise.
41251 (linux_mod_CFLAGS): Likewise.
41252 (linux_mod_LDFLAGS): Likewise.
41253
41254 * DISTLIST: Added loader/i386/efi/linux.c,
41255 loader/i386/efi/linux_normal.c and
41256 include/grub/i386/efi/loader.h.
41257
41258 * loader/i386/efi/linux.c: New file.
41259 * loader/i386/efi/linux_normal.c: Likewise.
41260 * include/grub/i386/efi/loader.h: Likewise.
41261
89a7d726 412622006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41263
41264 * commands/blocklist.c: New file.
41265
41266 * DISTLIST: Added commands/blocklist.c.
41267
41268 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41269 color for the background, and a darker color for the foreground.
89a7d726 41270 (grub_console_checkkey): Return READ_KEY.
41271 (grub_console_cls): Set the background to
41272 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41273
41274 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41275
41276 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41277 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41278
41279 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41280 prototype.
41281
41282 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41283 BG. The spec is wrong again.
41284
41285 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41286 prototype.
41287 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41288
41289 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41290 commands/blocklist.c.
41291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41292
89a7d726 41293 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41294 (blocklist_mod_SOURCES): New variable.
41295 (blocklist_mod_CFLAGS): Likewise.
41296 (blocklist_mod_LDFLAGS): Likewise.
41297
75c8f258 412982006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41299
41300 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41301 duplication.
41302 (lba_mode): Use %eax more intensively to reduce the code size.
41303
da2eb181 413042006-05-20 Marco Gerards <marco@gnu.org>
41305
41306 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41307
41308 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41309 for `menuentry'.
41310 (script): Accept leading newlines.
41311 (newlines): New rule to describe 0 or more newlines.
41312 (commands): Accept `command' with trailing newline. Fixed the
41313 order in which arguments were passed to `grub_script_add_cmd'.
41314 Accept commands separated by newlines.
41315 (function): Changed to accept newlines.
41316 (menuentry) Rewritten.
41317
41318 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41319 front of the list, instead of to the end.
41320
577b4050 413212006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41322
41323 * util/i386/pc/grub-install.in (bindir): New variable.
41324 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41325 Shaver <lbgwjl@gmail.com>.
41326
0d6e1189 413272006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41328
41329 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41330 grub/machine/linux.h
41331 * loader/i386/pc/linux.c: Likewise.
41332
41333 * include/grub/i386/pc/linux.h: Moved to ...
41334 * include/grub/i386/linux.h: ... here.
41335
41336 * include/grub/i386/linux.h (struct linux_kernel_params): New
41337 struct.
f19dbdb7 41338
31b86e9f 413392006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41340
41341 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41342 checking.
41343 (grub_video_vbe_blit_glyph): Likewise.
41344 (grub_video_vbe_blit_bitmap): Likewise.
41345 (grub_video_vbe_blit_render_target): Likewise.
41346
83b984de 413472006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41348
41349 * configure.ac (--with-platform): Properly quote the square
41350 brackets.
41351
5f0413bd 413522006-05-08 Marco Gerards <marco@gnu.org>
41353
41354 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41355 this...
41356 (kernel_elf_HEADERS): ...to this. Updated all users.
41357 (grubof_symlist.c): Renamed from this...
41358 (kernel_elf_symlist.c): ...to this. Updated all users.
41359 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41360 (grubof_SOURCES): Renamed from this...
41361 (kernel_elf_SOURCES): ...to this.
41362 (grubof_HEADERS): Renamed from this...
41363 (kernel_elf_HEADERS): ...to this.
41364 (grubof_CFLAGS): Renamed from this...
41365 (kernel_elf_CFLAGS): ...to this.
41366 (grubof_ASFLAGS): Renamed from this...
41367 (kernel_elf_ASFLAGS): ...to this.
41368 (grubof_LDFLAGS): Renamed from this...
41369 (kernel_elf_LDFLAGS): ...to this.
41370
41371 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41372 this...
41373 (kernel_elf_HEADERS): ...to this. Updated all users.
41374 (grubof_symlist.c): Renamed from this...
41375 (kernel_elf_symlist.c): ...to this. Updated all users.
41376 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41377 (grubof_SOURCES): Renamed from this...
41378 (kernel_elf_SOURCES): ...to this.
41379 (grubof_HEADERS): Renamed from this...
41380 (kernel_elf_HEADERS): ...to this.
41381 (grubof_CFLAGS): Renamed from this...
41382 (kernel_elf_CFLAGS): ...to this.
41383 (grubof_ASFLAGS): Renamed from this...
41384 (kernel_elf_ASFLAGS): ...to this.
41385 (grubof_LDFLAGS): Renamed from this...
41386 (kernel_elf_LDFLAGS): ...to this.
41387
41388 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41389 `kernel.elf' instead of `grubof'.
41390
05568c2e 413912006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41392
41393 Add --with-platform to configure. Use pkglibdir instead of
41394 pkgdatadir. This is reported by Roger Leigh.
41395
41396 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41397 (host_vendor): Likewise.
41398 (host_os): Likewise.
41399 (pkgdatadir): Likewise.
41400 (platform): New variable.
41401 (pkglibdir): Likewise.
41402 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41403
05568c2e 41404 * util/i386/pc/grub-install.in (datadir): Removed.
41405 (host_vendor): Likewise.
41406 (host_os): Likewise.
41407 (pkgdatadir): Likewise.
41408 (platform): New variable.
41409 (pkglibdir): Likewise.
41410 Use PKGLIBDIR instead of PKGDATADIR.
41411
41412 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41413 instead of GRUB_DATADIR.
41414 (main): Likewise.
41415 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41416 (main): Likewise.
41417 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41418 (main): Likewise.
41419
41420 * configure.ac (--with-platform): New option.
41421 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41422
41423 * Makefile.in: Include a makefile based on PLATFORM instead of
41424 HOST_VENDOR.
41425 (pkgdatadir): Not appended by the machine type.
41426 (pkglibdir): Appended by the machine type.
41427 (host_vendor): Removed.
41428 (platform): New variable.
41429 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41430 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41431 (uninstall): Likewise.
41432
4e93851c 414332006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41434
41435 Use the environment context in the menu. Remove the commands
41436 "default" and "timeout", and use variables instead.
f19dbdb7 41437
4e93851c 41438 * normal/menu.c: Include grub/env.h.
41439 (print_entry): Cast TITLE to silence gcc.
41440 (get_timeout): New function.
41441 (set_timeout): Likewise.
41442 (get_entry_number): Likewise.
41443 (run_menu): Use a default entry, a fallback entry and a timeout
41444 in the environment variables "default", "fallback" and
41445 "timeout". Also, tweak the default entry if it is not within the
41446 current menu entries.
41447 (grub_menu_run): Use a fallback entry in the environment variable
41448 "fallback".
41449
41450 * normal/main.c (read_config_file): Do not initialize
41451 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41452 NEWMENU->TIMEOUT.
41453 (grub_normal_execute): Use a data slot to store the menu.
41454
41455 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41456 fallback_entry and timeout.
41457 (struct grub_menu_list): Removed.
41458 (grub_menu_list_t): Likewise.
41459 (struct grub_context): Likewise.
41460 (grub_context_t): Likewise.
41461 (grub_context_get): Likewise.
41462 (grub_context_get_current_menu): Likewise.
41463 (grub_context_push_menu): Likewise.
41464 (grub_context_pop_menu): Likewise.
41465 (grub_default_init): Likewise.
41466 (grub_default_fini): Likewise.
41467 (grub_timeout_init): Likewise.
41468 (grub_timeout_fini): Likewise.
41469
41470 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41471 and timeout.mod.
41472 (normal_mod_SOURCES): Removed normal/context.c.
41473
41474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41475 commands/default.c, commands/timeout.c and normal/context.c.
41476 (normal_mod_SOURCES): Removed normal/context.c.
41477
41478 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41479 commands/timeout.c and normal/context.c.
41480 (normal_mod_SOURCES): Removed normal/context.c.
41481
41482 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41483 commands/default.c, commands/timeout.c and normal/context.c.
41484 (normal_mod_SOURCES): Removed normal/context.c.
41485
41486 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41487 timeout.mod.
41488 (default_mod_SOURCES): Removed.
41489 (default_mod_CFLAGS): Likewise.
41490 (default_mod_LDFLAGS): Likewise.
41491 (timeout_mod_SOURCES): Removed.
41492 (timeout_mod_CFLAGS): Likewise.
41493 (timeout_mod_LDFLAGS): Likewise.
41494
41495 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41496 normal/context.c.
41497
41498 * commands/default.c: Removed.
41499 * commands/timeout.c: Likewise.
41500 * normal/context.c: Likewise.
41501
1eb9cc1d 415022006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41503
41504 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41505
385bd9c1 415062006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41507
41508 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41509 "next" to "prev" for readability.
41510 (struct grub_env_sorted_var): New struct.
41511 (grub_env_context): Renamed to ...
41512 (initial_context): ... this.
41513 (grub_env_var_context): Renamed to ...
41514 (current_context): ... this.
41515 (grub_env_find): Look only at CURRENT_CONTEXT.
41516 (grub_env_context_open): Rewritten to copy exported variables from
41517 previous context.
41518 (grub_env_context_close): Rewritten according to the new
41519 scheme. Also, add an assertion to prevent the initial context from
41520 removed.
41521 (grub_env_insert): Removed the code for the sorted list.
41522 (grub_env_remove): Likewise.
41523 (grub_env_export): Simply mark the variable with
41524 GRUB_ENV_VAR_GLOBAL.
41525 (grub_env_set): A cosmetic change for naming consistency.
41526 (grub_env_get): Likewise.
41527 (grub_env_unset): Likewise.
41528 (grub_env_iterate): Rewritten to sort variables within this
41529 function.
41530 (grub_register_variable_hook): Fixed for naming consistency. Call
41531 grub_env_find again, only if NAME is not found at the first time.
41532 (mangle_data_slot_name): New function.
41533 (grub_env_set_data_slot): Likewise.
41534 (grub_env_get_data_slot): Likewise.
41535 (grub_env_unset_data_slot): Likewise.
41536
41537 * include/grub/env.h (grub_env_var_type): New enum.
41538 (GRUB_ENV_VAR_LOCAL): New constant.
41539 (GRUB_ENV_VAR_GLOBAL): Likewise.
41540 (GRUB_ENV_VAR_DATA): Likewise.
41541 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41542 "type".
41543 (grub_env_set): Replace VAR with NAME for consistency.
41544 (grub_register_variable_hook): Likewise.
41545 (grub_env_export): Specify the name of the argument.
41546 (grub_env_set_data_slot): New prototype.
41547 (grub_env_get_data_slot): Likewise.
41548 (grub_env_unset_data_slot): Likewise.
41549
7f362539 415502006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41551
41552 Extend the loader so that GRUB can accept a loader which comes
41553 back to GRUB when a loaded image exits. Also, this change adds
41554 support for a chainloader on EFI.
f19dbdb7 41555
7f362539 41556 * term/efi/console.c: Include grub/misc.h.
41557 (grub_console_checkkey): Display a scan code on the top for
41558 debugging. This will be removed once the EFI port gets stable.
41559 Correct the scan code mapping.
41560
41561 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41562 allocate memory from larger regions, in order to reduce the number
41563 of allocated regions. Otherwise, the MacOSX loader panics.
41564 (filter_memory_map): Avoid less than 1MB for compatibility with
41565 other loaders.
41566 (add_memory_regions): Allocate from the tail of a region, if
41567 possible, to avoid allocating a region near to 1MB, for the MacOSX
41568 loader.
41569
41570 * kern/efi/init.c (grub_efi_set_prefix): Specify
41571 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41572
41573 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41574 argument IMAGE_HANDLE and specify it to get a loaded image.
41575 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41576 grub_efi_get_loaded_image.
fe6b695a 41577 (grub_efi_get_filename): Divide the length by the size of
7f362539 41578 grub_efi_char16_t.
41579 (grub_efi_get_device_path): New function.
41580 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41581 the length by the size of grub_efi_char16_t for a file path device
41582 path node.
41583
41584 * kern/loader.c (grub_loader_noreturn): New variable.
41585 (grub_loader_set): Accept a new argument NORETURN. Set
41586 GRUB_LOADER_NORETURN to NORETURN.
41587 All callers changed.
41588 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41589 grub_machine_fini.
41590
41591 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41592 prototype.
41593 (grub_efi_get_loaded_image): Take an argument to specify an image
41594 handle.
41595
41596 * include/grub/loader.h (grub_loader_set): Added one more argument
41597 NORETURN.
41598
41599 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41600 instead of grub_efi_open_protocol.
41601 (grub_efidisk_get_device_name): Likewise.
41602 (grub_efidisk_close): Print a newline.
41603 (grub_efidisk_get_device_handle): Fixed to use
41604 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41605 GRUB_EFI_DEVICE_PATH_TYPE.
41606
41607 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41608 * kern/efi/efi.c (device_path_guid): ... here.
41609
41610 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41611 chain.mod.
41612 (kernel_mod_HEADERS): Added efi/disk.h.
41613 (_chain_mod_SOURCES): New variable.
41614 (_chain_mod_CFLAGS): Likewise.
41615 (_chain_mod_LDFLAGS): Likewise.
41616 (chain_mod_SOURCES): Likewise.
41617 (chain_mod_CFLAGS): Likewise.
41618 (chain_mod_LDFLAGS): Likewise.
41619
41620 * DISTLIST: Added include/grub/efi/chainloader.h,
41621 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41622
41623 * include/grub/efi/chainloader.h: New file.
41624 * loader/efi/chainloader.c: Likewise.
41625 * loader/efi/chainloader_normal.c: Likewise.
41626
c0111d6e 416272006-04-30 Marco Gerards <marco@gnu.org>
41628
41629 * commands/configfile.c (grub_cmd_source): New function.
41630 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41631 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41632
df5341da 416332006-04-30 Marco Gerards <marco@gnu.org>
41634
41635 * normal/execute.c (grub_script_execute_cmd): Change the return
41636 type to `grub_err_t'. Correctly return the error.
41637 (grub_script_execute_cmdline): In case a command line is not a
41638 command or a function, try to interpret it as an assignment.
41639
f85934bd 416402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41641
41642 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41643 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41644 skip a node whose name is obviously invalid as UTF-16,
41645 i.e. contains a NUL character. Stop the iteration when the last
41646 directory entry is found. Instead of using the return value of
41647 grub_hfsplus_btree_iterate_node, store the value in RET and use
41648 it, because the iterator can be stopped by the last directory
41649 entry.
41650
8f8a2cf8 416512006-04-30 Marco Gerards <marco@gnu.org>
41652
41653 * include/grub/env.h (grub_env_export): New prototype. Reported
41654 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41655
a27e84ce 416562006-04-30 Marco Gerards <marco@gnu.org>
41657
41658 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41659 size of the extents in a catalog file record.
41660
eaef0553 416612006-04-29 Marco Gerards <marco@gnu.org>
41662
41663 * commands/configfile.c (grub_cmd_configfile): Execute the
41664 configfile within its own context.
41665
41666 * include/grub/env.h (grub_env_context_open): New prototype.
41667 (grub_env_context_close): Likewise.
41668
41669 * kern/env.c (grub_env): Removed.
41670 (grub_env_sorted): Likewise.
41671 (grub_env_context): New variable.
41672 (grub_env_var_context): Likewise.
41673 (grub_env_find): Search both the active context and the global
41674 context.
41675 (grub_env_context_open): New function.
41676 (grub_env_context_close): Likewise.
41677 (grub_env_insert): Likewise.
41678 (grub_env_remove): Likewise.
41679 (grub_env_export): Likewise.
41680 (grub_env_set): Changed to use helper functions to avoid code
41681 duplication.
41682 (grub_env_iterate): Rewritten so both the current context and the
41683 global context are being used.
41684
41685 * normal/command.c (export_command): New function.
41686 (grub_command_init): Register the `export' function.
41687
7b455f4d 416882006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41689
41690 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41691 explicitly to suppress gcc's warnings.
41692 * fs/fat.c (grub_fat_find_dir): Likewise.
41693 (grub_fat_label): Likewise.
41694 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41695 (grub_xfs_mount): Likewise.
41696 (grub_xfs_label): Likewise.
41697 * fs/affs.c (grub_affs_mount): Likewise.
41698 (grub_affs_label): Likewise.
41699 (grub_affs_iterate_dir): Likewise.
41700 * fs/sfs.c (grub_sfs_mount): Likewise.
41701 (grub_sfs_iterate_dir): Likewise.
41702 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41703 * fs/hfs.c (grub_hfs_mount): Likewise.
41704 (grub_hfs_cmp_catkeys): Likewise.
41705 (grub_hfs_find_dir): Likewise.
41706 (grub_hfs_dir): Likewise.
41707 (grub_hfs_label): Likewise.
41708 * fs/jfs.c (grub_jfs_mount): Likewise.
41709 (grub_jfs_opendir): Likewise.
41710 (grub_jfs_getent): Likewise.
41711 (grub_jfs_lookup_symlink): Likewise.
41712 (grub_jfs_label): Likewise.
41713 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41714 (grub_hfsplus_iterate_dir): Likewise.
41715 (grub_hfsplus_btree_iterate_node): Made static.
41716
41717 * util/grub-emu.c (prefix): New variable.
41718 (grub_machine_set_prefix): New function.
41719 (main): Do not set the environment variable "prefix" here. Only
41720 set PREFIX, which is used later by grub_machine_set_prefix.
41721
41722 * include/grub/video.h: Do not include grub/symbol.h.
41723 (grub_video_register): Not exported. This symbol is not defined in
41724 the kernel.
41725 (grub_video_unregister): Likewise.
41726 (grub_video_iterate): Likewise.
41727 (grub_video_setup): Likewise.
41728 (grub_video_restore): Likewise.
41729 (grub_video_get_info): Likewise.
41730 (grub_video_get_blit_format): Likewise.
41731 (grub_video_set_palette): Likewise.
41732 (grub_video_get_palette): Likewise.
41733 (grub_video_set_viewport): Likewise.
41734 (grub_video_get_viewport): Likewise.
41735 (grub_video_map_color): Likewise.
41736 (grub_video_map_rgb): Likewise.
41737 (grub_video_map_rgba): Likewise.
41738 (grub_video_fill_rect): Likewise.
41739 (grub_video_blit_glyph): Likewise.
41740 (grub_video_blit_bitmap): Likewise.
41741 (grub_video_blit_render_target): Likewise.
41742 (grub_video_scroll): Likewise.
41743 (grub_video_swap_buffers): Likewise.
41744 (grub_video_create_render_target): Likewise.
41745 (grub_video_delete_render_target): Likewise.
41746 (grub_video_set_active_render_target): Likewise.
41747
41748 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41749 Undefined.
41750 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41751
41752 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41753 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41754 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41755 instead of $(srcdir)/genkernsyms.sh.
41756
41757 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41758 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41759 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41760 instead of $(srcdir)/genkernsyms.sh.
41761
41762 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41763 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41764 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41765 instead of $(srcdir)/genkernsyms.sh.
41766
41767 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41768 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41769 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41770 instead of $(srcdir)/genkernsyms.sh.
41771
41772 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41773 genkernsyms.sh.
41774
41775 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41776 genkernsyms.sh.
41777 (gensymlist.sh): New target.
41778 (genkernsyms.sh): Likewise.
41779
41780 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41781 genkernsyms.sh.in and gensymlist.sh.in.
41782
41783 * genkernsyms.sh: Removed.
41784 * gensymlist.sh: Likewise.
f19dbdb7 41785
7b455f4d 41786 * genkernsyms.sh.in: New file.
41787 * gensymlist.sh.in: Likewise.
41788
1885bb27 417892006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41790
41791 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41792 clobber "prefix", since we may have already set it manually.
41793
71538dff 417942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41795
41796 * kern/misc.c (abort): New alias for grub_abort.
41797
2965c7cc 417982006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41799
41800 A new machine-specific function "grub_machine_set_prefix" is
41801 defined. This is called after loading modules, so that a prefix
41802 initialization can use modules. Also, this change adds an
41803 intensive debugging feature for the memory manager via the
41804 configure option "--enable-mm-debug".
f19dbdb7 41805
2965c7cc 41806 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41807 PART.LEN.
41808
41809 * kern/sparc64/ieee1275/init.c (abort): Removed.
41810 (grub_stop): Likewise.
41811 (grub_exit): New function.
41812 (grub_set_prefix): Renamed to ...
41813 (grub_machine_set_prefix): ... this.
41814 (grub_machine_init): Do not call grub_set_prefix.
41815
41816 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41817 (grub_machine_set_prefix): ... this.
41818 (grub_machine_init): Do not call grub_set_prefix.
41819
41820 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41821 (grub_machine_init): Do not set the prefix here.
41822
41823 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41824
41825 * kern/efi/init.c: Include grub/mm.h.
41826 (grub_efi_set_prefix): New function.
41827
41828 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41829 (grub_efi_get_filename): New function.
41830 (grub_print_device_path): Renamed to ...
41831 (grub_efi_print_device_path): ... this.
41832
41833 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41834 [MM_DEBUG] (grub_realloc): Likewise.
41835 [MM_DEBUG] (grub_free): Likewise.
41836 [MM_DEBUG] (grub_memalign): Likewise.
41837 [MM_DEBUG] (grub_mm_debug): New variable.
41838 [MM_DEBUG] (grub_debug_malloc): New function.
41839 [MM_DEBUG] (grub_debug_free): New function.
41840 [MM_DEBUG] (grub_debug_realloc): New function.
41841 [MM_DEBUG] (grub_debug_memalign): New function.
41842
41843 * kern/misc.c (grub_abort): Print a newline to distinguish
41844 the message.
41845
41846 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41847 grub_set_root_dev after loading modules. This is necessary when
41848 setting a prefix depends on modules.
41849
41850 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41851 (grub_efi_print_device_path): ... this.
41852 (grub_efi_get_filename): New prototype.
41853 (grub_efi_set_prefix): Likewise.
41854
41855 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41856 and grub/disk.h.
41857 (grub_efidisk_get_device_handle): New prototype.
41858 (grub_efidisk_get_device_name): Likewise.
41859
41860 * include/grub/mm.h: Include config.h.
41861 (MM_DEBUG): Removed.
41862 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41863 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41864 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41865 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41866 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41867 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41868 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41869 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41870 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41871
41872 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41873
41874 * disk/efi/efidisk.c: Include grub/partition.h.
41875 (iterate_child_devices): New function.
41876 (add_device): First, compare only last device path nodes, so that
41877 devices are sorted by the types.
41878 (grub_efidisk_get_device_handle): New function.
41879 (grub_efidisk_get_device_name): Likewise.
41880
41881 * configure.ac (--enable-mm-debug): New option to enable the
41882 memory manager debugging feature. This makes the binary much
41883 bigger, so is disabled by default.
41884
9cacaa17 418852006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41886
41887 Use grub_abort instead of grub_stop, and grub_exit must be
41888 define in each architecture now. Also, this change adds support
41889 for EFI disks.
f19dbdb7 41890
9cacaa17 41891 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41892 (grub_getkey): New function.
41893 (grub_term_get_current): Likewise.
41894
41895 * util/i386/pc/grub-setup.c: Include grub/term.h.
41896 (grub_getkey): New function.
41897 (grub_term_get_current): Likewise.
41898
41899 * util/misc.c (grub_stop): Renamed to ...
41900 (grub_exit): ... this.
41901
41902 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41903 (grub_exit): ... this.
41904 (grub_machine_init): Use grub_abort instead of abort.
41905 (grub_stop): Removed.
41906
41907 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41908 abort.
41909
41910 * kern/i386/pc/startup.S (grub_exit): New function.
41911 (cold_reboot): New label.
41912
41913 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41914 (grub_efi_init): Call grub_efidisk_init.
41915 (grub_efi_fini): Call grub_efidisk_fini.
41916
41917 * kern/efi/efi.c: Include grub/mm.h.
41918 (grub_efi_console_control_guid): Renamed to ...
41919 (console_control_guid): ... this.
41920 (grub_efi_loaded_image_guid): Renamed to ...
41921 (loaded_image_guid): ... this.
41922 (grub_efi_locate_handle): New function.
41923 (grub_efi_open_protocol): Likewise.
41924 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41925 GRUB_EFI_CONSOLE_CONTROL_GUID.
41926 (grub_efi_exit): Removed.
41927 (grub_stop): Likewise.
41928 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41929 (grub_exit): New function.
41930 (grub_print_device_path): Likewise.
41931
41932 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41933 (grub_enter_rescue_mode): Register "exit".
41934
41935 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41936 (grub_abort): New function.
41937
41938 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41939
41940 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41941
41942 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41943
41944 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41945 (grub_print_device_path): New prototype.
41946 (grub_efi_locate_handle): Likewise.
41947 (grub_efi_open_protocol): Likewise.
41948
41949 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41950 * disk/efi/efidisk.c: Likewise.
41951
41952 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41953
41954 * include/grub/efi/console_control.h
41955 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41956
41957 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41958 last 8 bytes as an array.
41959 (GRUB_EFI_DISK_IO_GUID): New macro.
41960 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41961 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41962 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41963 grub_uint8_t.
41964 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41965 (struct grub_efi_device_path): Rename the member "sub_type" to
41966 "subtype".
41967 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41968 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41969 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41970 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41971 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41972 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41973 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41974 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41975 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41976 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41977 (struct grub_efi_pci_device_path): New structure.
41978 (grub_efi_pci_device_path_t): New type.
41979 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41980 (struct grub_efi_pccard_device_path): New structure.
41981 (grub_efi_pccard_device_path_t): New type.
41982 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41983 (struct grub_efi_memory_mapped_device_path): New structure.
41984 (grub_efi_memory_mapped_device_path_t): New type.
41985 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41986 (struct grub_efi_vendor_device_path): New structure.
41987 (grub_efi_vendor_device_path_t): New type.
41988 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41989 (struct grub_efi_controller_device_path): New structure.
41990 (grub_efi_controller_device_path_t): New type.
41991 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41992 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41993 (struct grub_efi_acpi_device_path): New structure.
41994 (grub_efi_acpi_device_path_t): New type.
41995 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41996 (struct grub_efi_expanded_acpi_device_path): New structure.
41997 (grub_efi_expanded_acpi_device_path_t): New type.
41998 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41999 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42000 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42001 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42002 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42003 (struct grub_efi_atapi_device_path): New structure.
42004 (grub_efi_atapi_device_path_t): New type.
42005 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42006 (struct grub_efi_fibre_channel_device_path): New structure.
42007 (grub_efi_fibre_channel_device_path_t): New type.
42008 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42009 (struct grub_efi_1394_device_path): New structure.
42010 (grub_efi_1394_device_path_t): New type.
42011 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42012 (struct grub_efi_usb_device_path): New structure.
42013 (grub_efi_usb_device_path_t): New type.
42014 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42015 (struct grub_efi_usb_class_device_path): New structure.
42016 (grub_efi_usb_class_device_path_t): New type.
42017 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42018 (struct grub_efi_i2o_device_path): New structure.
42019 (grub_efi_i2o_device_path_t): New type.
42020 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42021 (struct grub_efi_mac_address_device_path): New structure.
42022 (grub_efi_mac_address_device_path_t): New type.
42023 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42024 (struct grub_efi_ipv4_device_path): New structure.
42025 (grub_efi_ipv4_device_path_t): New type.
42026 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42027 (struct grub_efi_ipv6_device_path): New structure.
42028 (grub_efi_ipv6_device_path_t): New type.
42029 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42030 (struct grub_efi_infiniband_device_path): New structure.
42031 (grub_efi_infiniband_device_path_t): New type.
42032 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42033 (struct grub_efi_uart_device_path): New structure.
42034 (grub_efi_uart_device_path_t): New type.
42035 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42036 (struct grub_efi_vendor_messaging_device_path): New structure.
42037 (grub_efi_vendor_messaging_device_path_t): New type.
42038 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42039 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42040 (struct grub_efi_hard_drive_device_path): New structure.
42041 (grub_efi_hard_drive_device_path_t): New type.
42042 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42043 (struct grub_efi_cdrom_device_path): New structure.
42044 (grub_efi_cdrom_device_path_t): New type.
42045 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42046 (struct grub_efi_vendor_media_device_path): New structure.
42047 (grub_efi_vendor_media_device_path_t): New type.
42048 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42049 (struct grub_efi_file_path_device_path): New structure.
42050 (grub_efi_file_path_device_path_t): New type.
42051 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42052 (struct grub_efi_protocol_device_path): New structure.
42053 (grub_efi_protocol_device_path_t): New type.
42054 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42055 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42056 (struct grub_efi_bios_device_path): New structure.
42057 (grub_efi_bios_device_path_t): New type.
42058 (struct grub_efi_disk_io): New structure.
42059 (grub_efi_disk_io_t): New type.
42060 (struct grub_efi_block_io_media): New structure.
42061 (grub_efi_block_io_media_t): New type.
42062 (struct grub_efi_block_io): New structure.
42063 (grub_efi_block_io_t): New type.
42064
42065 * include/grub/misc.h (grub_stop): Removed.
42066 (grub_exit): New prototype.
42067 (grub_abort): Likewise.
42068
42069 * include/grub/disk.h (enum grub_disk_dev_id): Added
42070 GRUB_DISK_DEVICE_EFIDISK_ID.
42071
42072 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42073 disk/efi/efidisk.c.
42074 (kernel_syms.lst): Remove the target if an error occurs.
42075
49986a9f 420762006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42077
42078 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42079 as it was simply too buggy.
42080
970d3b8a 420812006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42082
42083 * kern/misc.c (grub_lltoa): New function.
42084 (grub_vsprintf): Added support for the long long suffix,
42085 i.e. "ll".
42086
ff04ec24 420872006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42088
42089 * Makefile.in (LDFLAGS): Add variable.
42090 (LD): Remove variable.
42091 * configure.ac: Add -m32 to LDFLAGS.
42092 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42093 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42094 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42095 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42096 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42097 variables.
42098 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42099 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42100 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42101
37e5e1a4 421022006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42103
42104 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42105 length for unknown glyph.
42106
c352d8dd 421072006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42108
2eab1c0d 42109 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42110
2eab1c0d 42111 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42112 completely. Accept one more argument DIR. The caller has changed.
42113
42114 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42115
42116 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42117 (grub_efi_loaded_image_guid): New variable.
42118 (grub_efi_get_loaded_image): New function.
42119 (grub_arch_modules_addr): Likewise.
42120
42121 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42122 prototype.
42123
42124 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42125 (struct grub_efi_loaded_image): New structure.
42126 (grub_efi_loaded_image_t): New type.
42127
421282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42129
c352d8dd 42130 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42131 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42132 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42133
6d01d6b4 421342006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42135
42136 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42137
976a4ea0 421382006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42139
42140 * DISTLIST: Added include/grub/efi/console.h,
42141 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42142 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42143
42144 * include/grub/efi/console.h: New file.
42145 * include/grub/efi/time.h: Likewise.
42146 * include/grub/i386/efi/kernel.h: Likewise.
42147 * kern/efi/init.c: Likewise.
42148 * kern/efi/mm.c: Likewise.
42149 * term/efi/console.c: Likewise.
f19dbdb7 42150
976a4ea0 42151 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42152 (grub_stop): Removed.
42153 (grub_get_rtc): Likewise.
42154 (grub_machine_init): Simply call grub_efi_init.
42155 (grub_machine_fini): Call grub_efi_fini.
42156
42157 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42158 (grub_efi_output_string): Removed.
42159 (grub_efi_stall): New function.
42160 (grub_stop): Likewise.
42161 (grub_get_rtc): Likewise.
42162
42163 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42164 (grub_efi_stall): New prototype.
42165 (grub_efi_allocate_pages): Likewise.
42166 (grub_efi_free_pages): Likewise.
42167 (grub_efi_get_memory_map): Likewise.
42168 (grub_efi_mm_init): Likewise.
42169 (grub_efi_mm_fini): Likewise.
42170 (grub_efi_init): Likewise.
42171 (grub_efi_fini): Likewise.
42172
42173 * include/grub/i386/efi/time.h: Do not include
42174 grub/symbol.h. Include grub/efi/time.h.
42175 (GRUB_TICKS_PER_SECOND): Removed.
42176 (grub_get_rtc): Likewise.
42177
42178 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42179 Added padding. The EFI spec is buggy.
42180 (GRUB_EFI_BLACK): New macro.
42181 (GRUB_EFI_BLUE): Likewise.
42182 (GRUB_EFI_GREEN): Likewise.
42183 (GRUB_EFI_CYAN): Likewise.
42184 (GRUB_EFI_RED): Likewise.
42185 (GRUB_EFI_MAGENTA): Likewise.
42186 (GRUB_EFI_BROWN): Likewise.
42187 (GRUB_EFI_LIGHTGRAY): Likewise.
42188 (GRUB_EFI_BRIGHT): Likewise.
42189 (GRUB_EFI_DARKGRAY): Likewise.
42190 (GRUB_EFI_LIGHTBLUE): Likewise.
42191 (GRUB_EFI_LIGHTGREEN): Likewise.
42192 (GRUB_EFI_LIGHTCYAN): Likewise.
42193 (GRUB_EFI_LIGHTRED): Likewise.
42194 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42195 (GRUB_EFI_YELLOW): Likewise.
42196 (GRUB_EFI_WHITE): Likewise.
42197 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42198 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42199 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42200 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42201 (GRUB_EFI_BACKGROUND_RED): Likewise.
42202 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42203 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42204 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42205 (GRUB_EFI_TEXT_ATTR): Likewise.
42206
42207 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42208 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42209 (kernel_mod_HEADERS): Added efi/time.h.
42210
83709125 422112006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42212
42213 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42214 include/grub/efi/api.h, include/grub/efi/console_control.h,
42215 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42216 include/grub/i386/efi/time.h, kern/efi/efi.c,
42217 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42218 and util/i386/efi/grub-mkimage.c.
42219
42220 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42221
42222 * genmk.rb (PModule#rule): Do not export symbols if
42223 #{prefix}_EXPORTS is set to "no".
42224
42225 * conf/i386-efi.mk: New file.
42226 * conf/i386-efi.rmk: Likewise.
42227 * include/grub/efi/api.h: Likewise.
42228 * include/grub/efi/console_control.h: Likewise.
42229 * include/grub/efi/efi.h: Likewise.
42230 * include/grub/efi/pe32.h: Likewise.
42231 * include/grub/i386/efi/time.h: Likewise.
42232 * kern/efi/efi.c: Likewise.
42233 * kern/i386/efi/init.c: Likewise.
42234 * kern/i386/efi/startup.S: Likewise.
42235 * util/i386/efi/grub-mkimage.c: Likewise.
42236
422372006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42238
42239 * include/grub/script.h: Include <grub/parser.h> and
42240 "grub_script.tab.h".
42241 (struct grub_lexer_param): New struct.
42242 (struct grub_parser_param): Likewise.
42243 (grub_script_create_arglist): Pass the state in an argument.
42244 (grub_script_add_arglist): Likewise.
42245 (grub_script_create_cmdline): Likewise.
42246 (grub_script_create_cmdblock): Likewise.
42247 (grub_script_create_cmdif): Likewise.
42248 (grub_script_create_cmdmenu): Likewise.
42249 (grub_script_add_cmd): Likewise.
42250 (grub_script_arg_add): Likewise.
42251 (grub_script_lexer_ref): Likewise.
42252 (grub_script_lexer_deref): Likewise.
42253 (grub_script_lexer_record_start): Likewise.
42254 (grub_script_lexer_record_stop): Likewise.
42255 (grub_script_mem_record): Likewise.
42256 (grub_script_mem_record_stop): Likewise.
42257 (grub_script_malloc): Likewise.
42258 (grub_script_yylex): Likewise.
42259 (grub_script_yyparse): Likewise.
42260 (grub_script_yyerror): Likewise.
42261 (grub_script_yylex): Likewise.
42262 (grub_script_lexer_init): Return the state.
42263
42264 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42265 (grub_script_lexer_done): Likewise.
42266 (grub_script_lexer_getline): Likewise.
42267 (grub_script_lexer_refs): Likewise.
42268 (script): Likewise.
42269 (newscript): Likewise.
42270 (record): Likewise.
42271 (recording): Likewise.
42272 (recordpos): Likewise.
42273 (recordlen): Likewise.
42274 (grub_script_lexer_init): Return the state instead of setting
42275 global variables.
42276 (grub_script_lexer_ref): Use the newly added argument for state
42277 instead of globals.
42278 (grub_script_lexer_deref): Likewise.
42279 (grub_script_lexer_record_start): Likewise.
42280 (grub_script_lexer_record_stop): Likewise.
42281 (recordchar): Likewise.
42282 (nextchar): Likewise.
42283 (grub_script_yylex2): Likewise.
42284 (grub_script_yylex): Likewise.
42285 (grub_script_yyerror): Likewise.
42286
42287 * normal/parser.y (func_mem): Removed variable.
42288 (menu_entry): Likewise.
42289 (err): Likewise.
42290 (%lex-param): New parser option.
42291 (%parse-param): Likewise.
42292 (script): Always return the AST.
42293 (argument): Pass the state around.
42294 (arguments): Likewise.
42295 (grubcmd): Likewise.
42296 (commands): Likewise.
42297 (function): Likewise.
42298 (menuentry): Likewise.
42299 (if_statement): Likewise.
42300 (if): Likewise.
42301
42302 * normal/script.c (grub_script_memused): Removed variable.
42303 (grub_script_parsed): Likewise.
42304 (grub_script_malloc): Added a state argument. Use that instead of
42305 global variables.
42306 (grub_script_mem_record): Likewise.
42307 (grub_script_mem_record_stop): Likewise.
42308 (grub_script_arg_add): Likewise.
42309 (grub_script_add_arglist): Likewise.
42310 (grub_script_create_cmdline): Likewise.
42311 (grub_script_create_cmdif): Likewise.
42312 (grub_script_create_cmdmenu): Likewise.
42313 (grub_script_add_cmd): Likewise.
42314 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42315
e2a8c904 423162006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42317
42318 * normal/command.c (grub_command_init): Remove the title command.
42319
42320 * normal/lexer.c (grub_script_yylex): Renamed from this...
42321 (grub_script_yylex2): ... to this.
42322 (grub_script_yylex): New function. Temporary
42323 introduced to filter some tokens.
42324 (grub_script_yyerror): Print a newline.
42325
42326 * normal/main.c (read_config_file): Output information about the
42327 lines that contain errors. Wait for a key after all lines have
42328 been processed. Don't return an empty menu.
42329
42330 * normal/parser.y (func_mem): Don't initialize.
42331 (menu_entry): Likewise.
42332 (err): New variable.
42333 (script): Don't return anything when an error was encountered.
42334 (ws, returns): Removed rules.
42335 (argument): Disabled concatenated variable support.
42336 (arguments): Remove explicit separators.
42337 (grubcmd): Likewise.
42338 (function): Likewise.
42339 (menuentry): Likewise.
42340 (if): Likewise.
42341 (commands): Likewise. Add error handling.
42342
42343 * normal/script.c (grub_script_create_cmdline): If
42344 `grub_script_parsed' is 0, assume the parser encountered an error.
42345
c9a86192 423462006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42347
42348 * configure.ac: Add support for EFI. Fix the typo
42349 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42350
70f3b243 423512006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42352
42353 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42354 foreign multibyte characters should be shown correctly.
42355
65f201ad 423562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42357
42358 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42359 calculation.
42360 (read_config_file): Made it to close file before returning.
42361
b4b93674 423622006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42363
42364 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42365 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42366 video/i386/pc/vbefill.c.
42367
42368 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42369 video/i386/pc/vbefill.c.
42370
42371 * include/grub/video.h (grub_video_blit_format): New enum.
42372 (grub_video_mode_info): Added new member blit_format.
42373 (grub_video_get_blit_format): New function prototype.
42374
42375 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42376 function prototype.
42377 (grub_video_vbe_map_rgb): Likewise.
42378 (grub_video_vbe_unmap_color): Likewise.
42379
42380 * include/grub/i386/pc/vbeblit.h: New file.
42381
42382 * include/grub/i386/pc/vbefill.h: New file.
42383
42384 * video/video.c (grub_video_get_blit_format): New function.
42385 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42386 (grub_video_vbe_map_rgb): Likewise.
42387 (grub_video_vbe_unmap_color): Likewise.
42388
42389 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42390 optimized fills.
42391 (grub_video_vbe_blit_render_target): Changed to use more optimized
42392 blits.
42393 (grub_video_vbe_setup): Added detection for optimized settings.
42394 (grub_video_vbe_create_render_target): Likewise.
42395
42396 * video/i386/pc/vbeblit.c: New file.
42397
42398 * video/i386/pc/vbefill.c: New file.
42399
c2379b9c 424002006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42401
42402 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42403 here...
42404
42405 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42406 parsing to support both hex and dec ranges. If filename was missing
42407 show usage information.
42408
bd0d7896 424092006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42410
42411 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42412 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42413
42414 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42415 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42416 (video_mod_SOURCES): Added.
42417 (video_mod_CFLAGS): Likewise.
42418 (video_mod_LDFLAGS): Likewise.
42419 (gfxterm_mod_SOURCES): Likewise.
42420 (gfxterm_mod_CFLAGS): Likewise.
42421 (gfxterm_mod_LDFLAGS): Likewise.
42422 (videotest_mod_SOURCES): Likewise.
42423 (videotest_mod_CFLAGS): Likewise.
42424 (videotest_mod_LDFLAGS): Likewise.
42425 (vesafb_mod_SOURCES): Removed.
42426 (vesafb_mod_CFLAGS): Likewise.
42427 (vesafb_mod_LDFLAGS): Likewise.
42428 (vga_mod_SOURCES): Likewise.
42429 (vga_mod_CFLAGS): Likewise.
42430 (vga_mod_LDFLAGS): Likewise.
42431
42432 * commands/videotest.c: New file.
42433
42434 * font/manager.c (fill_with_default_glyph): Modified to use
42435 grub_font_glyph.
42436 (grub_font_get_glyph): Likewise.
42437 (fontmanager): Renamed from this...
42438 (font_manager): ... to this.
42439
42440 * include/grub/font.h (grub_font_glyph): Added new structure.
42441 (grub_font_get_glyph): Modified to use grub_font_glyph.
42442
42443 * include/grub/misc.h (grub_abs): Added as inline function.
42444
42445 * include/grub/video.h: New file.
42446
42447 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42448 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42449 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42450 (grub_vbe_get_controller_info): Renamed from this...
42451 (grub_vbe_bios_get_controller_info): ... to this.
42452 (grub_vbe_get_mode_info): Renamed from this...
42453 (grub_vbe_bios_get_mode_info): ... to this.
42454 (grub_vbe_set_mode): Renamed from this...
42455 (grub_vbe_bios_set_mode): ... to this.
42456 (grub_vbe_get_mode): Renamed from this...
42457 (grub_vbe_bios_get_mode): ... to this.
42458 (grub_vbe_set_memory_window): Renamed from this...
42459 (grub_vbe_bios_set_memory_window): ... to this.
42460 (grub_vbe_get_memory_window): Renamed from this...
42461 (grub_vbe_bios_get_memory_window): ... to this.
42462 (grub_vbe_set_scanline_length): Renamed from this...
42463 (grub_vbe_set_scanline_length): ... to this.
42464 (grub_vbe_get_scanline_length): Renamed from this...
42465 (grub_vbe_bios_get_scanline_length): ... to this.
42466 (grub_vbe_set_display_start): Renamed from this...
42467 (grub_vbe_bios_set_display_start): ... to this.
42468 (grub_vbe_get_display_start): Renamed from this...
42469 (grub_vbe_bios_get_display_start): ... to this.
42470 (grub_vbe_set_palette_data): Renamed from this...
42471 (grub_vbe_bios_set_palette_data): ... to this.
42472 (grub_vbe_set_pixel_rgb): Removed.
42473 (grub_vbe_set_pixel_index): Likewise.
42474
42475 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42476 from this...
42477 (grub_vbe_bios_get_controller_info): ... to this.
42478 (grub_vbe_get_mode_info): Renamed from this...
42479 (grub_vbe_bios_get_mode_info): ... to this.
42480 (grub_vbe_set_mode): Renamed from this...
42481 (grub_vbe_bios_set_mode): ... to this.
42482 (grub_vbe_get_mode): Renamed from this...
42483 (grub_vbe_bios_get_mode): ... to this.
42484 (grub_vbe_set_memory_window): Renamed from this...
42485 (grub_vbe_bios_set_memory_window): ... to this.
42486 (grub_vbe_get_memory_window): Renamed from this...
42487 (grub_vbe_bios_get_memory_window): ... to this.
42488 (grub_vbe_set_scanline_length): Renamed from this...
42489 (grub_vbe_set_scanline_length): ... to this.
42490 (grub_vbe_get_scanline_length): Renamed from this...
42491 (grub_vbe_bios_get_scanline_length): ... to this.
42492 (grub_vbe_set_display_start): Renamed from this...
42493 (grub_vbe_bios_set_display_start): ... to this.
42494 (grub_vbe_get_display_start): Renamed from this...
42495 (grub_vbe_bios_get_display_start): ... to this.
42496 (grub_vbe_set_palette_data): Renamed from this...
42497 (grub_vbe_bios_set_palette_data): ... to this.
42498 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42499 getting corrupted after calling it. Added more pushes and pops.
42500 (grub_vbe_bios_set_mode): Likewise.
42501 (grub_vbe_bios_get_mode): Likewise.
42502 (grub_vbe_bios_get_memory_window): Likewise.
42503 (grub_vbe_bios_set_scanline_length): Likewise.
42504 (grub_vbe_bios_get_scanline_length): Likewise.
42505 (grub_vbe_bios_get_display_start): Likewise.
42506 (grub_vbe_bios_set_palette_data): Likewise.
42507
42508 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42509 (cl_insert): Likewise.
42510 (cl_delete): Likewise.
42511
42512 * term/gfxterm.c: New file.
42513
42514 * term/i386/pc/vesafb.c: Removed file.
42515
42516 * video/video.c: New file.
42517
42518 * video/i386/pc/vbe.c (real2pm): Added new function.
42519 (grub_video_vbe_draw_pixel): Likewise.
42520 (grub_video_vbe_get_video_ptr): Likewise.
42521 (grub_video_vbe_get_pixel): Likewise
42522 (grub_video_vbe_init): Likewise.
42523 (grub_video_vbe_fini): Likewise.
42524 (grub_video_vbe_setup): Likewise.
42525 (grub_video_vbe_get_info): Likewise.
42526 (grub_video_vbe_set_palette): Likewise.
42527 (grub_video_vbe_get_palette): Likewise.
42528 (grub_video_vbe_set_viewport): Likewise.
42529 (grub_video_vbe_get_viewport): Likewise.
42530 (grub_video_vbe_map_color): Likewise.
42531 (grub_video_vbe_map_rgb): Likewise.
42532 (grub_video_vbe_map_rgba): Likewise.
42533 (grub_video_vbe_unmap_color): Likewise.
42534 (grub_video_vbe_fill_rect): Likewise.
42535 (grub_video_vbe_blit_glyph): Likewise.
42536 (grub_video_vbe_blit_bitmap): Likewise.
42537 (grub_video_vbe_blit_render_target): Likewise.
42538 (grub_video_vbe_scroll): Likewise.
42539 (grub_video_vbe_swap_buffers): Likewise.
42540 (grub_video_vbe_create_render_target): Likewise.
42541 (grub_video_vbe_delete_render_target): Likewise.
42542 (grub_video_vbe_set_active_render_target): Likewise.
42543 (grub_vbe_set_pixel_rgb): Remove function.
42544 (grub_vbe_set_pixel_index): Likewise.
42545 (index_color_mode): Remove static variable.
42546 (active_mode): Likewise.
42547 (framebuffer): Likewise.
42548 (bytes_per_scan_line): Likewise.
42549 (grub_video_vbe_adapter): Added new static variable.
42550 (framebuffer): Likewise.
42551 (render_target): Likewise.
42552 (initial_mode): Likewise.
42553 (mode_in_use): Likewise.
42554 (mode_list): Likewise.
42555
5f97350b 425562006-03-10 Marco Gerards <marco@gnu.org>
42557
42558 * configure.ac (AC_INIT): Bumped to 1.93.
42559
42560 * DISTLIST: Added `include/grub/hfs.h'.
42561
a3c5c6f8 425622006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42563
42564 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42565 18H, which might help the BIOS falling back to next boot media.
42566
6de53d26 425672006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42568
42569 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42570 Poe Chen <poe.poechen@gmail.com>.
42571
77c4a393 425722006-01-17 Marco Gerards <marco@gnu.org>
42573
42574 * include/grub/normal.h: Include <grub/script.h>.
42575 (grub_command_list): Removed struct.
42576 (grub_command_list_t): Removed type.
42577 (grub_menu_entry): Remove members `num' and `command_list'. Add
42578 members `commands' and `sourcecode'.
42579 * include/grub/script.h: Add inclusion guards.
42580 (grub_script_cmd_menuentry): New struct.
42581 (grub_script_execute_menuentry): New prototype.
42582 (grub_script_lexer_record_start): Likewise.
42583 (grub_script_lexer_record_stop): Likewise.
42584 * normal/execute.c (grub_script_execute_menuentry): New function.
42585 * normal/lexer.c (record, recording, recordpos, recordlen): New
42586 variables.
42587 (grub_script_lexer_record_start): New function.
42588 (grub_script_lexer_record_stop): Likewise.
42589 (recordchar): Likewise.
42590 (nextchar): Likewise.
42591 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42592 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42593 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42594 (current_menu): New variable.
42595 (free_menu): Mainly rewritten.
42596 (grub_normal_menu_addentry): New function.
42597 (read_config_file): Rewritten.
42598 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42599 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42600 the menu entry.
42601 (run): Mainly rewritten.
42602 * normal/parser.y (menu_entry): New variable.
42603 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42604 (menuentry): New rule.
42605 (command): Add `menuentry'.
42606 (if_statement): Allow additional returns before `fi'.
42607 * normal/script.c (grub_script_create_cmdmenu): New function.
42608
144f1f98 426092006-01-03 Marco Gerards <marco@gnu.org>
42610
42611 * INSTALL: GNU Bison is required.
42612 * configure.ac: Rewritten the test to detect Bison.
42613 * Makefile.in (YACC): New variable. Reported by Xun Sun
42614 <xun.sun.cn@gmail.com>.
42615
af4b2d89 426162006-01-03 Marco Gerards <marco@gnu.org>
42617
42618 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42619 the HFS+ filesystem to filesystem blocks.
42620 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42621 GCC warning is silenced.
42622
15643b71 426232006-01-03 Marco Gerards <marco@gnu.org>
42624
42625 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42626 read from disk from big endian to host byte order.
42627
00905879 426282006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42629
42630 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42631 documentation.
42632 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42633 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42634 embedded HFS+ filesystem.
42635 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42636 (grub_hfs_sblock): Move from here...
42637 * include/grub/hfs.h: To here... New file.
42638 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42639 documentation.
42640 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42641 New macros.
42642 (grub_hfsplus_volheader): Change type of member `magic' to
42643 `grub_uint16_t'.
42644 (grub_hfsplus_data): Add new member `embedded_offset'.
42645 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42646 returned block.
42647 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42648 Calculate the offset.
42649
8899bc3e 426502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42651
42652 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42653 Removed.
42654 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42655
ae8c0277 426562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42657
42658 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42659 ENV->NAME is NULL after allocating ENV->VALUE.
42660
07084456 426612005-12-25 Marco Gerards <marco@gnu.org>
42662
42663 * kern/env.c (grub_env_set): Rewritten the error handling code.
42664
4750f5f1 426652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42666
42667 * geninit.sh: Made more robust, and more portable.
42668
50214199 426692005-12-25 Marco Gerards <marco@gnu.org>
42670
42671 Add support for Apple HFS+ filesystems.
f19dbdb7 42672
50214199 42673 * fs/hfsplus.c: New file.
42674
42675 * DISTLIST: Added `fs/hfsplus.c'.
42676
42677 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42678 (hfsplus_mod_SOURCES): New variable.
42679 (hfsplus_mod_CFLAGS): Likewise.
42680 (hfsplus_mod_LDFLAGS): Likewise.
42681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42682 (grub_setup_SOURCES): Likewise.
42683 (grub_mkdevicemap_SOURCES): Likewise.
42684 (grub_emu_SOURCES): Likewise.
42685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42686
42687 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42688
42689 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42690
befaed6c 426912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42692
42693 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42694 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42695 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42696 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42697 normal/lexer.c, normal/parser.y, normal/script.c, and
42698 partmap/gpt.c.
42699 Removed kern/sparc64/cache.c.
42700
42701 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42702 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42703 grub_emu_init.c.
42704
42705 * configure.ac (AC_INIT): Bumped to 1.92.
42706
6a124103 427072005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42708
42709 * kern/err.c (grub_error_push): Added new function to support error
42710 stacks.
42711 (grub_error_pop): Likewise.
42712 (grub_error_stack_items): New local variable to support error stacks.
42713 (grub_error_stack_pos): Likewise.
42714 (grub_error_stack_assert): Likewise.
42715 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42716 stack depth.
42717 (grub_print_error): Added support to print errors from error stack.
42718
42719 * include/grub/err.h (grub_error_push): Added function prototype.
42720 (grub_error_pop): Likewise.
42721
be973c1b 427222005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42723
42724 * configure.ac: Accept `powerpc64' as host_cpu.
42725 (amd64): Rename to `biarch32'.
42726
42727 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42728 non-cacheline-aligned addresses.
42729
42730 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42731 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42732 if `size' is non-zero.
42733
b04216ab 427342005-12-03 Marco Gerards <mgerards@xs4all.nl>
42735
42736 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42737 and `cd' to make sure the filename is not prefixed with a
42738 directory name.
42739 (pkgdata_MODULES): Add `gpt.mod'.
42740 (gpt_mod_SOURCES): New variable.
42741 (gpt_mod_CFLAGS): Likewise.
42742 (gpt_mod_LDFLAGS): Likewise.
42743
42744 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42745
42746 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42747 New macro.
42748
42749 * partmap/gpt.c: New file.
42750
42751 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42752 GPT partition map is detected.
42753
41730ed9 427542005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42755
42756 * commands/i386/pc/play.c: New file.
42757 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42758 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42759 macros.
f19dbdb7 42760
95dc3643 427612005-11-27 Marco Gerards <mgerards@xs4all.nl>
42762
42763 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42764 ((unused))' to silence gcc warning.
42765
1569ec51 427662005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42767
42768 * configure.ac: Correct `AC_PROG_YACC' test.
42769
9abde152 427702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42771
42772 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42773 check before installing files.
42774
44b83271 427752005-11-22 Mike Small <smallm@panix.com>
42776
42777 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42778 number regex so multidigit numbers are recognized correctly.
42779
427802005-11-22 Mike Small <smallm@panix.com>
42781
42782 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42783 debugging message before attempting to claim memory.
42784 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42785 multiple addresses in case of failure.
42786
9c12956b 427872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42788
42789 * term/tparm.c (get_space): Remove empty `if' statement.
42790
42791 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42792
42793 * kern/parser.c (check_varstate): Rename `state' to 's'.
42794
aeaf81d9 427952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42796
42797 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42798 variable definitions to the beginning of each function. Sort stack
42799 variables by size.
42800 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42801 `buf' argument to `char *'.
42802
79bbb63f 428032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42804
42805 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42806 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42807 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42808 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42809 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42810 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42811 configfile.mod, search.mod, gzio.mod and test.mod.
42812 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42813 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42814 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42815 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42816 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42817 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42818 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42819 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42820 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42821 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42822 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42823 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42824 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42825 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42826 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42827 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42828 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42829 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42830 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42831 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42832 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42833 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42834 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42835
42836 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42837 `grep --include'.
42838 (pkgdata_MODULES): Add test.mod.
42839
233b1628 428402005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42841
42842 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42843 appending to variables with "+=".
42844 (PModule): Use full pathname to generate *.lst filenames.
42845
42846 * Makefile.in: Fixed list rules moved from genmk.rb.
42847 (.DELETE_ON_ERROR): New special target.
42848 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42849
42850 * conf/i386-pc.rmk: Include conf/common.mk.
42851 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42852 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42853 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42854 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42855 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42856 configfile.mod, search.mod, gzio.mod and test.mod.
42857 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42858 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42859 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42860 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42861 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42862 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42863 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42864 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42865 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42866 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42867 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42868 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42869 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42870 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42871 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42872 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42873 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42874 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42875 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42876 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42877 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42878 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42879 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42880 here...
42881 * conf/common.rmk: ... to here. New file.
42882
42883 * conf/common.mk: New file.
42884
16f820c8 428852005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42886
42887 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42888 (grub_script.tab.c): ... here.
42889
42890 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42891 (grub_script.tab.c): ... here.
42892
42893 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42894 (grub_script.tab.c): ... here.
42895
42896 * normal/command.c (grub_command_find): Fixed a memory leak of
42897 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42898
63ba1554 428992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42900
42901 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42902 "@" which marks the start of a comment on ARM.
42903 (VARIABLE): Likewise.
42904
7f67dc13 429052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42906
79bbb63f 42907 Add support for Linux/ADFS partition tables.
7f67dc13 42908
42909 * partmap/acorn.c: New file.
42910
42911 * include/grub/acorn_filecore.h: Likewise.
42912
42913 * DISTLIST: Added `partmap/acorn.c' and
42914 `include/grub/acorn_filecore.h'.
f19dbdb7 42915
7f67dc13 42916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42917 `partmap/acorn.c'.
42918 (pkgdata_MODULES): Add `acorn.mod'.
42919 (acorn_mod_SOURCES): New variable.
42920 (acorn_mod_CFLAGS): Likewise.
42921
42922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42923 `partmap/acorn.c'.
42924 (pkgdata_MODULES): Add `acorn.mod'.
42925 (acorn_mod_SOURCES): New variable.
42926 (acorn_mod_CFLAGS): Likewise.
42927
42928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42929 (pkgdata_MODULES): Add `acorn.mod'.
42930 (acorn_mod_SOURCES): New variable.
42931 (acorn_mod_CFLAGS): Likewise.
42932 (acorn_mod_LDFLAGS): Likewise.
42933
42934 * include/types.h (grub_disk_addr_t): New typedef.
42935
6d099807 429362005-11-13 Marco Gerards <mgerards@xs4all.nl>
42937
42938 * geninit.sh: New file.
42939
42940 * geninitheader.sh: Likewise.
42941
42942 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42943 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42944 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42945 * commands/configfile.c (grub_configfile_init)
42946 (grub_configfile_fini): Likewise.
42947 * commands/default.c (grub_default_init, grub_default_fini):
42948 Likewise.
42949 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42950 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42951 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42952 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42953 Likewise.
42954 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42955 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42956 Likewise.
42957 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42958 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42959 Likewise.
42960 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42961 Likewise.
fe6b695a 42962 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42963 Likewise.
42964 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42965 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42966 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42967 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42968 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42969 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42970 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42971 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42972 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42973 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42974 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42975 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42976 * partmap/amiga.c (grub_amiga_partition_map_init)
42977 (grub_amiga_partition_map_fini): Likewise.
42978 * partmap/apple.c (grub_apple_partition_map_init)
42979 (grub_apple_partition_map_fini): Likewise.
42980 * partmap/pc.c (grub_pc_partition_map_init)
42981 (grub_pc_partition_map_fini): Likewise.
42982 * partmap/sun.c (grub_sun_partition_map_init,
42983 grub_sun_partition_map_fini): Likewise.
42984 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42985 Likewise.
42986
42987 * util/grub-emu.c: Include <grub_modules_init.h>.
42988 (main): Don't initialize and de-initialize any modules directly,
42989 use `grub_init_all' and `grub_fini_all' instead.
42990
42991 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42992 `grub_vesafb_mod_init'.
42993 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42994 all users.
42995 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42996 `grub_vga_mod_init'. Updated all users.
42997 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42998
6d099807 42999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43000 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43001 rules.
43002
43003 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43004 Generate a function to initialize the module in utilities.
43005 Updated all callers.
43006 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43007 initialize the module in utilities. Updated all callers.
43008
9046bcf0 430092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43010
43011 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43012 escape sequence and a literal ^L to clear the screen.
43013
43014 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43015 when returning from Open Firmware.
43016
d13ea639 430172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43018
43019 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43020 (grub_ofconsole_height): Likewise.
43021 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43022 manually insert a '\n'.
43023 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43024 `grub_ofconsole_height'. Return early if these are already set.
43025
a8fcf206 430262005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43027
43028 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43029 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43030 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43031 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43032 and `normal/script.c'.
43033 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43034 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43035 (test_mod_SOURCES): New variable.
43036 (test_mod_CFLAGS): Likewise.
43037 (test_mod_LDFLAGS): Likewise.
43038 (pkgdata_MODULES): Add `test.mod'.
43039 (grub_script.tab.c): New rule.
43040 (grub_script.tab.h): Likewise.
43041
b6b32745 430422005-11-07 Marco Gerards <mgerards@xs4all.nl>
43043
43044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43045 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43046 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43047 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43048 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43049 (test_mod_SOURCES): New variable.
43050 (test_mod_CFLAGS): Likewise.
43051 (pkgdata_MODULES): Add `test.mod'.
43052 (grub_script.tab.c): New rule.
43053 (grub_script.tab.h): Likewise.
43054
daac212a 430552005-11-06 Marco Gerards <mgerards@xs4all.nl>
43056
43057 Add initial scripting support.
43058
43059 * commands/test.c: New file.
43060 * include/grub/script.h: Likewise.
43061 * normal/execute.c: Likewise.
43062 * normal/function.c: Likewise.
43063 * normal/lexer.c: Likewise.
43064 * normal/parser.y: Likewise.
43065 * normal/script.c: Likewise.
43066
43067 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43068
daac212a 43069 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43070 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43071 `normal/function.c' and `normal/script.c'.
43072 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43073 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43074 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43075 variables.
daac212a 43076 (pkgdata_MODULES): Add `test.mod'.
43077 (grub_script.tab.c): New rule.
43078 (grub_script.tab.h): Likewise.
43079
43080 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43081
43082 * include/grub/normal.h (grub_test_init): New prototype.
43083 (grub_test_fini): Likewise.
f19dbdb7 43084
daac212a 43085 * normal/command.c: Include <grub/script.h>.
43086 (grub_command_execute): Rewritten.
f19dbdb7 43087
daac212a 43088 * util/grub-emu.c (main): Call `grub_test_init' and
43089 `grub_test_fini'.
43090
77500b2b 430912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43092
43093 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43094 to 0.
43095 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43096 there are no pending characters.
43097
e45deb9e 430982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43099
43100 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43101 `grub_strndup' to drop device arguments. Replace unnecessary
43102 `grub_strndup' with `grub_strdup'.
43103
4ce32619 431042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43105
43106 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43107 `debug' environment variable has been set.
43108
431092005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43110
4ce32619 43111 * Makefile.in (install-local): Use $(DATA).
43112 (uninstall): Likewise.
43113 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43114 (sbin_UTILITIES): ... to here.
43115 (sbin_SCRIPTS): New variable.
43116 (grub_install_SOURCES): New variable.
43117 * util/powerpc/ieee1275/grub-install.in: New file.
43118 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43119 variable.
43120 (add_segments): Call `grub_util_get_path'.
43121
25fe6f03 431222005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43123
43124 From Timothy Baldwin:
43125 * commands/ls.c (grub_ls_list_files): Close FILE with
43126 grub_file_close.
43127 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43128
04ccf3ec 431292005-10-24 Marco Gerards <mgerards@xs4all.nl>
43130
43131 * include/grub/parser.h: New file.
43132
43133 * kern/parser.c: Likewise.
43134
43135 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43136 (grub_setup_SOURCES): Likewise.
43137 (grub_probefs_SOURCES): Likewise.
43138 (grub_emu_SOURCES): Likewise.
43139 (kernel_img_HEADERS): Add `parser.h'.
43140
43141 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43142 (grub_emu_SOURCES): Add `kern/parser.c'.
43143 (grubof_SOURCES): Likewise.
43144
43145 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43146 (grubof_SOURCES): Add `kern/parser.c'.
43147
43148 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43149
43150 * kern/misc.c (grub_split_cmdline): Removed function.
43151
43152 * kern/rescue.c: Include <grub/parser.h>.
43153 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43154 of `grub_split_cmdline'.
43155
43156 * normal/command.c: Include <grub/parser.h>.
43157 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43158 of `grub_split_cmdline'.
43159
43160 * normal/completion.c: Include <grub/parser.h>.
43161 (cmdline_state): New variable.
43162 (iterate_dir): End the filename with a quote depending on the
43163 command line state.
43164 (get_state): new function.
43165 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43166 split the arguments and determine the current argument. When the
43167 argument string is not quoted, escape all spaces.
43168
6d8f4b0e 431692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43170
43171 * normal/sparc64/setjmp.S: New file.
43172
15cf03ed 431732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43174
43175 * include/grub/sparc64/libgcc.h: New file.
43176 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43177 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43178 normal/sparc64/setjmp.c.
43179
03e8661a 431802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43181
43182 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43183 * kern/sparc64/cache.S: New file.
43184 * kern/sparc64/cache.c: Removed.
43185 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43186 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43187 -mtune=ultrasparc.
43188 (COMMON_LDFLAGS): Add -melf64_sparc.
43189 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43190 (grubof_SOURCES): Use cache.S instead of cache.c.
43191 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43192 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43193 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43194 commented though.
43195 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43196 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43197 (linux_mod_CFLAGS): Commented out.
43198 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43199 out because module isn't built.
43200 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43201 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43202 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43203 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43204 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43205 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43206 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43207 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43208 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43209 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43210 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43211 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43212 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43213 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43214
34eeec8a 432152005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43216
43217 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43218 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43219 longer, because HFS should not be used on PC.
43220
708367a3 432212005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43222
43223 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43224 consistently within the loop.
43225
6fa1251a 432262005-10-15 Marco Gerards <mgerards@xs4all.nl>
43227
43228 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43229 directory can not be read.
43230
4801580b 432312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43232
43233 * configure.ac (AC_INIT): Increase the version number to 1.91.
43234
43235 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43236 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43237 term/i386/pc/serial.c.
43238
219ad426 432392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43240
43241 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43242 file size must be permitted.
43243
43244 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43245 between %ah and %al.
43246
688e5699 432472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43248
43249 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43250 grub_uint64_t.
43251 Call the hook with a NUL-terminated filename.
43252 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43253 grub_cpu_to_be32.
43254
43255 * kern/term.c (cursor_state): New variable.
43256 (grub_term_set_current): Reset the cursor state on a new
43257 terminal.
43258 (grub_setcursor): Rewritten to use CURSOR_STATE.
43259 (grub_getcursor): New function.
43260
43261 * include/grub/term.h (grub_getcursor): New prototype.
43262
43263 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43264 integers on ARM. Reported by Timothy Baldwin
43265 <T.E.Baldwin99@members.leeds.ac.uk>.
43266
bb34586c 432672005-10-11 Marco Gerards <mgerards@xs4all.nl>
43268
43269 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43270 allocated.
43271 (grub_sfs_dir): Likewise.
43272
9a909877 432732005-10-09 Marco Gerards <mgerards@xs4all.nl>
43274
43275 Add support for the SFS filesystem.
43276
43277 * fs/sfs.c: New file.
43278
43279 * DISTLIST: Added `fs/sfs.c'.
43280
43281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43282 (grub_probefs_SOURCES): Likewise.
43283 (grub_emu_SOURCES): Likewise.
43284 (pkgdata_MODULES): Add `sfs.mod'.
43285 (sfs_mod_SOURCES): New variable.
43286 (sfs_mod_CFLAGS): Likewise.
43287 (sfs_mod_LDFLAGS): Likewise.
43288
43289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43290 (pkgdata_MODULES): Add `sfs.mod'.
43291 (sfs_mod_SOURCES): New variable.
43292 (sfs_mod_CFLAGS): Likewise.
43293
43294 * util/grub-emu.c (main): Call `grub_sfs_init' and
43295 `grub_sfs_fini'.
43296
43297 * include/grub/fs.h (grub_sfs_init): New prototype.
43298 (grub_sfs_fini): Likewise.
43299
57bdbde3 433002005-10-07 Marco Gerards <mgerards@xs4all.nl>
43301
43302 Add support for the AFFS filesystem.
43303
43304 * fs/affs.c: New file.
43305
43306 * DISTLIST: Added `fs/affs.c'.
43307
43308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43309 (grub_probefs_SOURCES): Likewise.
43310 (grub_emu_SOURCES): Likewise.
43311 (pkgdata_MODULES): Add `affs.mod'.
43312 (affs_mod_SOURCES): New variable.
43313 (affs_mod_CFLAGS): Likewise.
43314 (affs_mod_LDFLAGS): Likewise.
43315
43316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43317 (pkgdata_MODULES): Add `affs.mod'.
43318 (affs_mod_SOURCES): New variable.
43319 (affs_mod_CFLAGS): Likewise.
43320
43321 * util/grub-emu.c (main): Call `grub_affs_init' and
43322 `grub_affs_fini'.
43323
43324 * include/grub/fs.h (grub_affs_init): New prototype.
43325 (grub_affs_fini): Likewise.
43326
047b67e0 433272005-10-01 Marco Gerards <mgerards@xs4all.nl>
43328
43329 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43330
59b8208a 433312005-10-01 Marco Gerards <mgerards@xs4all.nl>
43332
43333 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43334 `-m32' to CFLAGS.
43335
43336 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43337 linking.
f19dbdb7 43338
59b8208a 43339 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43340 (COMMON_LDFLAGS): New variable.
43341 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43342 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43343 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43344 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43345 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43346 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43347 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43348 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43349 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43350 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43351 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43352 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43353 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43354 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43355 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43356 variables.
43357 (normal_mod_ASFLAGS): Add `-m32'.
43358
43359 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43360 (grub_host_size_t, grub_host_ssize_t): New types.
43361 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43362 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43363 `GRUB_HOST_SIZEOF_VOID_P'.
43364
43365 * include/grub/kernel.h (struct grub_module_header): Type of
43366 member offset changed to `grub_host_off_t'. Type of member size
43367 changed to `grub_host_size_t'.
43368 (struct grub_module_info): Type of member offset changed to
43369 `grub_host_off_t'. Type of member size changed to
43370 `grub_host_size_t'.
43371
b4093103 433722005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43373
43374 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43375
b4093103 43376 * kern/i386/pc/startup.S (multiboot_header): New label.
43377 (multiboot_entry): Likewise.
43378 (multiboot_trampoline): Likewise.
43379
43380 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43381 Increased to 0x4A0.
43382
43383 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43384 put parentheses after a question mark.
43385 [!GRUB_UTIL] (my_mod): New variable.
43386
43387 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43388
b2499b29 433892005-09-28 Marco Gerards <mgerards@xs4all.nl>
43390
43391 Adds support for the XFS filesystem. Btrees are not supported
43392 yet.
43393
43394 * fs/xfs.c: New file.
43395
43396 * DISTLIST: Added `fs/xfs.c'.
43397
43398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43399 (grub_probefs_SOURCES): Likewise.
43400 (grub_emu_SOURCES): Likewise.
43401 (pkgdata_MODULES): Add `xfs.mod'.
43402 (xfs_mod_SOURCES): New variable.
43403 (xfs_mod_CFLAGS): Likewise.
43404
43405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43406 (pkgdata_MODULES): Add `xfs.mod'.
43407 (xfs_mod_SOURCES): New variable.
43408 (xfs_mod_CFLAGS): Likewise.
43409
43410 * util/grub-emu.c (main): Call `grub_xfs_init' and
43411 `grub_xfs_fini'.
43412
43413 * include/grub/fs.h (grub_xfs_init): New prototype.
43414 (grub_xfs_fini): Likewise.
43415
f19dbdb7 43416
83d37a62 434172005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43418
43419 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43420 color modes, allow greater than 16 colors to be configured as
43421 a default palette.
43422
47d2d65e 434232005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43424
43425 * normal/completion.c (complete_arguments): Add the qualifier
43426 const into OPTIONS.
43427
43428 From Omniflux <omniflux+lists@omniflux.com>:
43429 * include/grub/terminfo.h: New file.
43430 * include/grub/tparm.h: Likewise.
43431 * include/grub/i386/pc/serial.h: Likewise.
43432 * term/terminfo.c: Likewise.
43433 * term/tparm.c: Likewise.
43434 * term/i386/pc/serial.c: Likewise.
43435 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43436 serial.mod.
43437 (terminfo_mod_SOURCES): New variable.
43438 (terminfo_mod_CFLAGS): Likewise.
43439 (serial_mod_SOURCES): Likewise.
43440 (serial_mod_CFLAGS): Likewise.
43441
48b671ff 434422005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43443
43444 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43445 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43446 and kern/powerpc/ieee1275/cmain.c, respectively.
43447
43448 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43449 * kern/powerpc/ieee1275/crt0.S: ... here.
43450
43451 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43452 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43453
48b671ff 43454 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43455 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43456 instead of boot/powerpc/ieee1275/crt0.S and
43457 boot/powerpc/ieee1275/cmain.c, respectively.
43458
43459 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43460 sectors. It was not used anyway.
43461
09fc77a7 434622005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43463
43464 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43465 `unused parameter' warning.
43466
003789c7 434672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43468
43469 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43470 function.
43471 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43472 getcharwidth.
43473
67f44c86 434742005-08-28 Marco Gerards <metgerards@student.han.nl>
43475
43476 * include/grub/normal.h (enum grub_completion_type): Added
43477 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43478
43479 * normal/cmdline.c (print_completion): Handle
43480 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43481 * normal/menu_entry.c (store_completion): Likewise.
43482
43483 * normal/completion.c (complete_arguments): New function.
43484 (grub_normal_do_completion): Call `complete_arguments' when the
43485 current words start with a dash.
43486
0b5abe02 434872005-08-27 Marco Gerards <metgerards@student.han.nl>
43488
43489 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43490 `gzio.mod' instead of `io.mod').
43491
d9864ee1 434922005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43493
43494 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43495 (DISTDIRS): Added io and video.
43496 Rewrite the search routine to make an output consistently.
43497
43498 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43499 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43500 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43501 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43502 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43503 util/powerpc/ieee1275/misc.c.
f19dbdb7 43504
d9864ee1 43505 * include/grub/gzio.h: New file.
43506 * io/gzio.c: Likewise.
f19dbdb7 43507
d9864ee1 43508 * kern/file.c (grub_file_close): Call grub_device_close only if
43509 FILE->DEVICE is not NULL.
43510
43511 * include/grub/mm.h [!NULL] (NULL): New macro.
43512
43513 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43514
43515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43516 (pkgdata_MODULES): Added gzio.mod.
43517 (gzio_mod_SOURCES): New variable.
43518 (gzio_mod_CFLAGS): Likewise.
43519
43520 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43521 (pkgdata_MODULES): Added gzio.mod.
43522 (gzio_mod_SOURCES): New variable.
43523 (gzio_mod_CFLAGS): Likewise.
43524
43525 * commands/cat.c: Include grub/gzio.h.
43526 (grub_cmd_cat): Use grub_gzfile_open instead of
43527 grub_file_open.
f19dbdb7 43528
d9864ee1 43529 * commands/cmp.c: Include grub/gzio.h.
43530 (grub_cmd_cmp): Use grub_gzfile_open instead of
43531 grub_file_open.
43532
43533 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43534 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43535 grub_file_open.
43536 (grub_rescue_cmd_module): Likewise.
43537
fa46f4b5 435382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43539
43540 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43541 kern/sparc64/ieee1275/init.c because it contains _start.
43542 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43543
e9211b5d 435442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43545
43546 * configure.ac: Add support for sparc64 host with ieee1275
43547 firmware.
43548 * configure: Generated from configure.ac.
43549 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43550 instead of int.
43551 (grub_ofdisk_read): Likewise.
43552 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43553 pointers as (void *) to remove a warning.
43554 (grub_ofdisk_close): Likewise.
43555 (grub_ofdisk_read): Likewise.
43556 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43557 returns, so make it return void to remove a warning.
43558 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43559 Corresponding prototype change.
43560 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43561 values, and cast the pointers as (void *) to remove a warning.
43562 (grub_mm_dump): Likewise.
43563 * conf/sparc64-ieee1275.mk: New file.
43564 * conf/sparc64-ieee1275.rmk: Likewise.
43565 * include/grub/sparc64/setjmp.h: Likewise.
43566 * include/grub/sparc64/types.h: Likewise.
43567 * include/grub/sparc64/ieee1275/console.h: Likewise.
43568 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43569 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43570 * include/grub/sparc64/ieee1275/time.h: Likewise.
43571 * kern/sparc64/cache.c: Likewise.
43572 * kern/sparc64/dl.c: Likewise.
43573 * kern/sparc64/ieee1275/init.c: Likewise.
43574 * kern/sparc64/ieee1275/openfw.c: Likewise.
43575
385c6a92 435762005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43577
43578 * util/console.c (grub_ncurses_putchar): If C is greater than
43579 0x7f, set C to a question mark.
43580 (grub_ncurses_getcharwidth): New function.
43581 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43582 getcharwidth.
43583
43584 * normal/menu.c (print_entry): Made aware of Unicode. First,
43585 convert TITLE to UCS-4, and predict the cursor position by
43586 grub_getcharwidth.
43587
43588 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43589 const to SRC.
43590 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43591
16ccb8b1 435922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43593
43594 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43595 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43596 grub_strcat.
43597
43598 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43599 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43600 grub_strcpy and grub_strlen. Take it into account that a space
43601 character is inserted as a delimiter.
43602
6a85ce79 436032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43604
43605 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43606 invalid magic in the error.
6a85ce79 43607
43608 * commands/search.c: New file.
f19dbdb7 43609
6a85ce79 43610 * util/grub-emu.c (main): Call grub_search_init and
43611 grub_search_fini.
43612
43613 * kern/rescue.c (grub_rescue_print_disks): Removed.
43614 (grub_rescue_print_devices): New function.
43615 (grub_rescue_cmd_ls): Use grub_device_iterate with
43616 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43617 grub_rescue_print_disks.
43618
43619 * kern/partition.c (grub_partition_iterate): Return the result of
43620 PARTMAP->ITERATE instead of GRUB_ERRNO.
43621
43622 * kern/device.c: Include grub/partition.h.
43623 (grub_device_iterate): New function.
43624
43625 * include/grub/partition.h (grub_partition_iterate): Return int
43626 instead of grub_err_t.
43627
43628 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43629 prototype.
43630 [GRUB_UTIL] (grub_search_fini): Likewise.
43631
43632 * include/grub/device.h (grub_device_iterate): New prototype.
43633
43634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43635 commands/search.c.
43636 (pkgdata_MODULES): Added search.mod.
43637 (search_mod_SOURCES): New variable.
43638 (search_mod_CFLAGS): Likewise.
43639
43640 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43641 (pkgdata_MODULES): Added search.mod.
43642 (search_mod_SOURCES): New variable.
43643 (search_mod_CFLAGS): Likewise.
43644
43645 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43646 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43647 All callers changed.
43648
43649 * DISTLIST: Added commands/search.c.
43650
ef095434 436512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43652
43653 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43654 conversion.
43655 (grub_getcharwidth): New function.
43656
43657 * kern/misc.c (grub_utf8_to_ucs4): New function.
43658
43659 * include/grub/term.h (struct grub_term): Added a new member
43660 "getcharwidth".
43661 (grub_getcharwidth): New prototype.
43662
43663 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43664
43665 * term/i386/pc/console.c (map_char): New function. Segregated from
43666 grub_console_putchar.
43667 (grub_console_putchar): Use map_char.
43668 (grub_console_getcharwidth): New function.
43669 (grub_console_term): Specified grub_console_getcharwidth as
43670 getcharwidth.
43671
43672 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43673 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43674
43675 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43676 GRUB_ERRNO.
43677 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43678 on grub_strtoul completely.
43679 (write_char): Declare local variables in the beginning of the
43680 function.
43681 (grub_vesafb_getcharwidth): New function.
43682 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43683 getcharwidth.
43684
1f0a95e4 436852005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43686
43687 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43688 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43689 commands/i386/pc/vbetest.c.
43690
43691 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43692 call grub_vbe_get_controller_info again, because the returned
43693 information is volatile.
43694 (grub_vbe_set_video_mode): Mostly rewritten.
43695 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43696 grub_vbe_status_t correctly.
43697 (grub_vbe_get_video_mode_info): Likewise.
43698 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43699 several if statements.
43700
43701 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43702 * commands/i386/pc/vbeinfo.c: ... this.
43703
43704 * commands/i386/pc/vbe_test.c: Renamed to ...
43705 * commands/i386/pc/vbetest.c: ... this.
43706
43707 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43708 ...
43709 (grub_cmd_vbeinfo): ... this. Save video modes before
43710 iterating. Skip a video mode, if it is not available, not enough
43711 information is given or it is monochrome. Show the memory
43712 model. Leave the interpretation of MODEVAR to grub_strtoul
43713 completely.
43714 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43715 (GRUB_MOD_FINI): Likewise.
43716
43717 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43718 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43719 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43720 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43721 grub_strtoul completely.
43722 (real2pm): Removed.
43723 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43724 (GRUB_MOD_FINI): Likewise.
43725
43726 * normal/misc.c: Include grub/mm.h.
43727
43728 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43729 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43730 (vbe_list_modes_mod_SOURCES): Removed.
43731 (vbe_list_modes_mod_CFLAGS): Likewise.
43732 (vbe_test_mod_SOURCES): Likewise.
43733 (vbe_test_mod_CFLAGS): Likewise.
43734 (vbeinfo_mod_SOURCES): New variable.
43735 (vbeinfo_mod_CFLAGS): Likewise.
43736 (vbetest_mod_SOURCES): Likewise.
43737 (vbetest_mod_CFLAGS): Likewise.
43738
992ffbbe 437392005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43740
43741 * normal/misc.c: New file.
43742
43743 * DISTLIST: Added normal/misc.c.
f19dbdb7 43744
992ffbbe 43745 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43746 DISK to HOOK. Call HOOK with DISK.
43747 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43748 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43749 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43750
43751 * normal/menu_entry.c (struct screen): Added a new member
43752 "completion_shown".
43753 (completion_buffer): New global variable.
43754 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43755 (store_completion): New function.
43756 (complete): Likewise.
43757 (clear_completions): Likewise.
43758 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43759 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43760 a tab, call complete.
43761
43762 * normal/completion.c (disk_dev): Removed.
43763 (print_simple_completion): Likewise.
43764 (print_partition_completion): Likewise.
43765 (print_func): New global variable.
43766 (add_completion): Do not take the arguments WHAT or PRINT any
43767 longer. Added a new argument TYPE. Instead of printing directly,
43768 call PRINT_FUNC if not NULL.
43769 All callers changed.
43770 (complete_device): Use a local variable DEV instead of
43771 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43772 (grub_normal_do_completion): Take a new argument HOOK. Do not
43773 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43774 empty string, return NULL instead.
43775 All callers changed.
43776
43777 * normal/cmdline.c (print_completion): New function.
43778
43779 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43780 to HOOK.
43781 All callers changed.
43782
43783 * kern/disk.c (grub_print_partinfo): Removed.
43784
43785 * include/grub/partition.h (struct grub_partition_map): Add a new
43786 argument DISK into HOOK of ITERATE.
43787 (grub_partition_iterate): Add a new argument DISK to HOOK.
43788
43789 * include/grub/normal.h (enum grub_completion_type): New enum.
43790 (grub_completion_type_t): New type.
43791 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43792 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43793 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43794 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43795 (grub_normal_do_completion): Added a new argument HOOK.
43796 (grub_normal_print_device_info): New prototype.
43797
43798 * include/grub/disk.h (grub_print_partinfo): Removed.
43799
43800 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43801 (normal_mod_SOURCES): Likewise.
43802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43803 (normal_mod_SOURCES): Likewise.
43804
43805 * commands/ls.c (grub_ls_list_disks): Use
43806 grub_normal_print_device_info instead of grub_print_partinfo. Free
43807 PNAME.
43808 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43809 duplicating the code.
43810
0bd41162 438112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43812
43813 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43814 follow GCS more precisely.
43815 * commands/i386/pc/vbe_test.c: Likewise.
43816 * include/grub/i386/pc/vbe.h: Likewise.
43817 * term/i386/pc/vesafb.c: Likewise.
43818 * video/i386/pc/vbe.c: Likewise.
0bd41162 43819
6323696a 438202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43821
43822 * DISTLIST: Added term/i386/pc/vesafb.c
43823 DISTLIST: Added video/i386/pc/vbe.c
43824 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43825 DISTLIST: Added commands/i386/pc/vbe_test.c.
43826 * commands/i386/pc/vbe_list_modes.c: New file.
43827 * commands/i386/pc/vbe_test.c: Likewise.
43828 * term/i386/pc/vesafb.c: Likewise.
43829 * video/i386/pc/vbe.c: Likewise.
43830 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43831 (grub_vbe_probe) Added prototype.
43832 (grub_vbe_set_video_mode) Likewise.
43833 (grub_vbe_get_video_mode) Likewise.
43834 (grub_vbe_get_video_mode_info) Likewise.
43835 (grub_vbe_set_pixel_rgb) Likewise.
43836 (grub_vbe_set_pixel_index) Likewise.
43837 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43838 (pkgdata_MODULES): Added vesafb.mod.
43839 (pkgdata_MODULES): Added vbe_list_modes.mod.
43840 (pkgdata_MODULES): Added vbe_test.mod.
43841 (vbe_mod_SOURCES): Added.
43842 (vbe_mod_CFLAGS): Likewise.
43843 (vesafb_mod_SOURCES): Likewise.
43844 (vesafb_mod_CFLAGS): Likewise.
43845 (vbe_list_modes_mod_SOURCES): Likewise.
43846 (vbe_list_modes_mod_CFLAGS): Likewise.
43847 (vbe_test_mod_SOURCES): Likewise.
43848 (vbe_test_mod_CFLAGS): Likewise.
43849
0a74e62f 438502005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43851
0a74e62f 43852 * normal/command.c (grub_command_execute): If INTERACTIVE is
43853 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43854 CMDLINE. Disable the pager if INTERACTIVE is true.
43855 All callers are changed.
43856
43857 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43858 before reading a config file.
43859 * normal/main.c (read_config_file): Even if a command is not
43860 found, register it if it is within an entry.
43861
43862 * util/grub-emu.c: Include sys/types.h and unistd.h.
43863 (options): Added --hold.
43864 (struct arguments): Added a new member "hold".
43865 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43866 missing.
43867 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43868 cleared by a debugger, if it is not zero.
43869
43870 * include/grub/normal.h (grub_command_execute): Add an argument
43871 INTERACTIVE.
43872
e51f85ae 438732005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43874
43875 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43876
e9c6f39b 438772005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43878
43879 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43880 program with another one, because the old one didn't detect a bug
43881 in gcc-3.4. Always use regparm 2, because the new test is still
43882 not enough for gcc-4.0. Someone must investigate a simple test
43883 case which detects a bug in gcc-4.0.
43884
8de3495c 438852005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43886
43887 * DISTLIST: Added normal/completion.c.
43888
43889 * normal/completion.c: New file.
f19dbdb7 43890
8de3495c 43891 * term/i386/pc/console.c (grub_console_getwh): New function.
43892 (grub_console_term): Assign grub_console_getwh to getwh.
43893
43894 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43895 function is defined in normal/completion.c as
43896 grub_normal_do_completion.
43897 (grub_cmdline_get): Use grub_normal_do_completion instead of
43898 grub_tab_complete.
43899
43900 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43901 returns non-zero, otherwise return 0.
43902 (grub_partition_iterate): First, probe the partition map. Then,
43903 call ITERATE only for this partition map.
43904
43905 * kern/misc.c (grub_strncmp): Rewritten.
43906
43907 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43908 returns non-zero. Otherwise return 0.
43909
43910 * include/grub/partition.h (grub_partition_map_iterate): Return
43911 int instead of void.
43912
43913 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43914
43915 * include/grub/misc.h (grub_strncmp): Change the type of N to
43916 grub_size_t.
43917
43918 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43919 of void.
43920
43921 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43922 unsigned explicitly before comparing it with I.
8de3495c 43923
43924 * kern/main.c (grub_env_write_root): Add the attribute unused into
43925 VAR.
43926
43927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43928 normal/completion.c.
43929 (normal_mod_SOURCES): Likewise.
43930 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43931 (normal_mod_SOURCES): Likewise.
43932
43933 * normal/command.c (grub_iterate_commands): If ITERATE returns
43934 non-zero, return one immediately.
43935
e85e144b 439362005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43937
43938 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43939 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43940 descriptions.
43941 (grub_vbe_get_controller_info): New function.
43942 (grub_vbe_get_mode_info): Likewise.
43943 (grub_vbe_set_mode): Likewise.
43944 (grub_vbe_get_mode): Likewise.
43945 (grub_vbe_set_memory_window): Likewise.
43946 (grub_vbe_get_memory_window): Likewise.
43947 (grub_vbe_set_scanline_length): Likewise.
43948 (grub_vbe_get_scanline_length): Likewise.
43949 (grub_vbe_set_display_start): Likewise.
43950 (grub_vbe_get_display_start): Likewise.
43951 (grub_vbe_set_palette_data): Likewise.
43952 * include/grub/i386/pc/vbe.h: New file.
43953
c46153d2 439542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43955
43956 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43957 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43958 * DISTLIST: Likewise.
43959 * kern/ieee1275/of.c: Moved to ...
43960 * kern/ieee1275/ieee1275.c: ... here.
43961
0cb90c45 439622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43963
43964 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43965 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43966 Pass 0 as `end' parameter to grub_strtoul().
43967
a19fb360 439682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43969
43970 * include/grub/powerpc/ieee1275/console.h: Do not include
43971 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43972 ifdef.
43973 (grub_console_cur_color): Remove i386-specific prototype.
43974 (grub_console_real_putchar): Likewise.
43975 (grub_console_checkkey): Likewise.
43976 (grub_console_getkey): Likewise.
43977 (grub_console_getxy): Likewise.
43978 (grub_console_gotoxy): Likewise.
43979 (grub_console_cls): Likewise.
43980 (grub_console_setcursor): Likewise.
43981 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43982 Include <grub/machine/console.h>.
43983 * term/ieee1275/ofconsole.c: Likewise.
43984
4ac9bd04 439852005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43986
43987 * Makefile.in (LIBLZO): New variable.
43988
43989 * configure.ac: Check for LZO version 2.
43990
43991 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43992 lzo/lzo1x.h instead of lzo1x.h.
43993
43994 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43995 of -llzo.
43996
43997 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43998 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43999
44000 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44001 copying the data from PARTITION to P.
44002
f4917dfd 440032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44004
44005 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44006 negative, unload the module.
44007
44008 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44009 map is "pc_partition_map" but not "pc".
44010 (usage): Fix the description. The options are --boot-image and
44011 --core-image but not --boot-file or --core-file.
44012 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44013 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44014 DEFAULT_DIRECTORY.
44015
44016 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44017 --core-file. Specify INSTALL_DEVICE as an argument.
44018
44019 * util/console.c: Include config.h.
44020 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44021 [HAVE_NCURSES_H]: Include ncurses.h.
44022 [HAVE_CURSES_H]: Include curses.h.
44023 [!A_NORMAL] (A_NORMAL): Defined as zero.
44024 [!A_STANDOUT] (A_STANDOUT): Likewise.
44025
44026 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44027 -lncurses.
44028 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44029
44030 * configure.ac: Check for curses libraries and headers.
44031
44032 * Makefile.in (LIBCURSES): New variable.
44033
44034 * genmk.rb (Script::rule): Set the executable bits.
44035
44036 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44037 name of the PC partition map is "pc_partition_map" but not "pc".
44038
0e143073 440392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44040
44041 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44042 (modules): Likewise.
44043 (usage): Added descriptions for --modules and --grub-probefs.
44044 Handle --modules and --grub-probefs. Save the arguments in MODULES
44045 and GRUB_PROBEFS, respectively.
44046 Auto-detect a filesystem module against GRUBDIR. If the result is
44047 empty and modules are not specified explicitly, abort the
44048 installation. Add the result to MODULES.
44049
44050 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44051 disk/powerpc/ieee1275/ofdisk.c,
44052 include/grub/powerpc/ieee1275/init.h and
44053 term/powerpc/ieee1275/ofconsole.c.
44054 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44055 term/ieee1275/ofconsole.c.
44056
44057 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44058
44059 * COPYING: Upgraded to the latest version. Only the address of the
44060 FSF office has changed.
f19dbdb7 44061
efd6e6d5 440622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44063
44064 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44065 kern/ieee1275.c with kern/ieee1275/of.c.
44066
44067 * kern/ieee1275.c: Moved to ...
44068 * kern/ieee1275/of.c: ... here.
44069
8ceafda2 440702005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44071
44072 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44073 readability.
8ceafda2 44074
44075 * config.guess: Updated to the latest version from gnulib.
44076 * config.sub: Likewise.
44077 * install.sh: Likewise.
44078 * mkinstalldirs: Likewise.
44079
44080 * include/grub/console.h: Removed. This file is arch-specific. Do
44081 not put this in include/grub.
44082
44083 * include/grub/i386/pc/console.h: Resurrected.
44084
44085 * util/console.c: Include grub/machine/console.h instead of
44086 grub/console.h.
44087 * util/grub-emu.c: Likewise.
44088
267f6cd9 440892005-08-04 Marco Gerards <metgerards@student.han.nl>
44090
44091 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44092 hardcoded value.
f19dbdb7 44093
267f6cd9 44094 From Vincent Pelletier <subdino2004@yahoo.fr>
44095 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44096 Redefined to use grub_getwh.
44097 (grub_term): New member named getwh.
44098 (grub_getwh): New prototype.
44099 * kern/term.c (grub_getwh): New function.
44100 * term/i386/pc/console.c (grub_console_getwh): New function.
44101 (grub_console_term): New member `getwh'.
44102 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44103 (grub_vga_term): New member `getwh'.
0b5abe02 44104 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44105 grub_ssize_t.
44106 (grub_ofconsole_getw): New function.
44107 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44108 (grub_ofconsole_term): New field named getwh and new initial
44109 value.
44110
3be7266d 441112005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44112
44113 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44114 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44115 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44116 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44117 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44118 of <grub/machine/ieee1275.h>.
44119 * commands/ieee1275/reboot.c: Likewise.
44120 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44121 * kern/ieee1275.c: ... to here. All users updated. Change all
44122 parameter structs to use new type `grub_ieee1275_cell_t'.
44123 * term/powerpc/ieee1275/ofconsole.c: Move ...
44124 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44125 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44126 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44127 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44128 to return int.
44129 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44130 Remove unused prototypes. All users updated.
44131 * include/grub/powerpc/ieee1275/console.h: Removed.
44132 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44133 `grub_ieee1275_cell_t'.
44134 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44135 Cast comparisons with -1 to the correct type.
44136 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44137 type to match `grub_ieee1275_entry_fn'.
44138
8b5f3938 441392005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44140
44141 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44142
44143 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44144 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44145 partmap/sun.c.
44146 (grub_probefs_SOURCES): New variable.
44147
44148 * util/i386/pc/grub-probefs.c: New file.
44149
44150 * util/i386/pc/grub-setup.c (main): Call
44151 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44152 grub_hfs_init and grub_jfs_init to initialize the system. Call
44153 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44154 grub_pc_partition_map_fini to finish the system.
44155
ea409713 441562005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44157
44158 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44159 function.
44160 (grub_multiboot_load_elf32): Likewise.
44161 (grub_multiboot_is_elf64): Likewise.
44162 (grub_multiboot_load_elf64): Likewise.
44163 (grub_multiboot_load_elf): Likewise.
44164 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44165 an ELF32 or ELF64 file.
44166 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44167
44168 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44169 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44170 NULL before calling FS->LABEL.
44171 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44172 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44173 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44174 before calling FS->LABEL.
44175
141a288b 441762005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44177
44178 * util/i386/pc/grub-install.in (datadir): New variable.
44179 (libdir): Removed.
44180 (pkgdatadir): New variable.
44181 (pkglibdir): Removed.
44182
0d5f8a54 441832005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44184
44185 * DISTLIST: Added util/i386/pc/grub-install.in.
44186
44187 * util/i386/pc/grub-install.in: New file.
44188
44189 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44190 (grub_install_SOURCES): Likewise.
44191
44192 * genmk.rb: Added support for scripts.
44193 (Script): New class.
44194 (scripts): New variable.
44195
44196 * Makefile.in (install-local): Install sbin_SCRIPTS by
44197 INSTALL_SCRIPT.
44198 (uninstall): Remove sbin_SCRIPTS.
44199
44200 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44201 device, try to get a GRUB device by
44202 grub_util_biosdisk_get_grub_dev.
44203 Free DEST_DEV.
44204
44205 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44206 description for --device-map.
44207
5f968e1e 442082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44209
44210 Change the semantics of variable hooks. They now return strings
44211 instead of error values.
f19dbdb7 44212
5f968e1e 44213 * util/i386/pc/grub-setup.c: Include grub/env.h.
44214 (setup): Use grub_device_set_root instead of grub_env_set.
44215
44216 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44217 grub_env_get instead of grub_device_set_root and
44218 grub_device_get_root, respectively.
44219
44220 * kern/main.c (grub_env_write_root): New function.
44221 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44222 grub_env_set instead of grub_device_set_root.
44223
44224 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44225 many variables.
44226 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44227 rather than calling ENV->WRITE_HOOK afterwards.
44228 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44229 passing a pointer of a pointer.
44230 (grub_register_variable_hook): Change the types of "read_hook" and
44231 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44232 respectively.
44233 Allocate the default empty string on the heap, because this string
44234 may be freed later.
44235
44236 * kern/device.c: Include grub/env.h.
44237 (grub_device_set_root): Removed.
44238 (grub_device_get_root): Likewise.
44239 (grub_device_open): Use grub_env_get instead of
44240 grub_device_get_root.
44241
44242 * include/grub/env.h (grub_env_read_hook_t): New type.
44243 (grub_env_write_hook_t): Likewise.
44244 (grub_env_var): Change the types of "read_hook" and "write_hook"
44245 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44246 (grub_register_variable_hook): Likewise.
44247
44248 * include/grub/device.h (grub_device_set_root): Removed.
44249 (grub_device_set_root): Likewise.
44250
44251 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44252 make sure that DIRNAME terminates with '/', so that
44253 grub_fat_find_dir will fail if PATH is not a directory.
44254
44255 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44256 from DIRNAME.
44257 Use the qualifier auto for print_files and print_files_long.
44258 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44259 as a regular file.
44260 Put a newline only if there is no error.
44261 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44262 used.
44263
896f0afd 442642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44265
44266 * kern/partition.c (grub_partition_probe): Initialize PART to
44267 NULL. Otherwise, when no partition map is registered, this returns
44268 a garbage.
44269
b28b81b2 442702005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44271
44272 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44273 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44274 valid.
44275
5f3607e0 442762005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44277
44278 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44279 information on each device, if it does not have partitions. Print
44280 "Device" instead of "Disk", because this function is not specific
44281 to disk devices.
44282
44283 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44284 static to ensure that it is put on the memory rather than a
44285 register.
44286
502c87e8 442872005-07-17 Yoshinori Okuji <okuji@enbug.org>
44288
44289 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44290 (grub_cat_init): Likewise.
44291 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44292 (options): Likewise.
44293 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44294 (grub_configfile_init): Likewise.
44295 * font/manager.c (GRUB_MOD_INIT): Likewise.
44296 * commands/help.c (GRUB_MOD_INIT): Likewise.
44297 (grub_help_init): Likewise.
44298 * normal/command.c (grub_command_init): Likewise.
44299 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44300 * disk/loopback.c (grub_loop_init): Likewise.
44301 (GRUB_MOD_INIT): Likewise.
44302 * commands/ls.c (grub_ls_init): Likewise.
44303 (GRUB_MOD_INIT): Likewise.
44304 (options): Likewise.
44305 * commands/boot.c (grub_boot_init): Likewise.
44306 (GRUB_MOD_INIT): Likewise.
44307 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44308 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44309 (GRUB_MOD_INIT): Likewise.
44310 * commands/cmp.c (grub_cmp_init): Likewise.
44311 (GRUB_MOD_INIT): Likewise.
44312
44313 * normal/arg.c: Use <> instead of "" to include header files.
44314 (SHORT_ARG_HELP): New macro.
44315 (SHORT_ARG_USAGE): Likewise.
44316 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44317 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44318 descriptions.
44319 (find_short): Check if C is 'h' or 'u' explicitly.
44320 (grub_arg_show_help): Use space characters instead of tabs. Treat
44321 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44322 are shown with --help and --usage only if they are not used for
44323 the command itself.
44324 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44325 'h' and 'u'.
44326
44327 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44328 const into "longarg". Change the type of "shortarg" to int.
44329
f806d18e 443302005-07-17 Yoshinori Okuji <okuji@enbug.org>
44331
44332 * boot/i386/pc/boot.S (boot_drive_check): New label.
44333
44334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44335 macro.
44336
44337 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44338 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44339
e293232b 443402005-07-17 Yoshinori Okuji <okuji@enbug.org>
44341
44342 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44343 When turning off Gate A20, skip the check and return immediately,
44344 because this is not fatal usually.
44345
ebedfd00 443462005-07-17 Yoshinori Okuji <okuji@enbug.org>
44347
44348 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44349 be 0x7C00 instead of 0x8000.
44350
44351 * boot/i386/pc/pxeboot.S: Rewritten.
44352
44353 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44354 EXT_C.
44355 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44356 result.
44357
654fc59f 443582005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44359
44360 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44361 robustness. This routine now supports a BIOS call and System
44362 Control Port A to modify the gate A20.
44363
44364 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44365 Increased to 0x440.
44366
09f9923f 443672005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44368
44369 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44370 device path and resulting ihandle.
44371 (grub_ofdisk_close): dprintf the ihandle being closed.
44372 (grub_ofdisk_read): dprintf function parameters.
44373 * kern/mm.c (grub_mm_init_region): Likewise.
44374 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44375 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44376 size, and boot arguments.
44377 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44378 before loading into memory.
44379 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44380 before loading into memory.
44381
7ef504d8 443822005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44383
44384 * kern/mm.c: Added much documentation.
44385 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44386 8, set to 5 instead of 8.
44387
e0f050c2 443882005-07-10 Yoshinori Okuji <okuji@enbug.org>
44389
44390 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44391
44392 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44393 (grub_mkdevicemap_SOURCES): New variable.
44394
44395 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44396 lib/device.c of GRUB Legacy.
44397
7224189a 443982005-07-10 Yoshinori Okuji <okuji@enbug.org>
44399
44400 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44401 instead of PATH is NULL.
44402
68c864eb 444032005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44404
44405 * commands/cmp.c (BUFFER_SIZE): New macro.
44406 (grub_cmd_cmp): Close the right file at the right time. Compare
44407 only data just read. Don't report files of different size as
44408 identical. Dynamically allocate buffers. Move variable
44409 declarations at the beginning of function.
44410
e6f3e614 444112005-07-09 Yoshinori Okuji <okuji@enbug.org>
44412
44413 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44414 reverse.
44415
f8f1559a 444162004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44417
44418 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44419 when backspace is pressed at beginning of line.
44420
39c9d41d 444212005-07-03 Yoshinori Okuji <okuji@enbug.org>
44422
44423 * DISTLIST: Added genfslist.sh.
44424
44425 * normal/main.c (fs_module_list): New variable.
44426 (autoload_fs_module): New function.
44427 (read_fs_list): Likewise.
44428 (grub_normal_execute): Call read_fs_list.
44429
44430 * kern/fs.c (grub_fs_autoload_hook): New variable.
44431 (grub_fs_probe): Added support for auto-loading.
44432
44433 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44434 (grub_fs_module_list_t): New type.
44435
44436 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44437 (grub_fs_autoload_hook): New prototype.
44438
44439 * genfslist.sh: New file.
f19dbdb7 44440
39c9d41d 44441 * genmk.rb: Added a rule to generate a filesystem list.
44442
121c1d83 444432005-06-30 Marco Gerards <metgerards@student.han.nl>
44444
44445 * configure.ac: Fix the test for cross-compiling.
44446
44447 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44448 define GRUB_UTIL anymore.
44449
44450 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44451 so this function works on other systems than just big endian.
44452 (load_modules): Likewise.
44453 (add_segments): Likewise.
44454
e75d76e1 444552005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44456
44457 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44458 contains `l' modifier, get a long from va_arg().
44459
50b5a0a7 444602005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44461
44462 * kern/mm.c (grub_free): If the next free block which is being
44463 merged is the first free block, set the first block to the block
44464 being freed.
44465 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44466
89371b20 444672005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44468
44469 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44470 `grub_ieee1275_chosen'.
44471
168d6e58 444722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44473
44474 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44475 (grub_ieee1275_chosen): New variable.
44476 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44477 `chosen'.
44478 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44479 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44480 Rename first argument to `phandle' for consistency.
44481 (grub_ieee1275_get_property_length): Likewise.
44482 (grub_ieee1275_next_property): Likewise. Change type of first argument
44483 to grub_ieee1275_phandle_t.
44484 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44485 Move export next to declaration.
44486 (grub_ieee1275_chosen): New variable.
44487 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44488 Correct cosmetic typo.
44489 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44490 `grub_ieee1275_chosen'.
44491 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44492 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44493 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44494 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44495 `grub_ieee1275_chosen'.
44496
ca5baa3f 444972005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44498
44499 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44500 /chosen/bootargs.
44501 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44502 /chosen/bootargs as "variable=value" pairs.
44503
708b345f 445042005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44505
44506 * include/grub/misc.h (grub_dprintf): New macro.
44507 (grub_real_dprintf): New prototype.
44508 (grub_strword): Likewise.
44509 (grub_iswordseparator): Likewise.
44510 * kern/misc.c (grub_real_dprintf): New function.
44511 (grub_strword): Likewise.
44512 (grub_iswordseparator): Likewise.
44513
f4c5e67c 445142005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44515
44516 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44517 (roundup): Remove macro.
44518 (grub_ieee1275_flags): Make static.
44519 (grub_ieee1275_realmode): Remove.
44520 (grub_ieee1275_test_flag): New function.
44521 (grub_ieee1275_set_flag): Likewise.
44522 (find_options): Rename to `grub_ieee1275_find_options'; update
44523 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44524 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44525 (cmain): New prototype.
44526 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44527 `grub_ieee1275_flags' directly.
44528 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44529 machine/biosdisk.h.
44530 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44531 Don't include grub/machine/init.h.
44532 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44533 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44534 Remove prototype.
44535 (grub_ieee1275_realmode): Likewise.
44536 (grub_ieee1275_flag): New enum.
44537 (grub_ieee1275_test_flag): New prototype.
44538 (grub_ieee1275_set_flag): New prototype.
44539 * include/grub/powerpc/ieee1275/init.h: Remove file.
44540 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44541 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44542 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44543 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44544 comment.
44545 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44546 `grub_ieee1275_test_flag'.
44547 (grub_ieee1275_encode_devname): Likewise.
44548
ed16607e 445492005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44550
44551 * include/grub/powerpc/ieee1275/ieee1275.h
44552 (grub_ieee1275_encode_devname): New prototype.
44553 (grub_ieee1275_get_filename): Likewise.
44554 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44555 function.
44556 (grub_set_prefix): Likewise.
44557 (grub_machine_init): Call grub_set_prefix.
44558 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44559 (grub_parse_type): New enum.
44560 (grub_ieee1275_get_devargs): New function.
44561 (grub_ieee1275_get_devname): Likewise.
44562 (grub_ieee1275_parse_args): Likewise.
44563 (grub_ieee1275_get_filename): Likewise.
44564 (grub_ieee1275_encode_devname): Likewise.
44565
be369920 445662005-03-30 Marco Gerards <metgerards@student.han.nl>
44567
44568 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44569 `grub_loader_unset'.
44570
a5ce3a4a 445712005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44572
44573 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44574 instead of grub_ieee1275_interpret.
44575 (grub_halt_init): New function.
44576 (grub_halt_fini): Likewise.
44577 (GRUB_MOD_INIT): Correct message grammar.
44578 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44579 instead of grub_ieee1275_interpret.
44580 (grub_reboot_init): New function.
44581 (grub_reboot_fini): Likewise.
44582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44583 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44584 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44585 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44586 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44587 function.
44588 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44589 Add prototype.
44590 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44591 prototype.
44592 (grub_halt): Likewise.
44593 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44594 (cmain): Remove __attribute__((unused)).
44595 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44596 (grub_heap_len): Likewise.
44597 (grub_machine_fini): New function.
44598 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44599 (grub_halt): Likewise.
44600 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44601 function.
44602 * util/powerpc/ieee1275/misc.c: New file.
44603
0058f771 446042005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44605
44606 * DISTLIST: New file.
44607 * gendistlist.sh: Likewise.
f19dbdb7 44608
0058f771 44609 * Makefile.in (COMMON_DISTFILES): Removed.
44610 (BOOT_DISTFILES): Likewise.
44611 (CONF_DISTFILES): Likewise.
44612 (DISK_DISTFILES): Likewise.
44613 (FS_DISTFILES): Likewise.
44614 (INCLUDE_DISTFILES): Likewise.
44615 (KERN_DISTFILES): Likewise.
44616 (LOADER_DISTFILES): Likewise.
44617 (TERM_DISTFILES): Likewise.
44618 (UTIL_DISTFILES): Likewise.
44619 (DISTFILES): Likewise.
44620 (uninstall): Uninstall files in $(pkgdata_DATA).
44621 (DISTLIST): New target.
44622 (distdir): Use the contents of the file DISTLIST to get a list of
44623 distributed files.
44624
46b3b8a5 446252005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44626
44627 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44628 descriptor. This is ported from GRUB Legacy.
44629
44630 * gencmdlist.sh: Added an extra semicolon to make it work with
44631 old sed versions. Reported by Robert Bihlmeyer
44632 <robbe@orcus.priv.at>.
44633
5822ff87 446342005-03-08 Yoshinori Okuji <okuji@enbug.org>
44635
44636 Automatic loading of commands is supported.
f19dbdb7 44637
5822ff87 44638 * normal/main.c (read_command_list): New function.
44639 (grub_normal_execute): Call read_command_list.
44640
44641 * normal/command.c (grub_register_command): Return zero or CMD.
44642 Allocate CMD->NAME from the heap.
44643 Initialize CMD->MODULE_NAME to zero.
44644 Find the same name as well. If the same command is found and it is
44645 a dummy command, overwrite members. If it is not a dummy command,
44646 return zero.
44647 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44648 (grub_command_find): If a dummy command is found, load a module
44649 and retry to find a command only once.
44650
44651 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44652 make sure that each command is loaded.
44653
44654 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44655 macro.
44656 (struct grub_command): Remove const from the member `name'.
44657 Add a new member `module_name'.
44658 (grub_register_command): Return grub_command_t.
44659
44660 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44661 sure that each command is loaded.
44662
44663 * genmk.rb (PModule::rule): Specify a module name without the
44664 suffix ".mod" to gencmdlist.sh.
44665
7b1f4b57 446662005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44667
44668 * gencmdlist.sh: New file.
f19dbdb7 44669
7b1f4b57 44670 * genmk.rb (PModule::rule): Generate a rule for a command list.
44671 Clean command.lst.
44672 Generate command.lst from $(COMMANDFILES).
44673
44674 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44675 (DATA): Added $(pkgdata_DATA).
44676 (install-local): Install files in $(pkgdata_DATA).
44677
062aaf39 446782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44679
44680 * term/i386/pc/vga.c (debug_command): Removed.
44681 (GRUB_MOD_INIT): Do not register the command "debug".
44682
44683 From Hollis Blanchard:
44684 * commands/configfile.c: New file.
44685 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44686 commands/configfile.c.
44687 (pkgdata_MODULES): Added configfile.mod.
44688 (configfile_mod_SOURCES): New variable.
44689 (configfile_mod_CFLAGS): Likewise.
44690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44691 commands/configfile.c.
44692 (pkgdata_MODULES): Added configfile.mod.
44693 (configfile_mod_SOURCES): New variable.
44694 (configfile_mod_CFLAGS): Likewise.
44695 * util/grub-emu.c (main): Call grub_configfile_init and
44696 grub_configfile_fini.
44697 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44698 prototype.
44699 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44700
cee01aa6 447012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44702
44703 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44704 address.
44705
44706 * commands/help.c (grub_cmd_help): Do not print newlines after
44707 the last command in print_command_help.
44708
93f3a1d8 447092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44710
44711 * commands/default.h: New file.
44712 * commands/timeout.h: Likewise.
44713 * normal/context.c: Likewise.
f19dbdb7 44714
93f3a1d8 44715 * util/misc.c: Do not include sys/times.h.
44716 Include sys/time.h and grub/machine/time.h.
44717 (grub_get_rtc): Rewritten with gettimeofday.
44718
44719 * util/grub-emu.c (main): Call grub_default_init and
44720 grub_timeout_init before grub_normal_init, and call
44721 grub_timeout_fini and grub_default_fini after grub_main.
44722
44723 * util/console.c (grub_ncurses_checkkey): Return the read
44724 character or -1.
44725
44726 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44727 timeouts.
44728
44729 * normal/main.c (read_config_file): Push MENU. If this fails,
44730 print an error and wait for a user input.
44731 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44732 If a menu is empty or an error occurs, pop MENU.
44733 (grub_normal_execute): Pop and free MENU after grub_menu_run
44734 returns.
44735
44736 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44737
44738 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44739 include time.h.
44740 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44741 without GRUB_UTIL.
44742 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44743 time.h.
44744 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44745 without GRUB_UTIL.
44746
44747 * include/grub/normal.h (struct grub_menu_list): New struct.
44748 (grub_menu_list_t): New type.
44749 (struct grub_context): New struct.
44750 (grub_context_t): New type.
44751 (grub_register_command): Got rid of EXPORT_FUNC.
44752 (grub_unregister_command): Likewise.
44753 (grub_context_get): New prototype.
44754 (grub_context_get_current_menu): Likewise.
44755 (grub_context_push_menu): Likewise.
44756 (grub_context_pop_menu): Likewise.
44757 [GRUB_UTIL] (grub_default_init): Likewise.
44758 [GRUB_UTIL] (grub_default_fini): Likewise.
44759 [GRUB_UTIL] (grub_timeout_init): Likewise.
44760 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44761
44762 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44763 commands/timeout.c and normal/context.c.
44764 (pkgdata_MODULES): Added default.mod and timeout.mod.
44765 (normal_mod_SOURCES): Added normal/context.c.
44766 (default_mod_SOURCES): New variable.
44767 (default_mod_CFLAGS): Likewise.
44768 (timeout_mod_SOURCES): Likewise.
44769 (timeout_mod_CFLAGS): Likewise.
44770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44771 conf/i386-pc.rmk.
44772 (pkgdata_MODULES): Added default.mod and timeout.mod.
44773 (normal_mod_SOURCES): Added normal/context.c.
44774 (default_mod_SOURCES): New variable.
44775 (default_mod_CFLAGS): Likewise.
44776 (timeout_mod_SOURCES): Likewise.
44777 (timeout_mod_CFLAGS): Likewise.
44778
44779 * Makefile.in (all-local): Added $(MKFILES).
44780
4ed2e1dd 447812005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44782
44783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44784 (grub_emu_SOURCES): Likewise.
44785 (pkgdata_MODULES): Add `sun.mod'.
44786 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44788 `partmap/sun.c'.
44789 (pkgdata_MODULES): Add `sun.mod'.
44790 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44791 * include/grub/partition.h (grub_sun_partition_map_init): New
44792 prototype.
44793 (grub_sun_partition_map_fini): Likewise.
44794 * partmap/sun.c: New file.
44795 * util/grub-emu.c (main): Initialize and de-initialize the sun
44796 partitionmap support.
44797
4d4e372e 447982005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44799
44800 This implements an Emacs-like menu entry editor.
f19dbdb7 44801
4d4e372e 44802 * normal/menu_entry.c: New file.
f19dbdb7 44803
4d4e372e 44804 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44805 characters to ASCII.
44806 (saved_char): New variable.
44807 (grub_ncurses_checkkey): Rewritten completely.
44808 (grub_ncurses_getkey): Likewise.
44809 (grub_ncurses_init): Call raw instead of cbreak.
44810
44811 * normal/menu.c (print_entry): Do not put a space.
44812 (init_page): Renamed to ...
44813 (grub_menu_init_page): ... this. All callers changed.
44814 (edit_menu_entry): Removed.
44815 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44816
44817 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44818
44819 * kern/misc.c (grub_vprintf): Call grub_refresh.
44820
44821 * normal/menu.c (DISP_LEFT): Renamed to ...
44822 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44823 * normal/menu.c (DISP_UP): Renamed to ...
44824 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44825 * normal/menu.c (DISP_RIGHT): Renamed to ...
44826 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44827 * normal/menu.c (DISP_DOWN): Renamed to ...
44828 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44829 * normal/menu.c (DISP_HLINE): Renamed to ...
44830 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44831 * normal/menu.c (DISP_VLINE): Renamed to ...
44832 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44833 * normal/menu.c (DISP_UL): Renamed to ...
44834 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44835 * normal/menu.c (DISP_UR): Renamed to ...
44836 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44837 * normal/menu.c (DISP_LL): Renamed to ...
44838 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44839 * normal/menu.c (DISP_LR): Renamed to ...
44840 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44841 * normal/menu.c (TERM_WIDTH): Renamed to ...
44842 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44843 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44844 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44845 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44846 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44847 * normal/menu.c (TERM_MARGIN): Renamed to ...
44848 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44849 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44850 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44851 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44852 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44853 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44854 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44855 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44856 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44857 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44858 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44859 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44860 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44861 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44862 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44863 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44864 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44865 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44866 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44867 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44868 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44869 All callers changed.
44870
44871 * include/grub/normal.h: New prototype.
44872
44873 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44874 normal/menu_entry.c.
44875 (normal_mod_SOURCES): Likewise.
44876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44877 (normal_mod_SOURCES): Likewise.
44878
e6b92c8a 448792005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44880
44881 * include/grub/normal.h (grub_halt_init): New prototype.
44882 (grub_halt_fini): Likewise.
44883 (grub_reboot_init): Likewise.
44884 (grub_reboot_fini): Likewise.
44885
44886 * util/grub-emu.c: Include signal.h.
44887 (main_env): New global variable.
44888 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44889 catch C-c.
44890 (grub_machine_fini): New function.
44891 (main): Call grub_halt_init and grub_reboot_init before
44892 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44893 Call setjmp with MAIN_ENV to go back afterwards.
44894 Call grub_machine_fini right before return.
44895
44896 * include/grub/util/misc.h: Include setjmp.h.
44897 (main_env): New prototype.
44898
44899 * include/grub/kernel.h (grub_machine_fini): New prototype.
44900 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44901 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44902
44903 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44904 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44905 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44906
e6b92c8a 44907 * util/i386/pc/misc.c: New file.
f19dbdb7 44908
e6b92c8a 44909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44910 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44911 commands/i386/pc/reboot.c.
44912
c642636f 449132005-02-14 Guillem Jover <guillem@hadrons.org>
44914
44915 * include/grub/dl.h (grub_dl_check_header): New prototype.
44916 (grub_arch_dl_check_header): Change return type to grub_err_t,
44917 remove size parameter and export function. Update all callers.
44918 * kern/dl.c (grub_dl_check_header): New function.
44919 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44920 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44921 are inside the core.
44922 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44923 independent ELF header checks.
44924 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44925 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44926 `grub_dl_check_header' instead of explicit checks. Check for the
44927 ELF type.
44928 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44929 `grub_dl_check_header' instead of explicit checks. Remove arch
44930 specific ELF header checks.
44931
e6b92c8a 44932 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44933 argument SIZE.
44934
5eabe94b 449352005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44936
44937 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44938 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44939
1b14a681 449402005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44941
44942 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44943 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44944 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44945 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44946 * partmap/amiga.c (amiga_partition_map_iterate): Return
44947 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44948 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44949
aca108aa 449502005-02-01 Guillem Jover <guillem@hadrons.org>
44951
44952 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44953 help info.
44954
c9f9c556 449552005-01-31 Marco Gerards <metgerards@student.han.nl>
44956
44957 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44958 Removed prototype.
44959 (grub_rescue_cmd_linux): New prototype.
44960 (grub_rescue_cmd_initrd): Likewise.
44961 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44962 `bi_rec'.
44963 (grub_linux_release_mem): Release the memory for the initrd.
44964 (grub_load_linux): Renamed from this...
44965 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44966 Changed `entry' not to be static. Loop over memory regions to
44967 find another one when the default fails.
44968 (grub_rescue_cmd_initrd): New function.
44969 (grub_linux_init): Remove function.
44970 (grub_linux_fini): Likewise.
44971 (GRUB_MOD_INIT): Register `initrd'.
44972 (GRUB_MOD_FINI): Unregister `initrd'.
44973 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44974 Function removed.
44975 (grub_linux_normal_fini): Likewise.
44976 (GRUB_MOD_INIT): Register `initrd'.
44977 (GRUB_MOD_FINI): Unregister `initrd'.
44978
990cf3aa 449792005-01-31 Marco Gerards <metgerards@student.han.nl>
44980
44981 * commands/help.c: New file.
44982 * normal/arg.c (show_help): Renamed to...
44983 (grub_arg_show_help): ... this.
44984 * commands/i386/pc/halt.c: New file.
44985 * commands/i386/pc/reboot.c: Likewise.
44986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44987 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44988 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44989 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44990 variables.
44991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44992 `commands/help.c'.
44993 (pkgdata_MODULES): Add `help.mod'.
44994 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44995 * grub/i386/pc/init.h (grub_reboot): New prototype.
44996 (grub_halt): Likewise.
44997 * include/grub/normal.h (grub_arg_show_help): New prototype.
44998 (grub_help_init): Likewise.
44999 (grub_help_fini): Likewise.
45000 * util/grub-emu.c (main): Initialize and deinitialize the help
45001 command.
45002
45003 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45004
45005 * normal/command.c (grub_command_init): Fixed the description of
45006 the `set' and `unset' commands.
45007
450082005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45009
45010 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45011 function.
45012 * commands/ieee1275/halt.c: New file.
45013 * commands/ieee1275/reboot.c: Likewise.
45014 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45015 `__attribute__ ((unused))'. Some GCS related fixed.
45016 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45017 (grub_suspend_fini): Likewise.
45018 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45019 and `halt.mod'.
45020 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45021 (halt_mod_CFLAGS): New variables.
45022 * include/grub/powerpc/ieee1275/ieee1275.h
45023 (grub_ieee1275_interpret): New prototype.
45024
1ab09cc7 450252005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45026
45027 * include/grub/misc.h (memmove): New prototype.
45028 (memcpy): Likewise.
45029
8b8cbdb2 450302005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45031
45032 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45033 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45034
e3741a27 450352005-01-22 Marco Gerards <metgerards@student.han.nl>
45036
45037 * kern/misc.c (grub_strndup): Function rewritten.
45038
776bd780 450392005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45040
45041 * normal/menu.c (TERM_WIDTH): Macro redefined.
45042 (TERM_TOP_BORDER_Y): Likewise.
45043 (draw_border): Replaced while-loop by a for-loop. Make the number
45044 of lines consistent with the number of lines displayed in
45045 print_entries. Added a margin below the rectangle.
45046 (print_entry): Make the entry fit in the rectangle.
45047 (print_entries): Display the scroll arrows next to the right
45048 border.
45049
78026bce 450502005-01-21 Marco Gerards <metgerards@student.han.nl>
45051
45052 * fs/minix.c (grub_minix_find_file): Reserve more space for
45053 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45054 `grub_strncpy' to copy `path' into it.
45055
67bbaf0f 450562005-01-21 Marco Gerards <metgerards@student.han.nl>
45057
45058 Add the loopback device, a device via which files can be accessed
45059 as devices.
f19dbdb7 45060
67bbaf0f 45061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45062 (pkgdata_MODULES): Add loopback.mod.
45063 (loopback_mod_SOURCES): New variable.
45064 (loopback_mod_CFLAGS): Likewise.
45065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45066 `disk/loopback.c'.
45067 (pkgdata_MODULES): Add loopback.mod.
45068 (loopback_mod_SOURCES): New variable.
45069 (loopback_mod_CFLAGS): Likewise.
45070 * disk/loopback.c: new file.
45071 * include/grub/normal.h (grub_loop_init): New prototype.
45072 (grub_loop_fini): New prototype.
45073 * util/grub-emu.c (main): Initialize and de-initialize loopback
45074 support.
45075 * include/grub/disk.h (grub_disk_dev_id): Add
45076 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45077
6f1c18bd 450782005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45079
45080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45081 function.
45082 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45083 (suspend_mod_SOURCES): New variable.
45084 (suspend_mod_CFLAGS): Likewise.
45085 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45086 New prototype.
45087 * commands/ieee1275/suspend.c: New file.
45088
b38551da 450892005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45090
45091 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45092 ((unused))' to `__attribute__ ((used))'.
b38551da 45093 (GRUB_MOD_FINI): Likewise.
45094 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45095 * genmk.rb (PModule): Assign space to common symbols when linking
45096 modules.
45097
777aff39 450982005-01-20 Marco Gerards <metgerards@student.han.nl>
45099
45100 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45101 `unsigned' arguments to `grub_size_t'.
45102 (grub_malloc): Likewise.
45103 (grub_realloc): Likewise.
45104 (grub_memalign): Likewise.
45105 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45106 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45107 * util/misc.c (grub_malloc): Likewise.
45108 (grub_realloc): Likewise.
45109 * kern/mm.c (get_header_from_pointer): Change the casts to
45110 `unsigned' into a cast to `grub_size_t'.
45111
45112 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45113 point to `currnode' when `currnode' is changed.
45114
45115 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45116 Schottelius <nico-linux@schottelius.org>.
45117
d0ff18e1 451182005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45119
45120 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45121 (note_path): Remove variable.
45122 (GRUB_IEEE1275_NOTE_NAME): New macro.
45123 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45124 (grub_ieee1275_note_hdr): New structure.
45125 (grub_ieee1275_note_desc): Likewise.
45126 (grub_ieee1275_note): Likewise.
45127 (load_note): Remove `dir' argument. All callers updated. Remove
45128 `note_img' and `path'. Do not load a file from `note_path'.
45129 Initialize a struct grub_ieee1275_note and write that to `out'.
45130 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45131
4ca7004c 451322005-01-05 Marco Gerards <metgerards@student.han.nl>
45133
45134 * util/misc.c (grub_util_read_image): Revert last change. It
45135 called `grub_util_read_at', which seeks from the beginning of the
45136 file.
45137
0b412211 451382005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45139
45140 * TODO: Add note about endianness in grub-mkimage.
45141 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45142 section.
45143 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45144 (grub_mkimage_SOURCES): New target.
45145 * include/grub/kernel.h (grub_start_addr): Remove variable.
45146 (grub_end_addr): Likewise.
45147 (grub_total_module_size): Likewise.
45148 (grub_kernel_image_size): Likewise.
45149 (GRUB_MODULE_MAGIC): New constant.
45150 (grub_module_info): New structure.
45151 (grub_arch_modules_addr): New prototype.
45152 (grub_get_end_addr): Remove prototype.
45153 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45154 * include/grub/powerpc/ieee1275/kernel.h: New file.
45155 * include/grub/util/misc.h (grub_util_get_fp_size): New
45156 prototype.
45157 (grub_util_read_at): Likewise.
45158 (grub_util_write_image_at): Likewise.
45159 * kern/main.c (grub_get_end_addr): Remove function.
45160 (grub_load_modules): Call grub_arch_modules_addr instead of using
45161 grub_end_addr. Look for a grub_module_info struct in memory. Use
45162 the grub_module_info fields instead of calling grub_get_end_addr
45163 as loop conditions. Move grub_add_unused_region code here.
45164 (grub_add_unused_region): Remove function.
45165 * kern/i386/pc/init.c: Include grub/cache.h.
45166 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45167 one call to add_mem_region.
45168 (grub_arch_modules_addr): New function.
45169 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45170 (grub_total_module_size): Likewise.
45171 Include grub/machine/kernel.h.
45172 (grub_arch_modules_addr): New function.
45173 * util/grub-emu.c (grub_end_addr): Remove variable.
45174 (grub_total_module_size): Likewise.
45175 (grub_arch_modules_addr): New function.
45176 * util/misc.c: Include unistd.h.
45177 (grub_util_get_fp_size): New function.
45178 (grub_util_read_at): Likewise.
45179 (grub_util_write_image_at): Likewise.
45180 (grub_util_read_image): Call grub_util_read_at.
45181 (grub_util_write_image): Call grub_util_write_image_at.
45182 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45183 additional memory in kernel_img for a struct grub_module_info.
45184 Fill in that grub_module_info.
45185 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45186
458786f8 451872005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45188
45189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45190 New function.
45191 * include/grub/powerpc/ieee1275/ieee1275.h
45192 (grub_ieee1275_milliseconds): New prototype.
45193 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45194 Change to 1000.
45195 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45196 grub_ieee1275_milliseconds.
45197
ac507d1b 451982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45199
45200 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45201 variable.
45202 (find_options): New function.
45203 (cmain): Call find_options.
45204 * include/grub/powerpc/ieee1275/ieee1275.h
45205 (grub_ieee1275_realmode): New extern variable.
45206 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45207 grub_map if grub_ieee1275_realmode is false.
45208
6b8fd1c4 452092004-12-29 Marco Gerards <metgerards@student.han.nl>
45210
45211 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45212 lines are inserted and make it work like readline. Reported by
45213 Vincent Pelletier <subdino2004@yahoo.fr>.
45214
8514a1e0 452152004-12-28 Marco Gerards <metgerards@student.han.nl>
45216
45217 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45218
45219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45220 `kern/powerpc/cache.S'.
45221
924b6140 452222004-12-27 Marco Gerards <metgerards@student.han.nl>
45223
45224 * genmk.rb: Handle the `Program' class in the main loop. Written
45225 by Johan Rydberg <jrydberg@gnu.org>.
45226 (Program): New class.
45227 (programs): New variable.
45228 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45229 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45230 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45231 (help_arch): Function removed.
45232 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45233 `powerpc/libgcc.h' and `loader.h'.
45234 (pkgdata_PROGRAMS): New variable.
45235 (sbin_UTILITIES): Variable removed.
45236 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45237 (grubof_SOURCES): Variable re-defined so it only includes the
45238 core functionality.
45239 (grubof_CFLAGS): Remove `-DGRUBOF'.
45240 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45241 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45242 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45243 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45244 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45245 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45246 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45247 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45248 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45249 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45250 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45251 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45252 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45253 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45254 (pc_mod_CFLAGS): New variables.
45255 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45256 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45257 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45258 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45259 Moved from here...
45260 * include/grub/i386/pc/init.h (grub_os_area_addr)
45261 (rub_os_area_size): ... to here.
45262 * include/grub/powerpc/ieee1275/ieee1275.h
45263 (grub_ieee1275_entry_fn): Export symbol.
45264 * include/grub/powerpc/ieee1275/init.h: New file.
45265 * include/grub/powerpc/libgcc.h: Likewise.
45266 * include/grub/cache.h: Likewise.
45267 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45268 <hollis@penguinppc.org>.
45269 * kern/dl.c: Include <grub/cache.h>.
45270 (grub_dl_flush_cache): New function.
45271 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45272 for this module.
45273 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45274 (grub_console_init): Removed prototypes.
45275 (grub_machine_init): Don't initialize the modules anymore.
45276 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45277 static.
45278 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45279 Macro undef removed.
45280 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45281 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45282 relocation `R_PPC_REL32'. Return an error when the relocation is
45283 unknown.
45284 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45285 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45286 * util/misc.c (grub_arch_sync_caches): Likewise.
45287
e4b47e0c 452882004-12-19 Marco Gerards <metgerards@student.han.nl>
45289
45290 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45291 `symlist.c', add `grubof_symlist.c'.
45292 (symlist.c): Variable removed.
45293 (grubof_HEADERS): Variable added.
45294 (grubof_symlist.c): New target.
45295 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45296 `kernel_img_HEADERS'.
45297 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45298 * kern/powerpc/dl.c: New file.
45299 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45300 Function removed.
45301 (grub_arch_dl_relocate_symbols): Likewise.
45302 (grub_register_exported_symbols): Likewise.
45303
4ceb3636 453042004-12-13 Marco Gerards <metgerards@student.han.nl>
45305
45306 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45307 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45308 to fail instead. Reported by Vincent Pelletier
45309 <subdino2004@yahoo.fr>.
45310
45311 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45312 it is not allocated. Reported by Vincent Pelletier
45313 <subdino2004@yahoo.fr>.
45314
45315 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45316 output so the output looks better.
f19dbdb7 45317
3f1578fe 453182004-12-04 Marco Gerards <metgerards@student.han.nl>
45319
45320 Modulize the partition map support and add support for the amiga
45321 partition map.
f19dbdb7 45322
3f1578fe 45323 * commands/ls.c: Include <grub/partition.h> instead of
45324 <grub/machine/partition.h>.
45325 * kern/disk.c: Likewise.
45326 * kern/rescue.c: Likewise.
45327 * loader/i386/pc/chainloader.c: Likewise.
45328 * normal/cmdline.c: Likewise.
45329 * kern/powerpc/ieee1275/init.c: Likewise.
45330 (grub_machine_init): Call `grub_pc_partition_map_init',
45331 `grub_amiga_partition_map_init' and
45332 `grub_apple_partition_map_init'.
45333 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45334 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45335 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45336 `partition.h' and `pc_partition.h'.
45337 (grub_setup_SOURCES): Remove
45338 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45339 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45340 (grub_emu_SOURCES): Likewise.
45341 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45342 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45343 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45345 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45346 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45347 (grubof_SOURCES): Likewise.
45348 * disk/i386/pc/partition.c: File removed.
45349 * disk/powerpc/ieee1275/partition.c: Likewise.
45350 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45351 * include/grub/i386/pc/partition.h: Likewise.
45352 * kern/partition.c: New file.
45353 * partmap/amiga.c: Likewise.
45354 * partmap/apple.c: Likewise.
45355 * partmap/pc.c: Likewise.
45356 * include/grub/partition.h: Likewise..
45357 * include/grub/pc_partition.h: Likewise.
45358 * util/grub-emu.c: Include <grub/partition.h> instead of
45359 <grub/machine/partition.h>.
45360 (main): Call `grub_pc_partition_map_init',
45361 `grub_amiga_partition_map_init' and
45362 `grub_apple_partition_map_init' and deinitialize afterwards.
45363 * util/i386/pc/biosdisk.c: Include `#include
45364 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45365 `<grub/machine/partition.h>'.
45366 * util/i386/pc/grub-setup.c: Likewise.
45367 * util/i386/pc/biosdisk.c: Likewise.
45368 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45369 partition information in case of a PC partition.
45370 * util/i386/pc/grub-setup.c: Include `#include
45371 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45372 `<grub/machine/partition.h>'.
45373 (setup): Only access the PC specific partition information in case
45374 of a PC partition.
45375
0ef4ced9 453762004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45377
0ef4ced9 45378 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45379 (grub_longjmp): Likewise.
45380 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45381 20.
45382 * normal/powerpc/setjmp.S: New file.
45383 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45384 `normal/powerpc/setjmp.S'.
45385 (grubof_CFLAGS): Add `-DGRUBOF'.
45386 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45387 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45388
19950e29 453892004-11-16 Marco Gerards <metgerards@student.han.nl>
45390
45391 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45392 property named `name'. Correctly handle the error returned by
45393 `grub_ieee1275_finddevice' if a device can not be opened.
45394
a2fea427 453952004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45396
45397 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45398 `actual' for negativity.
45399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45400 kern/fshelp.c.
45401
41ea0ea3 454022004-11-01 Marco Gerards <metgerards@student.han.nl>
45403
45404 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45405 (PAGE_OFFSET): New macro.
45406 (CRTC_ADDR_PORT): Likewise.
45407 (CRTC_DATA_PORT): Likewise.
45408 (START_ADDR_HIGH_REGISTER): Likewise.
45409 (START_ADDR_LOW_REGISTER): Likewise.
45410 (GRAPHICS_ADDR_PORT): Likewise.
45411 (GRAPHICS_DATA_PORT): Likewise.
45412 (READ_MAP_REGISTER): Likewise.
45413 (INPUT_STATUS1_REGISTER): Likewise.
45414 (INPUT_STATUS1_VERTR_BIT): Likewise.
45415 (page): New variable.
45416 (wait_vretrace): New function.
45417 (set_read_map): Likewise.
45418 (set_start_address): Likewise.
45419 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45420 the right page.
45421 (check_vga_mem): Take the page into account.
45422 (write_char): Likewise.
45423 (write_cursor): Likewise.
45424 (scroll_up): Likewise. Copy the page to the page that is not
45425 shown and switch between both pages.
45426 (grub_vga_putchar): Fix off by one error.
45427 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45428 account.
45429
ad0bd20b 454302004-11-01 Marco Gerards <metgerards@student.han.nl>
45431
45432 Add support for iso9660 (including rockridge).
f19dbdb7 45433
ad0bd20b 45434 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45435 (iso9660_mod_SOURCES): New variable.
45436 (iso9660_mod_CFLAGS): Likewise.
45437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45438 * include/grub/fs.h (grub_iso9660_init): New prototype.
45439 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45440 * fs/iso9660.c: New file.
45441
45442 * include/grub/misc.h (grub_strncat): New prototype.
45443 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45444
ad0bd20b 45445 * fs/hfs.c (grub_hfs_mount): Translate the error
45446 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45447 * fs/jfs.c (grub_jfs_mount): Likewise.
45448 * fs/ufs.c (grub_ufs_mount): Likewise.
45449
a5477a59 454502004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45451
45452 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45453 which initialized BAT registers.
45454 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45455 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45456 Move from here...
45457 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45458 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45459 ... to here.
45460 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45461 (grub_mapclaim): Likewise.
45462 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45463 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45464 hand.
45465
9304c1f8 454662004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45467
45468 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45469 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45470 -ffreestanding and -msoft-float.
45471
86f4ae25 454722004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45473
45474 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45475 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45476 set in grub_ieee1275_flags.
45477
38912228 454782004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45479
45480 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45481 prototype.
45482 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45483 grub_console_init first.
45484 Change the memory range used for grub_ieee1275_claim and
45485 grub_mm_init_region.
45486 Print an error message if the claim fails.
45487 Include <grub/misc.h>.
45488
d1923dc8 454892004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45490
45491 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45492 Call grub_children_iterate for device nodes of type `scsi',
45493 `ide', or `ata'.
45494 (grub_ofdisk_open): Remove manual device alias resolution.
45495 Fix memory leak when device cannot be opened.
f19dbdb7 45496 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45497 (grub_children_iterate): New prototype.
45498 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45499 New function.
45500 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45501 Return -1 if args.size was -1.
45502
4512e4f3 455032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45504
45505 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45506 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45507 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45508 Open Firmware's memory for it; claim memory from _start to _end.
45509 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45510 (_end): New extern.
45511 (_start): Zero BSS from __bss_start to _end.
45512 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45513 New extern.
45514 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45515
4d61feb0 455162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45517
ad0bd20b 45518 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45519 -1 if args.base was -1.
4d61feb0 45520
026fa2f9 455212004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45522
45523 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45524 escape sequence instead of a literal ^L. Also call
45525 grub_ofconsole_gotoxy.
45526
9f2220ef 455272004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45528
45529 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45530 void * arguments to grub_addr_t. All callers updated. Also make
45531 the `result' argument optional.
45532 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45533 All callers updated.
45534
8a572cd7 455352004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45536
45537 * commands/ls.c (grub_ls_list_files): Use the string following the
45538 initial ')', if present, as the filesystem path.
45539 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45540
45541 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45542
18aa81f2 455432004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45544
45545 Make the source code of the menu interface more readable.
f19dbdb7 45546
18aa81f2 45547 * normal/menu.c: Include grub/mm.h.
45548 (TERM_WIDTH): New macro.
45549 (TERM_HEIGHT): Likewise.
45550 (TERM_INFO_HEIGHT): Likewise.
45551 (TERM_MARGIN): Likewise.
45552 (TERM_SCROLL_WIDTH): Likewise.
45553 (TERM_TOP_BORDER_Y): Likewise.
45554 (TERM_LEFT_BORDER_X): Likewise.
45555 (TERM_BORDER_WIDTH): Likewise.
45556 (TERM_MESSAGE_HEIGHT): Likewise.
45557 (TERM_BORDER_HEIGHT): Likewise.
45558 (TERM_NUM_ENTRIES): Likewise.
45559 (TERM_FIRST_ENTRY_Y): Likewise.
45560 (TERM_ENTRY_WIDTH): Likewise.
45561 (TERM_CURSOR_X): Likewise.
45562 (draw_border): Use macros instead of magic numbers.
45563 (print_entry): Likewise.
45564 (print_entries): Likewise.
45565 (run_menu): Likewise. Also, handle the key 'e'.
45566 (run_menu_entry): Ignore empty command lines.
45567 (print_message): Added a new argument EDIT. If EDIT is true,
45568 print a different message.
45569 (init_page): Likewise.
45570 (edit_menu_entry): New function. Not implemented yet.
45571
b47efe30 455722004-09-17 Marco Gerards <metgerards@student.han.nl>
45573
45574 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45575 can be loaded from normal mode.
f19dbdb7 45576
b47efe30 45577 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45578 `multiboot.mod'.
45579 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45580 (multiboot_mod_CFLAGS): New variables.
45581 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45582 * loader/i386/pc/multiboot_normal.c: Likewise.
45583
b47efe30 45584 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45585 attribute `unused'.
f19dbdb7 45586
b47efe30 45587 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45588 `fdiro' to read the mode information from instead of `diro'.
45589
45590 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45591 looking up a symlink.
45592
45593 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45594 macro.
45595 * normal/command.c (grub_command_execute): Don't parse the
45596 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45597 flags of the command.
45598
45599 * normal/menu.c (grub_menu_run): Fix typo.
45600
da75ac71 456012004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45602
45603 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45604
45605 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45606 `y + 1' instead of `y - 1'.
45607
45608 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45609
062b24c2 456102004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45611
45612 From Hollis Blanchard <hollis@penguinppc.org>:
45613 * kern/misc.c (memmove): New alias for grub_memmove.
45614 (memcmp): New alias for grub_memcmp.
45615 (memset): New alias for grub_memset.
f19dbdb7 45616 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45617 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45618 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45619 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45620
8ddad845 456212004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45622
45623 Added normal mode command `chainloader' as module chain.mod, which
45624 depends on normal.mod and _chain.mod.
f19dbdb7 45625
8ddad845 45626 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45627 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45628 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45629 Deleted prototype.
45630 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45631 but arguments parsing moved to ...
45632 (grub_chainloader_cmd): ... here. New function.
45633 * include/grub/i386/pc/chainloader.h: New file.
45634 * loader/i386/pc/chainloader_normal.c: Likewise.
45635
2c1f4ce3 456362004-09-11 Marco Gerards <metgerards@student.han.nl>
45637
45638 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45639 (grub_mkimage_LDFLAGS): Likewise.
45640 (grub_emu_SOURCES): Likewise.
45641 (kernel_img_HEADERS): Added fshelp.h.
45642 * fs/ext2.c: Include <grub/fshelp.h>.
45643 (FILETYPE_REG): New macro.
45644 (FILETYPE_INO_REG): Likewise.
45645 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45646 Changed all users.
45647 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45648 all users.
45649 (grub_fshelp_node): New struct.
45650 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45651 to a pointer.
45652 (grub_ext2_get_file_block): Removed function.
45653 (grub_ext2_read_block): New function.
45654 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45655 This function was written.
45656 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45657 (grub_ext2_find_file): Removed function.
45658 (grub_ext2_read_symlink): New function.
45659 (grub_ext2_iterate_dir): Likewise.
45660 (grub_ext2_open): Rewritten.
45661 (grub_ext2_dir): Rewritten.
45662 * include/grub/fshelp.h: New file.
45663 * fs/fshelp.c: Likewise.
45664
3c52136a 456652004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45666
45667 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45668 (print_message): Add a missing newline.
45669 (run_menu): Added timeout support.
45670 (run_menu_entry): New local function.
45671 (grub_menu_run): Added support for booting.
45672
45673 * kern/loader.c (grub_loader_is_loaded): New function.
45674
45675 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45676 (grub_get_rtc): Exported.
45677
45678 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45679 (grub_get_rtc): Exported.
45680
45681 * include/grub/normal.h (struct grub_command_list): Remove
45682 constant from the member `command'.
45683
45684 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45685
45686 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45687
45688 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45689
aa033560 456902004-08-28 Marco Gerards <metgerards@student.han.nl>
45691
45692 Add support for the JFS filesystem.
45693
45694 * fs/jfs.c: New file.
45695 * include/grub/fs.h (grub_jfs_init): New prototype.
45696 (grub_jfs_fini): New prototype.
45697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45698 (grub_emu_SOURCES): Likewise.
45699 (pkgdata_MODULES): Add jfs.mod.
45700 (jfs_mod_SOURCES): New variable.
45701 (jfs_mod_CFLAGS): Likewise.
45702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45703 (grubof_SOURCES): Likewise.
45704 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45705
45706 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45707 endian to the host endian.
45708 (grub_fat_utf16_to_utf8): Move function from there...
45709 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45710 the endianness of the source string anymore.
aa033560 45711 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45712
94bc45af 457132004-08-24 Marco Gerards <metgerards@student.han.nl>
45714
45715 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45716 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45717 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45718 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45719
94bc45af 45720 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45721 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45722 for `node_found' and `it_dir'.
45723 (grub_hfs_dir): Add prototype for `dir_hook'.
45724
45725 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45726 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45727 and `indir32' to silence a gcc warning.
45728
45729 * include/grub/fs.h (grub_hfs_init): New prototype.
45730 (grub_hfs_fini): Likewise.
f19dbdb7 45731
45732
97543f08 457332004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45734
45735 Each disk device has its own id now. This is useful to make use
45736 of multiple disk devices.
f19dbdb7 45737
97543f08 45738 * include/grub/disk.h (grub_disk_dev_id): New enum.
45739 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45740 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45741
45742 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45743 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45744
45745 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45746 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45747
45748 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45749 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45750
45751 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45752 "id" which is used by the cache manager.
45753
45754 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45755 of just "GRUB".
45756
64372eb4 457572004-08-18 Marco Gerards <metgerards@student.han.nl>
45758
45759 * fs/hfs.c: New file.
45760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45761 (grub_emu_SOURCES): Likewise.
45762 (pkgdata_MODULES): Add hfs.mod.
45763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45764 (grubof_SOURCES): Likewise.
45765 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45766
45767 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45768 * kern/misc.c (grub_strncasecmp): Add function.
45769
cc61b58f 457702004-08-14 Marco Gerards <metgerards@student.han.nl>
45771
45772 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45773 with parentheses.
45774
45775 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45776 (grub_ext2_dir): In case the directory entry type is unknown, read
45777 it from the inode.
45778
0ef123f6 457792004-08-02 Peter Bruin <pjbruin@dds.nl>
45780
45781 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45782 grub_load_linux instead of grub_rescue_cmd_linux as second
45783 argument of grub_rescue_register_command.
45784
45785 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45786
a447c5df 457872004-07-27 Marco Gerards <metgerards@student.han.nl>
45788
45789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45790 function.
45791 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45792 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45793 `loader/powerpc/ieee1275/linux.c',
45794 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45795 * include/grub/powerpc/ieee1275/ieee1275.h
45796 (grub_ieee1275_release): New prototype.
45797 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45798 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45799 normal, boot, linux and linux_normal.
45800 * loader/powerpc/ieee1275/linux.c: New file.
45801 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45802
5a9e3546 458032004-07-12 Marco Gerards <metgerards@student.han.nl>
45804
45805 * normal/arg.c (grub_arg_parse): Correct error handling after
45806 reallocating the argumentlist (check if `argl' is not null instead
45807 of checking if `args' is not null).
45808 * kern/mm.c (grub_realloc): Return the same pointer when using the
45809 same region, instead of returning the header address.
45810
e15199cb 458112004-07-11 Marco Gerards <metgerards@student.han.nl>
45812
45813 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45814 one block instead of two when looking for the initial partition.
45815 (grub_partition_probe): Initialize the local variable `p' with 0.
45816 Use base 10 for the grub_strtoul call.
45817 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45818 need for one local variable.
45819 (grub_strtoul): Don't add the new value to `num', instead of that
45820 just assign it.
45821
020616c2 458222004-07-11 Marco Gerards <metgerards@student.han.nl>
45823
45824 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45825 (pxeboot_img_SOURCES): New variable.
45826 (pxeboot_img_ASFLAGS): Likewise.
45827 (pxeboot_img_LDFLAGS): Likewise.
45828 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45829 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45830 <lode_leroy@hotmail.com>.
45831
6c51eb64 458322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45833
45834 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45835 there was no input.
45836
cfb12aff 458372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45838
45839 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45840 the history buffer logic.
45841
6eabba74 458422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45843
45844 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45845 (FILETYPE_INO_SYMLINK): New macros.
45846 (grub_ext2_find_file): Check if the node is a directory using the
45847 inode stat information instead of using the filetype in the
45848 dirent. Exclude the first character of an absolute symlink.
45849 (grub_ext2_dir): Mask out the filetype part of the mode member of
45850 the inode.
45851
66e19ef8 458522004-05-24 Marco Gerards <metgerards@student.han.nl>
45853
45854 Add support for UFS version 1 and 2. Add support for the minix
45855 filesystem version 1 and 2, both the variants with 14 and 30 long
45856 filenames.
f19dbdb7 45857
66e19ef8 45858 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45859 fs/minix.c.
45860 (grub_emu_SOURCES): Likewise.
45861 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45862 (ufs_mod_SOURCES): New variable.
45863 (ufs_mod_CFLAGS): Likewise.
45864 (minix_mod_SOURCES): Likewise.
45865 (minix_mod_CFLAGS): Likewise.
45866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45867 fs/minix.c.
45868 (grubof_SOURCES): Likewise.
45869 * fs/ufs.c: New file.
45870 * fs/minix.c: New file.
45871 * include/grub/fs.h (grub_ufs_init): New prototype.
45872 (grub_ufs_fini): Likewise.
45873 (grub_minix_init): Likewise.
45874 (grub_minix_fini): Likewise.
45875 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45876 minix fs.
45877
cc2e748a 458782004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45879
45880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45881 commands/ls.c, commands/terminal.c, commands/boot.c,
45882 commands/cmp.c and commands/cat.c.
45883 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45884
45885 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45886 "env.h"
45887
4b13b216 458882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45889
45890 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45891 and grub_, respectively. Because the conversion is trivial and
45892 mechanical, I omit the details here. Please refer to the CVS
45893 if you need more information.
45894
6a142551 458952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45896
45897 * include/pupa: Renamed to ...
45898 * include/grub: ... this.
45899 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45900 * util/i386/pc/grub-mkimage.c: ... this.
45901 * util/i386/pc/pupa-setup.c: Renamed to ...
45902 * util/i386/pc/grub-setup.c: ... this.
45903 * util/pupa-emu.c: Renamed to ...
45904 * util/grub-emu.c: ... this.
45905
e56cdf21 459062004-03-29 Marco Gerards <metgerards@student.han.nl>
45907
45908 Add support for the newworld apple macintosh (PPC). This has been
45909 tested on the powerbook 2000 only. It only adds support for
45910 generic ieee1275 functions, console and disk support. This should
45911 be easy to port to other architectures with support for Open
45912 Firmware.
f19dbdb7 45913
e56cdf21 45914 * configure.ac: Accept the powerpc as host_cpu. In the case of
45915 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45916 specific tests are only executed while building for the i386.
45917 Inverse test for crosscompile.
45918 * genmk.rb (Utility): Allow assembler files.
45919 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45920 * conf/powerpc-ieee1275.rmk: New file.
45921 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45922 * disk/powerpc/ieee1275/partition.c: Likewise.
45923 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45924 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45925 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45926 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45927 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45928 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45929 * include/pupa/powerpc/ieee1275/loader.h
45930 * include/pupa/powerpc/setjmp.h: Likewise.
45931 * include/pupa/powerpc/types.h: Likewise.
45932 * kern/powerpc/ieee1275/init.c: Likewise.
45933 * kern/powerpc/ieee1275/openfw.c: Likewise.
45934 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45935
45936 These files were written by Johan Rydberg
45937 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45938
e56cdf21 45939 * boot/powerpc/ieee1275/cmain.c: New file.
45940 * boot/powerpc/ieee1275/crt0.S: Likewise.
45941 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45942 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45943
8c8cc205 459442004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45945
45946 * Makefile.in: Update copyright.
45947 * genmodsrc.sh: Likewise.
45948 * gensymlist.sh: Likewise.
45949 * term/i386/pc/vga.c: Indent correctly.
45950
45951 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45952 bugreporting address.
45953 * util/i386/pc/pupa-setup.c (usage): Likewise,
45954 (main): Call pupa_ext2_init and pupa_ext2_fini.
45955
f19dbdb7 45956 * fs/fat.c (log2): Renamed to ...
8c8cc205 45957 (fat_log2): ... this.
45958 All callers changed.
45959 * kern/misc.c (memcpy): Alias to pupa_memmove.
45960 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45961 lvalue cast.
45962 * util/console.c (pupa_ncurses_fini): Return 0.
45963
45964 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45965 Move fail label here.
45966 [__GNU__]: Don't warn when using stat.
45967 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45968 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45969 long int. Use strtol instead of strtoul.
f19dbdb7 45970
db1771cf 459712004-03-14 Marco Gerards <metgerards@student.han.nl>
45972
45973 * commands/boot.c: New file.
45974 * commands/cat.c: Likewise.
45975 * commands/cmp.c: Likewise.
45976 * commands/ls.c: Likewise.
45977 * commands/terminal.c: Likewise.
45978 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45979 (pupa_register_command): Changed interface to match the new
45980 argument parser.
45981 (pupa_command_execute): Changed (almost rewritten) so it uses
45982 pupa_split_command. Added support for setting variables using the
45983 syntax `foo=bar'.
45984 (rescue_command): Changed to work with the new argument parser.
45985 (terminal_command): Moved from here to commands/terminal.c.
45986 (set_command): New function.
45987 (unset_command): New function.
45988 (insmod_command): New function.
45989 (rmmod_command): New function.
45990 (lsmod_command): New function.
45991 (pupa_command_init): Don't initialize the command terminal
45992 anymore. Initialize the commands set, unset, insmod, rmmod and
45993 lsmod.
45994 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45995 (kernel_img_HEADERS): Add arg.h and env.h.
45996 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45997 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45998 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45999 normal/arg.c.
46000 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46001 terminal.mod.
46002 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46003 (boot_mod_SOURCES): New variable.
46004 (terminal_mod_SOURCES): Likewise.
46005 (ls_mod_SOURCES): Likewise.
46006 (cmp_mod_SOURCES): Likewise.
46007 (cat_mod_SOURCES): Likewise.
46008
46009 * normal/arg.c: New file.
46010 * kern/env.c: Likewise.
46011 * include/pupa/arg.h: Likewise.
46012 * include/pupa/env.h: Likewise.
46013 * font/manager.c (font_command): Changed to match argument parsing
46014 interface changes.
46015 (PUPA_MOD_INIT): Likewise.
46016 * hello/hello.c (pupa_cmd_hello): Likewise.
46017 (PUPA_MOD_INIT): Likewise.
46018 * include/pupa/disk.h: Include <pupa/device.h>.
46019 (pupa_print_partinfo): New prototype.
46020 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46021 (pupa_dl_get_prefix): Likewise.
46022 * include/pupa/misc.h: Include <pupa/err.h>.
46023 (pupa_isgraph): New prototype.
46024 (pupa_isdigit): Likewise.
46025 (pupa_split_cmdline): Likewise.
46026 * include/pupa/normal.h: Include <pupa/arg.h>.
46027 (pupa_command): Changed the prototype of the member `func' to
46028 match the argument parsing interface. Added member `options'.
46029 (pupa_register_command): Updated to match function.
46030 (pupa_arg_parse): New prototype.
46031 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46032 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46033 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46034 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46035 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46036 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46037 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46038 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46039 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46040 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46041 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46042 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46043 * kern/disk.c: Include <pupa/file.h>.
46044 (pupa_print_partinfo): New function.
46045 * kern/dl.c: Include <pupa/env.h>.
46046 (pupa_dl_dir): Variable removed.
46047 (pupa_dl_load): Use the environment variable `prefix' instead of
46048 the variable pupa_dl_dir.
46049 (pupa_dl_set_prefix): Function removed.
46050 (pupa_dl_get_prefix): Likewise.
46051 * kern/i386/pc/init.c: Include <pupa/env.h>.
46052 (pupa_machine_init): Use the environment variable `prefix' instead of
46053 using pupa_dl_set_prefix to set the prefix.
46054 * kern/main.c: Include <pupa/env.h>.
46055 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46056 using pupa_dl_get_prefix to get the prefix.
46057 * kern/misc.c: Include <pupa/env.h>.
46058 (pupa_isdigit): New function.
46059 (pupa_isgraph): Likewise.
46060 (pupa_ftoa): Likewise.
46061 (pupa_vsprintf): Added support for printing values of the type
46062 `double'. Make it possible to format variable output when using
46063 formatting like `%1.2%f'.
46064 (pupa_split_cmdline): New function.
46065 * kern/rescue.c: Include <pupa/env.h>.
46066 (next_word): Removed function.
46067 (pupa_rescue_cmd_prefix): Likewise.
46068 (pupa_rescue_cmd_set): New function.
46069 (pupa_rescue_cmd_unset): New function.
46070 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46071 split the command line instead of splitting it here. Added
46072 support for setting variables using the syntax `foo=bar'. Don't
46073 initialize the prefix command anymore. Initialized the set and
46074 unset commands.
46075 * normal/cmdline.c: Include <pupa/env.h>.
46076 (pupa_tab_complete): Added prototypes for print_simple_completion,
46077 print_partition_completion, add_completion, iterate_commands,
46078 iterate_dev, iterate_part and iterate_dir. Moved code to print
46079 partition information from here to kern/disk.c.
fe6b695a 46080 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46081 * normal/main.c: Include <pupa/env.h>.
46082 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46083 instead of using pupa_dl_get_prefix to get the prefix.
46084 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46085 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46086 warning.
46087 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46088 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46089 ((unused))' to silence a gcc warning.
46090 (pupa_vga_setcolor): Likewise.
46091 (debug_command): Changed to match argument parsing
46092 interface changes.
46093 * util/pupa-emu.c: Include <pupa/env.h>.
46094 (options): Added 0's for unused fields to silence a gcc warning.
46095 (argp): Likewise.
46096 (main): Use the environment variable `prefix' instead of using
46097 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46098 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46099 and terminal.
46100
46101 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46102 * util/misc.c: Include <malloc.h>.
46103 (pupa_malloc): Rewritten so errors are correctly reported.
46104 (pupa_realloc): Likewise.
46105 (pupa_memalign): Likewise.
46106 (pupa_mm_init_region): Declare unused variables with
46107 `__attribute__ ((unused))' to silence a gcc warning.
46108 * normal/i386/setjmp.S: Remove tab at the end of the file to
46109 silence a gcc warning.
46110 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46111 variables with `__attribute__ ((unused))' to silence a gcc
46112 warning.
46113 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46114 local variable i unsigned to silence a gcc warning.
46115
46116 * kern/term.c: Include <pupa/misc.h>.
46117 (pupa_more_lines): New variable.
46118 (pupa_more): Likewise.
46119 (pupa_putcode): When the pager is active pause at the end of every
46120 screen.
46121 (pupa_set_more): New function.
46122 * include/pupa/term.h (pupa_set_more): New prototype.
46123
46124
3b1139cb 461252004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46126
46127 Now this project is GRUB 2 rather than PUPA. The location of
46128 the CVS repository was moved to GRUB's.
f19dbdb7 46129
3b1139cb 46130 * configure.ac: Use bug-grub as the reporting address.
46131 Use GRUB instead of PUPA.
46132 Change the version number to 1.90.
46133
8367695c 461342004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46135
46136 * genkernsyms.sh: Updated copyright information.
46137 * genmk.rb: Likewise.
46138 * genmodsrc.sh: Likewise.
46139 * gensymlist.sh: Likewise.
46140 * boot/i386/pc/boot.S: Likewise.
46141 * boot/i386/pc/diskboot.S: Likewise.
46142 * disk/i386/pc/biosdisk.c: Likewise.
46143 * disk/i386/pc/partition.c: Likewise.
46144 * font/manager.c: Likewise.
46145 * fs/ext2.c: Likewise.
46146 * fs/fat.c: Likewise.
46147 * include/pupa/boot.h: Likewise.
46148 * include/pupa/device.h: Likewise.
46149 * include/pupa/disk.h: Likewise.
46150 * include/pupa/dl.h: Likewise.
46151 * include/pupa/elf.h: Likewise.
46152 * include/pupa/err.h: Likewise.
46153 * include/pupa/file.h: Likewise.
46154 * include/pupa/font.h: Likewise.
46155 * include/pupa/fs.h: Likewise.
46156 * include/pupa/kernel.h: Likewise.
46157 * include/pupa/loader.h: Likewise.
46158 * include/pupa/misc.h: Likewise.
46159 * include/pupa/mm.h: Likewise.
46160 * include/pupa/net.h: Likewise.
46161 * include/pupa/normal.h: Likewise.
46162 * include/pupa/rescue.h: Likewise.
46163 * include/pupa/setjmp.h: Likewise.
46164 * include/pupa/symbol.h: Likewise.
46165 * include/pupa/term.h: Likewise.
46166 * include/pupa/types.h: Likewise.
46167 * include/pupa/i386/setjmp.h: Likewise.
46168 * include/pupa/i386/types.h: Likewise.
46169 * include/pupa/i386/pc/biosdisk.h: Likewise.
46170 * include/pupa/i386/pc/boot.h: Likewise.
46171 * include/pupa/i386/pc/console.h: Likewise.
46172 * include/pupa/i386/pc/init.h: Likewise.
46173 * include/pupa/i386/pc/kernel.h: Likewise.
46174 * include/pupa/i386/pc/linux.h: Likewise.
46175 * include/pupa/i386/pc/loader.h: Likewise.
46176 * include/pupa/i386/pc/memory.h: Likewise.
46177 * include/pupa/i386/pc/multiboot.h: Likewise.
46178 * include/pupa/i386/pc/partition.h: Likewise.
46179 * include/pupa/i386/pc/time.h: Likewise.
46180 * include/pupa/i386/pc/vga.h: Likewise.
46181 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46182 * include/pupa/util/getroot.h: Likewise.
46183 * include/pupa/util/misc.h: Likewise.
46184 * include/pupa/util/resolve.h: Likewise.
46185 * kern/device.c: Likewise.
46186 * kern/disk.c: Likewise.
46187 * kern/dl.c: Likewise.
46188 * kern/err.c: Likewise.
46189 * kern/file.c: Likewise.
46190 * kern/fs.c: Likewise.
46191 * kern/loader.c: Likewise.
46192 * kern/main.c: Likewise.
46193 * kern/misc.c: Likewise.
46194 * kern/mm.c: Likewise.
46195 * kern/rescue.c: Likewise.
46196 * kern/term.c: Likewise.
46197 * kern/i386/dl.c: Likewise.
46198 * kern/i386/pc/init.c: Likewise.
46199 * kern/i386/pc/lzo1x.S: Likewise.
46200 * kern/i386/pc/startup.S: Likewise.
46201 * loader/i386/pc/chainloader.c: Likewise.
46202 * loader/i386/pc/linux.c: Likewise.
46203 * loader/i386/pc/multiboot.c: Likewise.
46204 * normal/cmdline.c: Likewise.
46205 * normal/command.c: Likewise.
46206 * normal/main.c: Likewise.
46207 * normal/menu.c: Likewise.
46208 * normal/i386/setjmp.S: Likewise.
46209 * term/i386/pc/console.c: Likewise.
46210 * term/i386/pc/vga.c: Likewise.
46211 * util/console.c: Likewise.
46212 * util/genmoddep.c: Likewise.
46213 * util/misc.c: Likewise.
46214 * util/pupa-emu.c: Likewise.
46215 * util/resolve.c: Likewise.
46216 * util/unifont2pff.rb: Likewise.
46217 * util/i386/pc/biosdisk.c: Likewise.
46218 * util/i386/pc/getroot.c: Likewise.
46219 * util/i386/pc/pupa-mkimage.c: Likewise.
46220 * util/i386/pc/pupa-setup.c: Likewise.
46221
e6eced71 462222004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46223
46224 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46225 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46226 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46227 reading and reset it after reading.
46228 (pupa_ext2_close): Return PUPA_ERR_NONE.
46229
46230 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46231 Correct value.
46232 (struct linux_kernel_header): Add kernel_version and
46233 initrd_addr_max.
46234 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46235 pupa_file_read succeeds.
46236 (pupa_rescue_cmd_initrd): Implement.
46237
5aded270 462382003-12-03 Marco Gerards <metgerards@student.han.nl>
46239
46240 * fs/ext2.c (pupa_ext2_label): New function.
46241 (pupa_ext2_fs): Added label.
46242 * fs/fat.c (pupa_fat_label): New function.
46243 (pupa_fat_fs): Added label.
46244 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46245
46246 * kern/misc.c (pupa_strndup): New function.
46247 * include/pupa/misc.h (pupa_strndup): New prototype.
46248
46249 * include/pupa/normal.h: Include <pupa/err.h>.
46250 (pupa_set_history): New prototype.
46251 (pupa_iterate_commands): New prototype.
46252 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46253 <pupa/disk.h>, <pupa/file.h>.
46254 (hist_size): New variable.
46255 (hist_lines): Likewise.
46256 (hist_end): Likewise.
46257 (hist_used): Likewise.
46258 (pupa_set_history): New function.
46259 (pupa_history_get): Likewise.
46260 (pupa_history_add): Likewise.
46261 (pupa_history_replace): Likewise.
46262 (pupa_tab_complete): Likewise.
46263 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46264 completion shows partitionnames while completing partitions, this
46265 feature was suggested by Jeff Bailey.
46266 * normal/command.c (pupa_iterate_commands): New function.
46267 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46268 (pupa_normal_init): Initialize history buffer.
46269 (PUPA_MOD_INIT): Likewise.
46270 (pupa_normal_fini): Free the history buffer.
46271 (PUPA_MOD_FINI): Likewise.
46272
46273 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46274 key.
46275
46276 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46277 * configure.ac [i386]: Check for regparam bug.
46278 (NESTED_FUNC_ATTR) [! i386]: Defined.
46279
1f7315a3 462802003-11-17 Marco Gerards <metgerards@student.han.nl>
46281
46282 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46283 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46284 (pupa_emu_SOURCES): New variable.
46285 (pupa_emu_LDFLAGS): Likewise.
46286 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46287 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46288 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46289 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46290 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46291 (pupa_jmp_buf): New typedef.
46292 (pupa_setjmp) [PUPA_UTIL]: New macro.
46293 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46294 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46295 (pupa_refresh): New prototype.
46296 * include/pupa/util/getroot.h: New file.
46297 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46298 it.
46299 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46300 (pupa_rescue_cmd_cat): Likewise.
46301 (pupa_rescue_cmd_ls): Likewise.
46302 (pupa_rescue_cmd_testload): Likewise.
46303 (pupa_rescue_cmd_lsmod): Likewise.
46304 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46305 * normal/menu.c (run_menu): Likewise.
46306 * kern/term.c (pupa_cls): Likewise.
46307 (pupa_refresh): New function.
46308 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46309 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46310 * util/console.c: New file.
f19dbdb7 46311
1f7315a3 46312 * util/i386/pc/getroot.c: New file.
46313 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46314 (pupa_putchar): New function.
46315 (pupa_refresh): Likewise.
46316 (xgetcwd): Function moved to ...
46317 (strip_extra_slashes): Likewise.
46318 (get_prefix): Likewise.
f19dbdb7 46319 * util/i386/pc/getroot.c: ... here.
1f7315a3 46320 (find_root_device): Function moved and renamed to...
46321 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46322 Changed all callers.
46323 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46324 and renamed to...
46325 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46326 Changed all callers.
46327 * util/misc.c (pupa_memalign): New function.
46328 (pupa_mm_init_region): Likewise.
46329 (pupa_register_exported_symbols): Likewise.
46330 (pupa_putchar): Function removed.
46331 * util/pupa-emu.c: New file.
46332
9a5c1ade 463332003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46334
46335 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46336 (_multiboot_mod_SOURCES): New variable.
46337 (_multiboot_mod_CFLAGS): Likewise.
46338 * loader/i386/pc/multiboot.c: New file.
46339 * include/pupa/i386/pc/multiboot.h: Likewise.
46340 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46341 (pupa_multiboot_real_boot): New function.
46342 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46343 (pupa_multiboot_real_boot): New prototype.
46344 (pupa_rescue_cmd_multiboot): Likewise
46345 (pupa_rescue_cmd_module): Likewise.
46346
46347 * kern/loader.c (pupa_loader_set): Continue when
46348 pupa_loader_unload_func() fails.
46349 (pupa_loader_unset): New function.
46350 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46351
46352 * kern/misc.c (pupa_stpcpy): New function.
46353 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46354
8e72a9c0 463552003-11-12 Marco Gerards <metgerards@student.han.nl>
46356
46357 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46358 for available extensions.
46359
46360 * include/pupa/i386/pc/time.h: New file.
46361 * kern/disk.c: Include <pupa/machine/time.h>.
46362 (PUPA_CACHE_TIMEOUT): New macro.
46363 (pupa_last_time): New variable.
46364 (pupa_disk_open): Flush the cache when there was a timeout.
46365 (pupa_disk_close): Reset the timer.
46366 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46367 pupa_currticks.
46368 * util/misc.c: Include <sys/times.h>
46369 (pupa_get_rtc): New function.
46370
c4adbd32 463712003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46372
46373 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46374 as blocks.
46375 (pupa_ext2_get_file_block): Use blocks member.
46376
46377 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46378 first block. Return -1 instead of pupa_errno on error.
46379
bfd30f06 463802003-10-27 Marco Gerards <metgerards@student.han.nl>
46381
46382 * README: In the pupa-mkimage example use _chain instead of chain
46383 and ext2 instead of fat.
46384 * TODO: Replace ext2fs with jfs as an example. Add an item for
46385 adding journal playback for ext2fs.
46386 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46387 (pkgdata_MODULES): Added ext2.mod.
46388 (ext2_mod_SOURCES): New variable.
46389 (ext2_mod_CFLAGS): Likewise.
46390 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46391 * include/pupa/misc.h (pupa_strncpy): New prototype.
46392 (pupa_strcat): Likewise.
46393 (pupa_strncmp): Likewise.
46394 * kern/misc.c (pupa_strcat): Enable function.
46395 (pupa_strncpy): New function.
46396 (pupa_strncmp): Likewise.
46397 * fs/ext2.c: New file.
f19dbdb7 46398
bfd30f06 46399 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46400 when the read failed before retrying.
46401 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46402 (_FILE_OFFSET_BITS): Likewise.
46403 * configure.ac: Added AC_SYS_LARGEFILE.
46404
98d15063 464052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46406
46407 * genmk.rb (PModule#rule): Make sure to get only symbol names
46408 from the output of nm.
59cad637 46409 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46410
18d9c7cd 464112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46412
46413 I forgot to check in these changes for a long time. This adds
46414 incomplete support for VGA console, and this is still very
46415 buggy. Also, a lot of consideration is required for I18N,
46416 UNICODE, and VGA font issues. Therefore, assume that this is
46417 such that "better than nothing".
f19dbdb7 46418
18d9c7cd 46419 * font/manager.c: New file.
46420 * include/pupa/font.h: Likewise.
46421 * include/pupa/i386/pc/vga.h: Likewise.
46422 * term/i386/pc/vga.c: Likewise.
46423 * util/unifont2pff.rb: Likewise.
46424
46425 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46426 (pkgdata_MODULES): Added vga.mod and font.mod.
46427 (vga_mod_SOURCES): New variables.
46428 (vga_mod_CFLAGS): Likewise.
46429 (font_mod_SOURCES): Likewise.
46430 (font_mod_CFLAGS): Likewise.
46431
46432 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46433
46434 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46435 (struct pupa_term): Added init and fini.
18d9c7cd 46436 Changed the argument of putchar to pupa_uint32_t.
46437
46438 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46439 (pupa_console_real_putchar): New prototype.
46440 (pupa_console_putchar): Removed.
46441 (pupa_console_checkkey): Exported.
46442 (pupa_console_getkey): Likewise.
46443
46444 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46445 characters.
46446
46447 * kern/term.c (pupa_term_set_current): Rewritten.
46448 (pupa_putchar): Likewise.
46449 (pupa_putcode): New function.
46450
46451 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46452 (pupa_console_real_putchar): ... this.
46453 (pupa_vga_set_mode): New function.
46454 (pupa_vga_get_font): Likewise.
46455
46456 * normal/command.c: Include pupa/term.h.
46457 (terminal_command): New function.
46458 (pupa_command_init): Register the command "terminal".
46459
46460 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46461 (DISP_UP): Likewise.
46462 (DISP_RIGHT): Likewise.
46463 (DISP_DOWN): Likewise.
46464 (DISP_HLINE): Likewise.
46465 (DISP_VLINE): Likewise.
46466 (DISP_UL): Likewise.
46467 (DISP_UR): Likewise.
46468 (DISP_LL): Likewise.
46469 (DISP_LR): Likewise.
46470
46471 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46472
977329f5 464732003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46474
46475 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46476 FIX. Reverse the path_list.
46477
46478 * include/pupa/normal.h: Export pupa_register_command and
46479 pupa_unregister_command.
46480
46481 * hello/hello.c (pupa_cmd_hello): New module.
46482 * conf/i386-pc.rmk: Added hello.mod.
46483
1f5ab428 464842003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46485
46486 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46487
1f5ab428 46488 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46489 (compress_kernel): New variable.
46490 (generate_image): Heavily modified to support compressing a
46491 large part of the core image.
46492
46493 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46494 leak.
46495 (pupa_util_load_image): New function.
46496
46497 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46498 (pupa_compressed_size): New variable.
46499 (codestart): Enable Gate A20 here.
46500 Decompress the compressed part of the core image.
46501 Rearrange the code to put functions and variables which are
46502 required for initialization in the non-compressed part.
46503 Include lzo1x.S.
46504
46505 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46506 here.
46507
46508 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46509
f19dbdb7 46510 * include/pupa/i386/pc/kernel.h
1f5ab428 46511 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46512 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46513 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46514 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46515 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46516
46517 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46518
46519 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46520 (Utility#rule): Likewise.
46521
46522 * configure.ac: Check if LZO is available.
46523
ce5bf700 465242003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46525
46526 * include/pupa/normal.h: New file.
46527 * include/pupa/setjmp.h: Likewise.
46528 * include/pupa/i386/setjmp.h: Likewise.
46529 * normal/cmdline.c: Likewise.
46530 * normal/command.c: Likewise.
46531 * normal/main.c: Likewise.
46532 * normal/menu.c: Likewise.
46533 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46534
ce5bf700 46535 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46536 (pupa_rescue_cmd_initrd): Likewise.
46537
46538 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46539 Likewise.
46540
46541 * kern/i386/pc/startup.S (translation_table): New variable.
46542 (translate_keycode): New function.
46543 (pupa_console_getkey): Call translate_keycode.
46544
46545 * kern/rescue.c (attempt_normal_mode): New function.
46546 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46547 it failed, print a message.
46548
46549 * kern/mm.c (pupa_real_malloc): Print more information when a
46550 free magic is broken.
46551 (pupa_free): If the first free header is not free actually, set
46552 it to P.
46553
46554 * kern/main.c (pupa_load_normal_mode): Just load the module
46555 "normal".
46556 (pupa_main): Don't print the message
46557 "Entering into rescue mode..." here.
46558
46559 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46560 Declared.
46561 (pupa_rescue_cmd_initrd): Likewise.
46562 (pupa_rescue_cmd_initrd): Likewise.
46563
46564 * include/pupa/symbol.h (FUNCTION): Specify the type.
46565 (VARIABLE): Likewise.
46566
46567 * include/pupa/err.h (pupa_err_t): Added
46568 PUPA_ERR_UNKNOWN_COMMAND.
46569
46570 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46571 (pupa_dl_get_prefix): Likewise.
46572
46573 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46574 Added _chain.mod and _linux.mod instead of chain.mod and
46575 linux.mod.
46576 (chain_mod_SOURCES): Renamed to ...
46577 (_chain_mod_SOURCES): ... this.
46578 (chain_mod_CFLAGS): Renamed to ...
46579 (_chain_mod_CFLAGS): ... this.
46580 (linux_mod_SOURCES): Renamed to ...
46581 (_linux_mod_SOURCES): ... this.
46582 (linux_mod_CFLAGS): Renamed to ...
46583 (_linux_mod_CFLAGS): ... this.
46584 (normal_mod_SOURCES): New variable.
46585 (normal_mod_CFLAGS): Likewise.
46586 (normal_mod_ASFLAGS): Likewise.
46587
465882003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46589
46590 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46591 possible.
46592
fe6b695a 46593 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46594 recursively.
46595 (pupa_dl_unref): Unrefer depending modules recursively.
46596 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46597 a module is unloaded before one depending on that module is
46598 unloaded.
46599 (pupa_dl_unload): Unload depending modules explicitly,
46600 if possible.
46601
c04da074 466022003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46603
46604 * include/pupa/i386/pc/linux.h: New file.
46605 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46606
c04da074 46607 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46608 Removed.
46609 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46610 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46611 of PUPA_CHAINLOADER_BOOT_SECTOR.
46612
46613 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46614 (pupa_linux_prot_size): New variable.
46615 (pupa_linux_tmp_addr): Likewise.
46616 (pupa_linux_real_addr): Likewise.
46617 (pupa_linux_boot_zimage): New function.
46618 (pupa_linux_boot_bzimage): Likewise.
46619
46620 * kern/i386/pc/init.c (struct mem_region): New structure.
46621 (MAX_REGIONS): New macro.
46622 (mem_regions): New variable.
46623 (num_regions): Likewise.
46624 (pupa_os_area_addr): Likewise.
46625 (pupa_os_area_size): Likewise.
46626 (pupa_lower_mem): Likewise.
46627 (pupa_upper_mem): Likewise.
46628 (add_mem_region): New function.
46629 (compact_mem_regions): Likewise.
46630 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46631 the size of the conventional memory and that of so-called upper
46632 memory (before the first memory hole).
46633 Instead of adding each found region to free memory, use
46634 add_mem_region and add them after removing overlaps.
46635 Also, add only 1/4 of the upper memory to free memory. The rest
46636 is used for loading OS images. Maybe this is ad hoc, but this
46637 makes it much easier to relocate OS images when booting.
46638
46639 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46640 (pupa_enter_rescue_mode): Don't register initrd and module.
46641
46642 * kern/mm.c: Include pupa/dl.h.
46643
46644 * kern/main.c: Include pupa/file.h and pupa/device.h.
46645
46646 * kern/loader.c (pupa_loader_load_module_func): Removed.
46647 (pupa_loader_load_module): Likewise.
46648
46649 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46650 ``.o''.
46651
46652 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46653 (pupa_linux_tmp_addr): Likewise.
46654 (pupa_linux_real_addr): Likewise.
46655 (pupa_linux_boot_zimage): Likewise.
46656 (pupa_linux_boot_bzimage): Likewise.
46657
46658 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46659 (pupa_upper_mem): Likewise.
46660 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46661 module is too dangerous.
46662
46663 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46664 (pupa_os_area_size): Likewise.
46665 (pupa_loader_set): Remove the first argument. Loader doesn't
46666 manage modules or initrd any longer.
46667 (pupa_loader_load_module): Removed.
46668
46669 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46670 (linux_mod_SOURCES): New variable.
46671 (linux_mod_CFLAGS): Likewise.
46672
a13f9237 466732003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46674
46675 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46676 the length of a blocklist correctly.
46677
46678 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46679 Use ioctl only if the OS file is a block device.
46680 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46681 not very useful for normal files.
46682
46683 * kern/main.c (pupa_set_root_dev): New function.
46684 (pupa_load_normal_mode): Likewise.
46685 (pupa_main): Call those above.
46686
46687 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46688 pupa_uint16_t.
46689
46690 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46691
a5ffe966 466922003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46693
46694 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46695 (setup): Configure the installed partition information and the
46696 dl prefix.
46697
46698 * loader/i386/pc/chainloader.c (my_mod): New variable.
46699 (pupa_chainloader_unload): New function.
46700 (pupa_rescue_cmd_chainloader): Refer itself.
46701 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46702
46703 * kern/i386/pc/startup.S (install_partition): Removed.
46704 (version_string): Likewise.
46705 (config_file): Likewise.
46706 (pupa_install_dos_part): New variable.
46707 (pupa_install_bsd_part): Likewise.
46708 (pupa_prefix): Likewise.
46709 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46710
46711 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46712 and pupa/misc.h.
46713 (make_install_device): New function.
46714 (pupa_machine_init): Set the dl prefix.
46715
46716 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46717 (buf): Renamed to ...
46718 (linebuf): ... this.
46719 (pupa_rescue_cmd_prefix): New function.
46720 (pupa_rescue_cmd_insmod): Likewise.
46721 (pupa_rescue_cmd_rmmod): Likewise.
46722 (pupa_rescue_cmd_lsmod): Likewise.
46723 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46724 rmmod and lsmod.
46725
46726 * kern/mm.c (pupa_memalign): If failed even after invalidating
46727 disk caches, unload unneeded modules and retry.
46728
46729 * kern/misc.c (pupa_memmove): New function.
46730 (pupa_memcpy): Removed.
46731 (pupa_strcpy): New function.
46732 (pupa_itoa): Made static.
46733
46734 * kern/dl.c (pupa_dl_iterate): New function.
46735 (pupa_dl_ref): Likewise.
46736 (pupa_dl_unref): Likewise.
46737 (pupa_dl_unload): Return if succeeded or not.
46738 (pupa_dl_unload_unneeded): New function.
46739 (pupa_dl_unload_all): Likewise.
46740 (pupa_dl_init): Renamed to ...
46741 (pupa_dl_set_prefix): ... this.
46742 (pupa_dl_get_prefix): New function.
46743
46744 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46745 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46746 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46747 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46748 (pupa_install_dos_part): Declared.
46749 (pupa_install_bsd_part): Likewise.
46750 (pupa_prefix): Likewise.
46751 (pupa_boot_drive): Likewise.
46752
46753 * include/pupa/types.h: Fix a typo.
46754
46755 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46756 pupa_memmove.
46757 (pupa_memmove): Declared.
46758 (pupa_strcpy): Likewise.
46759
46760 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46761 pupa_mod_init takes one argument, its own module.
46762 (pupa_dl_unload_unneeded): Declared.
46763 (pupa_dl_unload_all): Likewise.
46764 (pupa_dl_ref): Likewise.
46765 (pupa_dl_unref): Likewise.
46766 (pupa_dl_iterate): Likewise.
46767 (pupa_dl_init): Renamed to ...
46768 (pupa_dl_set_prefix): ... this.
46769 (pupa_dl_get_prefix): Declared.
46770
46771 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46772 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46773 unloaded.
46774 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46775 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46776
46777 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46778 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46779
012d7999 467802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46781
46782 * util/i386/pc/pupa-setup.c (setup): Define the internal
46783 function find_first_partition_start at the top level, because GCC
46784 3.0.x cannot compile internal functions in deeper scopes
46785 correctly.
46786 (find_root_device): Use lstat instead of stat.
46787 Don't follow symbolic links.
46788 Fix the path-constructing code.
46789
46790 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46791 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46792 by a BLKGETSIZE ioctl first, because block devices don't fill
46793 the member st_mode of the structure stat on Linux.
46794 [__linux__] (linux_find_partition): Use a temporary buffer
46795 REAL_DEV for the working space. Copy it to DEV before returning.
46796 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46797 buffer cache consistent.
46798 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46799 strncmp. The previous value was merely wrong.
46800 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46801
46802 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46803 FAT size is 12. The previous value was merely wrong.
46804
46805 * kern/main.c (pupa_main): Don't split the starting message from
46806 newlines.
46807
46808 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46809 LF, because BIOS goes crazy about character attributes in this
46810 case.
46811
1cc73a62 468122003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46813
46814 * include/i386/pc/util/biosdisk.h: New file.
46815 * util/i386/pc/biosdisk.c: Likewise.
46816 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46817
1cc73a62 46818 * Makefile.in (INCLUDE_DISTFILES): Added
46819 include/pupa/i386/pc/util/biosdisk.h.
46820 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46821 directory util/i386/pc.
46822 (install-local): Added a rule for sbin_UTILITIES.
46823 (uninstall): Likewise.
46824
46825 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46826
46827 * util/misc.c (xrealloc): New function.
46828 (pupa_malloc): Likewise.
46829 (pupa_free): Likewise.
46830 (pupa_realloc): Likewise.
46831 (pupa_stop): Likewise.
46832 (pupa_putchar): Likewise.
46833
46834 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46835
46836 * include/pupa/util/misc.h (xrealloc): Declared.
46837
46838 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46839 macro.
46840 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46841 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46842
46843 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46844 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46845
46846 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46847 way should be implemented.
46848 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46849
46850 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46851 the size of NAME for safety.
46852 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46853 0x88.
46854
46855 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46856 (pupa_setup_SOURCES): Likewise.
46857
46858 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46859
08b70fe8 468602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46861
46862 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46863 bunch of pushl's from pusha, because this destroys the return
46864 value.
46865
62ddcc8f 468662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46867
46868 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46869 This means that any missing prototypes could be fatal. Also, you
46870 must take care when writing assembly code. See the comments at
46871 the beginning of startup.S, for more details.
f19dbdb7 46872
62ddcc8f 46873 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46874 compilation mechanism.
46875 (pupa_chainloader_real_boot): Likewise.
46876 (pupa_biosdisk_rw_int13_extensions): Likewise.
46877 (pupa_biosdisk_rw_standard): Likewise.
46878 (pupa_biosdisk_check_int13_extensions): Likewise.
46879 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46880 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46881 (pupa_get_memsize): Likewise.
46882 (pupa_get_mmap_entry): Likewise.
46883 (pupa_console_putchar): Likewise.
46884 (pupa_console_setcursor): Likewise.
46885 (pupa_getrtsecs): Use pushl instead of push.
46886
46887 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46888 memory instead of the stack for a mmap entry, because some
46889 BIOSes may ignore the maximum size and overflow.
46890
46891 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46892
46893 * genmk.rb (PModule#rule): Compile automatically generated
46894 sources with module-specific CFLAGS as well as other sources.
46895
9962ed99 468962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46897
46898 * configure.ac: Check ld.
46899 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46900 respectively, before checking endianness and sizes.
46901
46902 * Makefile.in (LD): New variable.
f19dbdb7 46903
abdfc3c5 469042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46905
46906 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46907
6a161fa9 469082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46909
46910 * Changelog: New file.
46911