]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Remove nested functions from PCI iterators.
[grub2.git] / ChangeLog
CommitLineData
ca3a7446
CW
12013-01-13 Colin Watson <cjwatson@ubuntu.com>
2
3 Remove nested functions from PCI iterators.
4
5 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6 passed to hook. Update all callers to pass appropriate hook data.
7 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
9 Remove NESTED_FUNC_ATTR from here and from all users.
10 (grub_pci_iterate): Update prototype.
11 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
12 instead of nested. Rename to ...
13 (grub_cs5536_find_iter): ... this.
14 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
15 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
16 Likewise.
17 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
18 Likewise.
19 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
20 Likewise.
21 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
22 Likewise.
23 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
24 * grub-core/video/radeon_fuloong2e.c
25 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
26 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
27 find_card): Likewise.
28 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
29 Likewise.
30
f8e98fee
VS
312013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/commands/verify.c: Mark messages for translating.
34
055b36b6
VS
352013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
38 fatal.
39
f7ff879b
VS
402013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
43 fatal.
44
452013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
46
47 * autogen.sh: Do not try to delete nonexistant files.
48 * util/import_gcrypth.sed: Add some missing header removals.
49
01323d49
CW
502013-01-12 Colin Watson <cjwatson@ubuntu.com>
51
52 Clean up dangling references to grub-setup.
53 Fixes Ubuntu bug #1082045.
54
55 * docs/grub.texi (Images): Refer generally to grub-install rather
56 than directly to grub-setup.
57 (Installing GRUB using grub-install): Remove direct reference to
58 grub-setup.
59 (Device map) Likewise.
60 (Invoking grub-install): Likewise.
61 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
62 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
63 * util/grub-install.in (usage): Likewise.
64
65 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
66 Apply to grub-bios-setup and grub-sparc64-setup rather than to
67 grub-setup.
68 * configure.ac: Remove grub_setup output variable.
69
70 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
71 to grub-bios-setup.
72 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
73 grub-setup to grub-sparc64-setup.
74
5e3b8dcb
VS
752013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
76
77 Import gcrypt public-key cryptography and implement signature checking.
78
535714bd
VS
792013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/fs/ntfs.c: Ue more appropriate types.
82 * grub-core/fs/ntfscomp.c: Likewise.
83 * include/grub/ntfs.h: Likewise.
84
3e4f3566
VS
852013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
86
87 Support Apple FAT binaries on non-Apple platforms.
88
89 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
90 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
91 Likewise.
92 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
93 Apple FAT binaries.
94
4dedb13f
VS
952013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
98 sector devices.
99
f8861eaf
CW
1002013-01-07 Colin Watson <cjwatson@ubuntu.com>
101
102 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
103 explicitly zeroing elements.
104 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
105 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
106 of elements in a structure already allocated using grub_zalloc.
107 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
108
86065b0a
CW
1092013-01-07 Colin Watson <cjwatson@ubuntu.com>
110
111 * docs/grub.texi (grub_cpu): New subsection.
112 (grub_platform): Likewise.
113
c6f1e92f
VS
1142013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
117
f797ec85
VS
1182013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
121 divisions.
122
033d0b4b
VS
1232013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
126 * grub-core/fs/ntfscomp.c: Likewise.
127 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
128 (grub_ntfs_comp): Likewise.
129
21d1b9a0
VS
1302013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
133 Rename to ...
134 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
135 of groups_per_block. All users updated.
136
10ca8645
VS
1372013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
140 grub_error properly.
141 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
142 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
143
a4c3ed4c
VS
1442013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
147 always in /boot/zfs.
148 Reported by: Yuta Satoh.
149
0b716507
YS
1502013-01-03 Yuta Satoh <nigoro>
151
152 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
153 ${grub_probe}
154
00c05e22
VS
1552013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * configure.ac: Extend -Wno-trampolines to host.
158
dadddb76
VS
1592013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
162 entry->len = 0.
163
54ce53ca
CW
1642013-01-03 Colin Watson <cjwatson@ubuntu.com>
165
166 * docs/grub.texi (Invoking grub-mkrelpath): New section.
167 (Invoking grub-script-check): Likewise.
168
8912efca
CW
1692013-01-03 Colin Watson <cjwatson@ubuntu.com>
170
171 * docs/grub.texi (Invoking grub-mount): New section.
172 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
173
c3fc8394
CW
1742013-01-02 Colin Watson <cjwatson@ubuntu.com>
175
176 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
177 test failures, so that a failing unit test correctly causes 'make
178 check' to fail.
179
45d26abb
CW
1802013-01-02 Colin Watson <cjwatson@ubuntu.com>
181
182 Fix failing printf test.
183
184 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
185 '$' in the correct order when collecting type information.
186
971dd2c6
CW
1872013-01-02 Colin Watson <cjwatson@ubuntu.com>
188
189 * docs/grub.texi (configfile): Explain environment variable
190 handling.
191 (source): New section.
192 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
193
5c67ea6c
CW
1942012-12-31 Colin Watson <cjwatson@ubuntu.com>
195
196 Remove several trivially-unnecessary uses of nested functions.
197
198 * grub-core/commands/i386/pc/sendkey.c
199 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
200 instead of nested.
201 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
202 Rename to ...
203 (legacy_file_getline): ... this.
204 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
205 Likewise.
206 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
207 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
208 to ...
209 (probe_dummy_iter): ... this.
210 * grub-core/kern/i386/coreboot/mmap.c
211 (grub_linuxbios_table_iterate: check_signature): Likewise.
212 * grub-core/kern/parser.c (grub_parser_split_cmdline:
213 check_varstate): Likewise. Mark inline.
214 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
215 an additional parameter.
216 (find_long: fnd_long): Likewise. Pass two additional parameters.
217 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
218 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
219 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
220 Likewise. Rename to ...
221 (grub_cmos_find_port_iter): ... this.
222 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
223 Rename to ...
224 (find_rtc_iter): ... this.
225
226 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
227 function directly into the function body, since it is only called
228 once.
229
33a68ac6
CW
2302012-12-30 Colin Watson <cjwatson@ubuntu.com>
231
232 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
233 __attribute__ ((unused)).
234 * grub-core/video/bochs.c (find_card): Likewise.
235 * grub-core/video/cirrus.c (find_card): Likewise.
236 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
237 * grub-core/video/sis315pro.c (find_card): Likewise.
238 * grub-core/video/sm712.c (find_card): Likewise.
239
608b647a
CW
2402012-12-28 Colin Watson <cjwatson@ubuntu.com>
241
242 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
243 Fixes Savannah bug #37821.
244
fd49ceb3
CW
2452012-12-28 Colin Watson <cjwatson@ubuntu.com>
246
247 Apply program name transformations at build-time rather than at
248 run-time. Fixes Debian bug #696465.
249
250 * acinclude.m4 (grub_TRANSFORM): New macro.
251 * configure.ac: Create output variables with transformed names for
252 most programs.
253 * util/bash-completion.d/grub-completion.bash.in: Use
254 pre-transformed variables for program names.
255 * util/grub-install.in: Likewise.
256 * util/grub-kbdcomp.in: Likewise.
257 * util/grub-mkconfig.in: Likewise.
258 * util/grub-mkconfig_lib.in: Likewise.
259 * util/grub-mknetdir.in: Likewise.
260 * util/grub-mkrescue.in: Likewise.
261 * util/grub-mkstandalone.in: Likewise.
262 * util/grub-reboot.in: Likewise.
263 * util/grub-set-default.in: Likewise.
264 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
265 * tests/util/grub-shell-tester.in: Remove unused assignment.
266 * tests/util/grub-shell.in: Likewise.
267 * util/grub.d/00_header.in: Likewise.
268
7024b3c0
CW
2692012-12-28 Colin Watson <cjwatson@ubuntu.com>
270
271 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
272
273 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
274 HAVE_RAW_DECL_GETS.
275 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
276
e3501b13
VS
2772012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
280 Reported by: Eriks Latosheks <foresterlv>.
281
b40c88a9
VS
2822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * docs/grub.texi (Network): Update instructions on generating netboot
285 image.
286
ce96d01c
VS
2872012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
290 around device name if necessarry.
291
0f596201
PFS
2922012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
293
294 * util/grub-install.in: Follow the symbolic link parameter added
295 to the file command.
296
600d5bdb
AB
2972012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
298
299 * util/grub-install.in: Remove stale TODO.
300
64ebd2f4
PFS
3012012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
302
303 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
304 dynamic allocation for the bootpath buffer.
305
74b2fe3e
DTB
3062012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
307
308 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
309 window too small.
310
969b804f
VS
3112012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
314 argument rather than font name. All users updated.
315 (grub_gfxterm_set_window): Likewise.
316
b9f5ebd6
VT
3172012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
318
319 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
320 from working.
321
258f43b7
VS
3222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/getroot.c (convert_system_partition_to_system_disk): Support
325 nbd disks.
326
cc1ce5f9
VS
3272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
330 infinite loop on corrupted FS.
331
e77a16ca
VS
3322012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
333
334 Fix big-endian mtime.
335
336 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
337 together sec and usec.
338 (grub_ufs_dir): Use correct byteswapping for UFS time.
339
d9c48c7b
VS
3402012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Support big-endian UFS1.
343
344 * Makefile.util.def (libgrubmods): Add ufs_be.c
345 * grub-core/Makefile.core.def (ufs1_be): New module.
346 * grub-core/fs/ufs_be.c: New file.
347 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
348 the file.
349
2f9f40ba
LL
3502012-11-28 Leif Lindholm <leif.lindholm@arm.com>
351
352 * include/grub/types.h: Fix functionality unaffecting typo in
353 GRUB_TARGET_WORDSIZE conditional macro.
354
48ff0889
PFS
3552012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
356
357 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
358
03711240
GS
3592012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
360
361 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
362 that /netbsd appears first (when it exists).
363
a31b11bd
CJ
3642012-10-12 Christoph Junghans <ottxor@gentoo.org>
365
366 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
367 Fixes Savannah bug #37558.
368
e8a5d5d4
CW
3692012-10-12 Colin Watson <cjwatson@ubuntu.com>
370
371 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
372 description of extract_entries_configfile.
373
3742012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
375
376 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
377 preferred_address.
378 (grub_cmd_linux): Likewise.
379 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
380 preferred_lifetime. Update all users.
381
288c757d
CW
3822012-09-26 Colin Watson <cjwatson@ubuntu.com>
383
384 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
385 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
386
0d35da3f
CW
3872012-09-26 Colin Watson <cjwatson@ubuntu.com>
388
389 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
390 errors from grub-probe to /dev/null, not stdout.
391
b78c3127
VS
3922012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
395 sector 1.
396
473959f0
CW
3972012-09-24 Colin Watson <cjwatson@ubuntu.com>
398
399 * util/grub-install.in: Make the error message if $source_dir
400 doesn't exist more useful.
401
794c8c33
CW
4022012-09-22 Colin Watson <cjwatson@ubuntu.com>
403
404 Fix grub-emu build on FreeBSD.
405
406 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
407 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
408 headers on Linux.
409 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
410 implementation is currently Linux-specific.
411 * util/getroot.c (exec_pipe): Define only on Linux or when either
412 libzfs or libnvpair is unavailable.
413 (find_root_devices_from_poolname): Remove unused path variable.
414
86d08fdb
CW
4152012-09-19 Colin Watson <cjwatson@ubuntu.com>
416
417 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
418 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
419 should fit before end == 63.
420
735abf54
CW
4212012-09-19 Colin Watson <cjwatson@ubuntu.com>
422
423 * util/grub-setup.c (write_rootdev): Remove unused core_img
424 parameter. Update all callers.
425 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
426 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
427 GRUB_SETUP_BIOS.
428
140acd3c
VS
4292012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * util/grub-mkconfig_lib.in (grub_tab): New variable.
432 (grub_add_tab): New function.
433 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
434 * util/grub.d/10_illumos.in: Likewise.
435 * util/grub.d/10_kfreebsd.in: Likewise.
436 * util/grub.d/10_linux.in: Likewise.
437 * util/grub.d/10_netbsd.in: Likewise.
438 * util/grub.d/10_windows.in: Likewise.
439 * util/grub.d/10_xnu.in: Likewise.
440 * util/grub.d/20_linux_xen.in: Likewise.
441 * util/grub.d/30_os-prober.in: Likewise.
442
7ddffdad
VS
4432012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
446 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
447 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
448 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
449 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
450 ieee1275-nocursor.
451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
452 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
453
4e092454
VS
4542012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
457 le-conversion.
458 Reported by: BURETTE, Bernard.
459
735abf54 4602012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
461
462 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
463 from comment.
464
dfd39dbd
CW
4652012-09-14 Colin Watson <cjwatson@ubuntu.com>
466
467 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
468 IEEE1275 machines. Fixes powerpc-emu compilation.
469 * include/grub/terminfo.h: Likewise.
470
3bfa763c
VS
4712012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
474 a const pointer.
475 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
476 const pointer.
477 (efiemu_set_variable): Make vendor_guid a const pointer.
478
250e475b
VS
4792012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Don't require grub-mkconfig_lib to generate manpages for programs.
482
483 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
484 dependencies, don't add grub-mkconfig_lib.
485 (program): Pass empty adddeps.
486 (script): Pass grub-mkconfig_lib as adddeps.
487
592fd0e4
VS
4882012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
491 * util/getroot.c (grub_find_device): Likewise.
492 (get_mdadm_uuid): Likewise.
493 (grub_util_is_imsm): Likewise.
494 (grub_util_pull_device): Likewise.
495 * util/grub-probe.c (probe): Likewise.
496
801a3027
BG
4972012-09-10 Benoit Gschwind <gschwind>
498
499 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
500 (devs): Add devpath_8.
501
c5052c81
PJ
5022012-09-08 Peter Jones <pjones@redhat.com>
503
504 * grub-core/Makefile.core.def (efifwsetup): New module.
505 * grub-core/commands/efi/efifwsetup.c: New file.
506 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
507 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
508 New define.
509 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
510
8e832f71
JS
5112012-09-05 Jiri Slaby <jslaby@suse.cz>
512
513 * configure.ac: Add SuSe path.
514
f0f55752
CW
5152012-09-05 Colin Watson <cjwatson@ubuntu.com>
516
517 * NEWS: Fix typo.
518
ecadc4c2
CW
5192012-09-05 Colin Watson <cjwatson@ubuntu.com>
520
521 * util/import_gcry.py: Sort cipher_files, to make build system
522 generation more deterministic.
523
64498f25
VS
5242012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
527 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
528 (grub_set_datetime): Likewise.
529
9cc836a2
VS
5302012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
533 warnings.
534
bcfcea01
VS
5352012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
538
a4099485
VS
5392012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
542
265c162a
CW
5432012-09-04 Colin Watson <cjwatson@ubuntu.com>
544
545 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
546 required for checkouts from bzr, but it may be useful for users or
547 distributors wishing to update translations against a tarball
548 distribution, and it can be helpful for the tarball to be a superset
549 of what's in bzr.
550
3d171e95
CW
5512012-09-04 Colin Watson <cjwatson@ubuntu.com>
552
553 * Makefile.am (EXTRA_DIST): Add
554 grub-core/tests/boot/linux.init-mips.S,
555 grub-core/tests/boot/linux.init-ppc.S, and
556 grub-core/tests/boot/linux-ppc.cfg.
557
f2c2503e
CW
5582012-09-04 Colin Watson <cjwatson@ubuntu.com>
559
560 * grub-core/mmap/mips/loongson: Remove empty directory.
561
5622012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
563
564 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
565 gone.
566
ab2163d5
CW
5672012-09-04 Colin Watson <cjwatson@ubuntu.com>
568
569 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
570 grub-sparc64-setup.
571
ce938140
GS
5722012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
573
574 * configure.ac: Strengthen the test for working -nostdinc -isystem.
575
529f58a5
GS
5762012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
577
578 * po/POTFILES.in: Regenerated.
579
16cf79e9
GS
5802012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
581
582 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
583 (NetBSD): New subsection.
584
39b27f1e 5852012-07-22 Ales Nesrsta <starous@volny.cz>
586
587 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
588 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
589
a885261b
VS
5902012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
593 * util/grub.d/10_hurd.in: Add missing quoting.
594 * util/grub.d/10_illumos.in: Likewise.
595 * util/grub.d/10_kfreebsd.in: Likewise.
596 * util/grub.d/10_linux.in: Likewise.
597 * util/grub.d/20_linux_xen.in: Likewise.
598
7bd29c01
VS
5992012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
600
601 New command `lsefi'.
602
603 * grub-core/Makefile.core.def (lsefi): New module.
604 * grub-core/commands/efi/lsefi.c: New file.
605 * include/grub/efi/api.h: Add more GUIDs.
606
ac625d8f
VS
6072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
610 (grub_bsd_elf32_hook): Likewise.
611 (grub_bsd_elf64_size_hook): Likewise.
612 (grub_bsd_elf64_hook): Likewise.
613 (grub_bsd_load_elf): Likewise.
614
e73bb801
VS
6152012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
618 if hash function is unavailable.
619 (dec_stream_header): Likewise.
620
e81db8b5
VS
6212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
624 filter state.
625
d187a1c3
VS
6262012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Fix coreboot compilation.
629
630 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
631 (grub_vga_text_init_real): ... this.
632 (grub_vga_text_fini): Rename to ...
633 (grub_vga_text_fini_real): ... this.
634
91a05f64
VS
6352012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
638
6af96df7
VS
6392012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/legacy_parse.c: Support clear and testload.
642
4d569e12
VS
6432012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
646
073b57bb
VS
6472012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/fs/ext2.c: Experimental support for 64-bit.
650
a706f4cc
VS
6512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/net/tftp.c (ack): Fix endianness problem.
654 (tftp_receive): Likewise.
655 Reported by: Michael Davidsaver.
656
e7850aa9
VS
6572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * gentpl.py: Make mans depend on grub-mkconfig_lib.
660
6612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
664 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
665 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
666
35692881
VS
6672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
670 efi_mmap_size.
671 Reported by: Stuart Hayes.
672
c35fc5bd
VS
6732012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
676
677 * grub-core/Makefile.core.def (mda_text): New module.
678 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
679 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
680 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
681 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
682 here.
683 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
684 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
685 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
686 here.
687 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
688 to ..
689 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
690 ... here
691 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
692 here.
693 * grub-core/term/i386/vga_common.c: Removed.
694 * include/grub/i386/vga_common.h: Likewise.
695 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
696 (grub_vga_cr_bw_read): Likewise.
697 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
698 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
699 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
700 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
701 grub_vga_cr_read/grub_vga_cr_write.
702 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
703
5f91f701
VS
7042012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * configure.ac: Bump version to 2.00.
707 * grub-core/normal/main.c (features): Add feature_200_final.
708
0c4f85f6
VS
7092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7102012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
711
712 * NEWS: Fix unclarity and language mistakes.
713
f923ad22
VS
7142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
717 additional size to 3 pages.
718 Reported by: Stuart Hayes.
719
d22029ba
VS
7202012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * NEWS: Add 2.00 entry.
723
58eee08f
VS
7242012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
727 put explicit "/" for empty path.
728 (wildcard_expand): Improve dprintf.
729
c59bdff7
VS
7302012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
733 it's equal to currnode. This can happen with "" symlink.
734
5e6a440a
YB
7352012-06-27 Yves Blusseau <blusseau@zetam.org>
736
737 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
738 echo shell command by printf command.
739
73a68bcb
VS
7402012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
743 the value returned by firmware is the maximal position, not diumension.
744 (grub_terminfo_output_state): Use a more sane fallback.
745
392a603b
VS
7462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
749
42d0867f
VS
7502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
753 frequency to 150 MHz.
754
489509f4
VS
7552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
756
757 Apple fixes.
758
759 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
760 __APPLE_
761 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
762 definition.
763 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
764
9f3fc883
VS
7652012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
766
767 Handle slash in HFS label.
768
769 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
770 (grub_hfs_dir): Tanslate slash.
771 (grub_hfs_label): Don't translate slash.
772
54853fd7
VS
7732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
776 network protocol listing since it introduces problematic dependency on
777 net module.
778
4dc02ddf
VS
7792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
782
c50c867d
VS
7832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Init video early on yeeloong to avoid being rebooted by watchdog.
786
787 * grub-core/Makefile.am (gensm712): New target.
788 (sm712_start.S): Likewise.
789 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
790 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
791 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
792 description.
793 * include/grub/vga.h: Move registry definitions to...
794 * include/grub/vgaregs.h: ... here.
795
5f92c8a1
VS
7962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
799 signedness.
800
e9e6f111
VS
8012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
804 platforms with firmware disk drivers in the core.
805
754ad9eb
VS
8062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
809 informative verbose message.
810 (read_lv): Handle 64-bit segment size.
811
315654c2
VS
8122012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
815
fb022c79
VS
8162012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
819 character but still remove trainling spaces.
820 (grub_fat_label): Ignore archive flag.
821
8645f72c
VS
8222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
825 cast between linux_kernel_header and linux_kernel_params.
826
36498496
VS
8272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
830 type for size.
831 (grub_raid6_recover_func_t): Likewise.
832 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
833 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
834
0b5ea6b8
VS
8352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
838
650cfcfe
GS
8392012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
840
841 Fix overflow.
842
843 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
844 [__NetBSD__]: Add explicit cast before bitshift.
845
8a4d6a44
VS
8462012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * configure.ac: Bump to 2.00~rc1.
849
2fb97ed3
VS
8502012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
853 half of $a0.
854
1fa097dc
VS
8552012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8562012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
857
858 * docs/grub.texi: Fix search syntax.
859 (Multi-boot manual config): Put msdos rather than GPT example.
860 Grammar corrections.
861
c890ba78
VS
8622012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
865
0f92dca7
VS
8662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
869
3988c4a0
VS
8702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
873 message on double free. Put the value of magic in case of mismatch.
874
9e86d4c5
VS
8752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Speed-up video on yeeloong.
878
879 * grub-core/video/sm712.c (framebuffer): Remove render_target and
880 add cached_ptr.
881 (grub_video_sm712_video_fini): Unmap cached_ptr.
882 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
883 (grub_video_sm712_set_active_render_target): Removed.
884 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
885 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
886 sync caches.
887
ed24c312
VS
8882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Avoid flushing the same line multiple times on loongson.
891
892 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
893 Step in 32 bytes and not 1 byte.
894 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
895 Likewise.
896
d1718e7d
VS
8972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
900 subvolumes.
901
982f1909
VS
9022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Implement flow control for http.
905
906 * grub-core/net/http.c (parse_line): Handle response 206.
907 (http_receive): Stall if too many packets are in the queue.
908 (http_establish): Fix range header.
909 (http_seek): Fix double free.
910 (http_close): Likewise.
911 (http_packets_pulled): New function.
912 (grub_http_protocol): Set http_seek
913 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
914 (ack_real): Set window depending on i_stall.
915 (grub_net_send_tcp_packet): Likewise.
916 (grub_net_tcp_stall): New function.
917 (grub_net_tcp_unstall): Likewise.
918 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
919 (grub_net_tcp_unstall): Likewise.
920
bd407d6e
VS
9212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/net/tftp.c: Decrease stall to 50 packets.
924
c7564b8e
VS
9252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
928
a3706162
VS
9292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * tests/util/grub-shell.in: Fix a typo.
932
b27069e0
VS
9332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Implement flow control for tftp.
936
937 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
938 packets but stop only if stop condition is satisfied.
939 (grub_net_fs_read_real): Call packets_pulled after real read. Use
940 `stall' instead of `eof' as stop condition.
941 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
942 (http_err): Likewise.
943 * grub-core/net/tftp.c (ack): Replace the first argument with data
944 instead of socket.
945 (tftp_receive): Stall if too many packets are in wait queue.
946 (tftp_packets_pulled): New function.
947 (grub_tftp_protocol): Set packets_pulled.
948 * include/grub/net.h (grub_net_packets): New field count.
949 (grub_net_put_packet): Increment count.
950 (grub_net_remove_packet): Likewise.
951 (grub_net_app_protocol): New field `packets_pulled'.
952 (grub_net): New field `stall'.
953
6b9cfac6
VS
9542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
957 sync part to handle them.
958
f35abd81
VS
9592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
962 * grub-core/net/drivers/ieee1275/ofnet.c
963 (grub_ieee1275_net_config_real): Likewise.
964
0e7ec820
VS
9652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
968 the direct route for server/gateway.
969
9d611a31
VS
9702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
973 IP address to server name since we may not hame the DNS.
974
418f45ab
VS
9752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
978 freeing random buffer on failure.
979 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
980
44a0efc1
VS
9812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
984
531e2241
VS
9852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
988 reserved bytes.
989 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
990 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
991 Handle malloc error correctly.
992
cde393c9
VS
9932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
996 blocks.
997
538478d0
VS
9982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1001 increment.
1002
9b55efe0
VS
10032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1006 none is explicitly specified.
1007
9eb832c3
VS
10082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1011 while reallocating.
1012
d6b7c7c9
VS
10132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Respect netmask from bootp/dhcp.
1016
1017 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1018 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1019 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1020 into ...
1021 (grub_net_add_ipv4_local): ... this.
1022 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1023 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1024 (grub_net_add_ipv4_local): New proto.
1025
67caf9eb
VS
10262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1029 determining EFI memory map size.
1030
43657558
VS
10312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1034
eb6d0dd3
VS
10352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1038 when looking for partition separator.
1039
31230544
VS
10402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1043 Escape commas.
1044
918a2517
VS
10452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Restructure FAT driver to avoid hook in label reading as it hits a
1048 GCC bug.
1049
1050 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1051 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1052 (grub_fat_iterate_dir): Split into ...
1053 (grub_fat_iterate_init): ... this, ...
1054 (grub_fat_iterate_fini): ... this, ...
1055 (grub_fat_iterate_dir_next): ... and this. All users updated.
1056
9f1d654e
VS
10572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1060 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1061 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1062 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1063 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1064 New fields last_key and last_key_time.
1065 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1066 extended key-esc into extended key-extended key.
1067
52f0f643
VS
10682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Avoid unnecessary memcpy of whole video buffer.
1071
1072 * grub-core/video/fb/video_fb.c (dirty): New struct.
1073 (framebuffer): Add members current_dirty and previous_dirty.
1074 (dirty): New function.
1075 (grub_video_fb_fill_rect): Update dirty.
1076 (common_blitter): Likewise.
1077 (grub_video_fb_scroll): Likewise.
1078 (doublebuf_blit_update_screen): Copy only dirty part.
1079 (doublebuf_pageflipping_update_screen): Likewise.
1080 (grub_video_fb_doublebuf_blit_init): Init dirty.
1081 (doublebuf_pageflipping_init): Likewise.
1082 (grub_video_fb_setup): Likewise.
1083
e169a180
VS
10842012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1087 poll rate.
1088
48556879
VS
10892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Fix wildcard regexp dot and other special characters handling.
1092 Reported by: Robert Mabee.
1093
1094 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1095 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1096 (split_path): Trigger expansion on '?'.
1097 (unescape): New function.
1098 (wildcard_expand): Unescape parts copied without globbing.
1099 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1100 (grub_script_arglist_to_argv): Don't unescape expansions.
1101
0494408e
VS
11022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * include/grub/net.h (grub_net_card): New member txbufsize.
1105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1106 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1107 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1108 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1109 txbufsize.
1110 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1111 compatible property to check for macs. Set
1112 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1113 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1114 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1115 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1116 (send_card_buffer): Use txbuf.
1117 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1118 nested function out of the parent while on it.
1119
cc35fe8f
VS
11202012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1123 presence check.
1124 (grub_ieee1275_net_config_real): Fix config pointer.
1125
970a0a09
VS
11262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1129 filename parsing to non-block devices.
1130
3e19bf87
VS
11312012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1134
c62d1a0c
VS
11352012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1138 All users updated.
1139
ef76bec3
VS
11402012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1143 UUID search command even if hints probing failed.
1144
11452012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1146
1147 * po/POTFILES.in: Regenerated.
1148
70aaf305
VS
11492012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 Speed-up video on fuloong.
1152
1153 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1154 New function.
1155 (grub_pci_device_unmap_range): Handle non-cached address.
1156 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1157 add direct_ptr.
1158 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1159 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1160 (grub_video_sis315pro_set_active_render_target): Removed.
1161 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1162 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1163 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1164 sync caches.
1165 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1166 New proto.
1167
10400f0b
VS
11682012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * docs/grub.texi (Multi-boot manual config): New section.
1171
ba67e2c6
VS
11722012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 Avoid slow read-back from VRAM.
1175
1176 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1177 Move from here ...
1178 * grub-core/video/fb/video_fb.c
1179 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1180 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1181 (front_target): Remove front_target. Add pages.
1182 (grub_video_fb_init): Skip setting front_pages.
1183 (grub_video_fb_fini): Likewise.
1184 (doublebuf_blit_update_screen): Use pages.
1185 (grub_video_fb_doublebuf_blit_init): Likewise.
1186 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1187 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1188 (grub_video_fb_setup): Prefer doublebuffing.
1189
377c98cb
VS
11902012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1193 gzio.
1194
eac49cff
VS
11952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 Add loongson tests.
1198
1199 * tests/util/grub-shell.in: Handle loongson.
1200 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1201 drivers.
1202 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1203 Reboot instead of shutdown if REBOOT is defined.
1204
0321415e
VS
12052012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1208 sized ports since unlike on real hardware qemu supports only 32-bit
1209 regs.
1210
3f2bdd8f
VS
12112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1214 * util/grub-mkrescue.in: Handle loongson.
1215
29a049c9
VS
12162012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1219 Set is_part appropriately.
1220 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1221 names. Canonicalize partition without full disk.
1222
4abde346
VS
12232012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Revert usb-quiesce since it's wrong.
1226
1227 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1228 (grub_ofdisk_init): Don't do quiesce.
1229
61f1d93b
VS
12302012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1233 PowerMac workaround to Xserves as well.
1234 Information supplied by: Benjamin Herrenschmidt.
1235
a09eb541
VS
12362012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Don't assume that beginning address is also the entry point on ppc.
1239
1240 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1241 (grub_linux_boot): Use linux_entry.
1242 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1243 (grub_linux_load64): Likewise.
1244
505b3c9b
VS
12452012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1248
cbe0b4ef
VS
12492012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1252 needlessly lose the console.
1253
3006e981
VS
12542012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1257 space.
1258
4e5a96b0
VS
12592012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1260
7da036bb
VS
1261 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1262 than current grub_get_rtc() not implemented when booted with
1263 coreboot without TSC.
1264
1265 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1266 Add machine/time.h to kernel headers on loongson.
1267 * grub-core/Makefile.core.def (kernel): Remove
1268 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1269 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1270 (grub_get_rtc): Likewise.
1271 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1272 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1273 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1274 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1275 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1276 rather than installing known non-working time source.
1277 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1278 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1279 * include/grub/time.h: Don't include machine/time.h.
1280 * include/grub/efi/time.h: Removed.
1281 * include/grub/i386/efi/time.h: Likewise.
1282 * include/grub/i386/ieee1275/time.h: Likewise.
1283 * include/grub/powerpc/ieee1275/time.h: Likewise.
1284 * include/grub/sparc64/ieee1275/time.h: Likewise.
1285 * include/grub/x86_64/efi/time.h: Likewise.
1286
12872012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1290
1291 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1292 value.
1293 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1294 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1295 with dotless variants when any combining above is present.
1296
5561c22d
VS
12972012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1300 text and not binary.
1301
96f7e60e
VS
13022012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Stop polling as soon as we have the packet we were waiting for.
1305
1306 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1307 All users updated.
1308 * grub-core/net/arp.c (have_pending): New var.
1309 (pending_req): Likewise.
1310 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1311 stop indicator.
1312 (grub_net_arp_receive): Set have_pending.
1313 * grub-core/net/dns.c (recv_data): New field stop.
1314 (recv_hook): Set stop.
1315 (grub_net_dns_lookup): Init stop and use as stop condition.
1316 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1317 condition.
1318 * grub-core/net/net.c (grub_net_poll_cards): New argument
1319 stop_condition. Stop when it goes true.
1320 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1321 indicator.
1322 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1323
3e747239
VS
13242012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 Keep TX and RX buffers on EFI rather than always allocate new ones.
1327
1328 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1329 card. All users updated.
1330 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1331 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1332 (get_card_packet): Likewise.
1333 (grub_efinet_findcards): Init new fields.
1334
f695e99a
VS
13352012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1338 compilation error on sparc64.
1339
9e5e66d1
VS
13402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Use ITC on IA64 rather than broken routine based on daytime.
1343
1344 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1345 ia64.
1346 (grub_get_rtc) [__ia64__]: Likewise.
1347 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1348 (get_itc): New function.
1349 (grub_rtc_get_time_ms): Likewise.
1350 (grub_machine_init): Calibrate ITC.
1351 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1352 Keep only on non-ia64. Don't export since it's broken and used only
1353 if TSC is unavailable.
1354
a1767404
VS
13552012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1358 even if it's used.
1359 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1360 Skip if parent is unused.
1361
34b2bced
VS
13622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1365
5e619f40
VS
13662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 Fix wildcard escaping.
1369
1370 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1371 * grub-core/script/execute.c (wildcard_escape): .. to here.
1372 Don't escape dot.
1373 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1374 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1375 Don't escape dot.
1376 * grub-core/script/execute.c (gettext_append): Always escape.
1377 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1378 * grub-core/script/yylex.l: Don't cut away the escaping.
1379 * tests/grub_script_echo1.in: Add tests with wildcard.
1380
c8ca5855
VS
13812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1384 (ftdi_hw_configure): Likewise.
1385 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1386 define.
1387 (real_config): Handle 1.5 stop bits.
1388 (pl2303_hw_configure): Likewise.
1389
7183452c
VS
13902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * Makefile.am: Add ppc linux bootcheck.
1393 * grub-core/tests/boot/linux-ppc.cfg: New file.
1394 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1395
f57c84cd
VS
13962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * tests/grub_script_expansion.in: Skip network protocols.
1399
ecfc6207
VS
14002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1403
8d03d284
VS
14042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1407 --rom-directory.
1408 Add -graft-points.
1409
61c42af0
VS
14102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 ESCC serial driver for conducting sautomated tests in qemu.
1413 Not tested on real hardware.
1414
1415 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1416 * grub-core/term/ieee1275/escc.c: New file.
1417 * grub-core/Makefile.core.def (escc): New module.
1418
08fd1291
VS
14192012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1422 invalid on error.
1423 (serial_hw_fetch): Don't read invalid handle.
1424 (serial_hw_put): Don't write into invalid handle.
1425
08dafeea
VS
14262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 Add a 1.5 stop bits value.
1429
1430 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1431 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1432 GRUB_SERIAL_STOP_BITS_1_5.
1433
9068fdcf
VS
14342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1437 value rather than let it uninited.
1438
f4d5820f
VS
14392012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/commands/wildcard.c (+check_file): New function.
1442 (wildcard_expand): Don't expand to non-existing files, expand with
1443 suffix and not attempt to expand if not needed.
1444
3d2de9a7
VS
14452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1448 out of partitions containing other partitions.
1449
c5c81ff9
VS
14502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1453 on some qemu versions with GRUB.
1454
1455 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1456 define.
1457 (grub_openbsd_bootarg_pcibios): New struct.
1458 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1459 Add PCIINFO.
1460
08a14e0b
VS
14612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * tests/util/grub-shell.in: Trim firmware output on EFI.
1464
cede3ca3
VS
14652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1468 and coreboot since it's already in kernel.
1469
558d3a60
VS
14702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1473 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1474 to here. New return value start. All users updated.
1475 Recursively scan linear mappings.
1476 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1477 proto.
1478 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1479 Use grub_util_get_dm_node_linear_info.
1480 * util/getroot.c (convert_system_partition_to_system_disk): Use
1481 grub_util_info rather than grub_dprintf.
1482 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1483
60fde14d
VS
14842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1487
1488 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1489 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1490
24bd8838
VS
14912012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * include/grub/types.h (grub_set_unaligned64): New function.
1494 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1495 (setup): Likewise.
1496
7bc06a49
VS
14972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1500 (grub_ofdisk_fini): Quiesce USB devices.
1501
49cea015
VS
15022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1505 caches.
1506
8dcbe03b
VS
15072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1510
5b258735
VS
15112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/disk/pata.c (grub_pata_pio_read)
1514 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1515 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1516
37ba07eb
VS
15172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 Extend automated tests to qemu-mips.
1520
1521 * Makefile.am: reorganise tests and enable qemu-mips.
1522 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1523 * grub-core/tests/boot/linux.init-mips.S: New file.
1524 * tests/partmap_test.in: Handle ata0 disks.
1525 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1526 non-pc i386.
1527
070038f8
VS
15282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1531 ia64.
1532 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1533 quotes while on it.
1534
004be2cd
VS
15352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1538 (grub_halt): Likewise.
1539 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1540
b1622487
VS
15412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/term/serial.c (grub_serial_register)
1544 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1545 the behaviour in line with x86 platforms.
1546
b7b4ab33
VS
15472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1550 (grub_ata_strncpy): Likewise.
1551 (grub_ata_identify): Add missing byteswaps.
1552
5e3535ae
VS
15532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1556 byte-swap.
1557 (screen_read_char): Likewise.
1558 (grub_vga_text_cls): Likewise.
1559
c21b17e6
VS
15602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1563 filenames.
1564 (make_file_path): Likewise.
1565
bf293dec
VS
15662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1569 machines.
1570 Tested by: Paulo Flabiano Smorigo.
1571 Crucial information about API supplied by: Coleen <Last name unknown>.
1572 Reviewed by: Coleen <Last name unknown>.
1573
81f6ef0e
VS
15742012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * util/grub-mkimage.c: Disable -Wcast-align.
1577
7284143a
VS
15782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1581 as they are fatal.
1582
b99f3e00
VS
15832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1586
944f752d
VS
15872012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * util/grub-probe.c (escape_of_path): Fix double free.
1590
6cce6f38
VS
15912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/commands/videoinfo.c (hook): Show pitch.
1594
1e1eb50e
VS
15952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1598
1c715b5a
VS
15992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1602 (probe): Add ieee1275 to OFW devices.
1603
007ae52d
VS
16042012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1607
4557a36d
VS
16082012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Handle IBM OFW path.
1611
1612 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1613 available.
1614 (of_path_of_scsi): Handle vdevice.
1615
efbeefe9
VS
16162012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1619 Allocate in multiples of 16 to avoid adding a few bytes free region the
1620 windows bugs upon.
1621
15a940bb
VS
16222012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1625 Allocate in multiples of 16 to avoid adding a few bytes free region the
1626 windows bugs upon.
1627 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1628
6e5efd60
VS
16292012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1632 resolutions.
1633 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1634 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1635
0d3d137e
IS
16362012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1637
1638 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1639
45dbe300
VS
16402012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1643 resulted in \\ at the end of the line.
1644
6d8db947
VS
16452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1648 (grub_parser_cmdline_state): Likewise.
1649 (grub_parser_split_cmdline): Likewise.
1650
de89d338
VS
16512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1654 /dev/root and /dev/dm-*.
1655
00d41dee
VS
16562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1659 fix partially stale display.
1660
f95d1f11
VS
16612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1664 substraction.
1665
6297e197
VS
16662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1669 Fix MBR remapping workaround.
1670 (grub_util_biosdisk_read) [__linux__]: Likewise.
1671
8a7ecad3
VS
16722012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1675
2b34f944
VS
16762012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * configure.ac: Bump to beta6.
1679
684aef11
CW
16802012-05-31 Christer Weinigel <christer@weinigel.se>
1681
1682 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1683
05b0bb91
VS
16842012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1687 (grub_cmd_linux): Likewise.
1688
bda36bfa
CW
16892012-05-31 Christer Weinigel <christer@weinigel.se>
1690
1691 Fix EHCI low-speed.
1692
1693 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1694 (GRUB_EHCI_MULT_TWO): Likewise.
1695 (GRUB_EHCI_MULT_THREE): Likewise.
1696 (GRUB_EHCI_CMASK_MASK): New enum value.
1697 (GRUB_EHCI_SMASK_MASK): Likewise.
1698 (GRUB_EHCI_CMASK_OFF): Likewise.
1699 (GRUB_EHCI_SMASK_OFF): Likewise.
1700 (grub_ehci_pci_iter): Enable periodic schedule.
1701 (grub_ehci_parse_notrun): Likewise.
1702 (grub_ehci_restore_hw): Likewise.
1703 (grub_ehci_setup_qh): Set flags for low speed transfers.
1704 (grub_ehci_find_qh): Use periodic list for low speed.
1705 (grub_ehci_setup_transfer): Check periodic queue as well.
1706 (grub_ehci_check_transfer): Likewise.
1707 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1708
e12bcb1c
PFS
17092012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1710
1711 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1712 parameter is used.
1713
bcc75fb3
PJ
17142012-05-31 Peter Jones <pjones@redhat.com>
1715
1716 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1717 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1718 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1719
f19cb95e
VS
17202012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1723 uninited variable. Allocate at least setup_sects.
1724
a4e5ca80
VS
17252012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Fix handling of EFI with big memory maps.
1728
1729 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1730 (real_mode_mem): Likewise.
1731 (real_mode_target): Likewise.
1732 (real_mode_pages): Likewise.
1733 (prot_mode_pages): Likewise.
1734 (linux_params): New var.
1735 (linux_cmdline): Likewise.
1736 (free_pages): Don't set real mode variables.
1737 (allocate_pages): Don't allocate real mode memory.
1738 (grub_e820_add_region): Remove the limit.
1739 (grub_linux_boot): Allocate and copy real mode memory.
1740 (grub_linux_unload): Free linux_cmdline.
1741 (grub_cmd_linux): Use temporary storage for parameters.
1742 (grub_cmd_initrd): Likewise.
1743 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1744 (linux_kernel_params): Make it 1K big.
1745
ddb73558
VS
17462012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * Makefile.util.def: Remove -Wno-format.
1749 * grub-core/Makefile.core.def: Likewise.
1750
1c4afb60
VS
17512012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * tests/cmp_unit_test.c: Add missing failure message.
1754 * tests/example_unit_test.c: Likewise.
1755 * tests/printf_unit_test.c: Likewise.
1756
941e3a6d
VS
17572012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1760 relaxation of protective MBR requirements.
1761
b105df76
VS
17622012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * configure.ac: Add condition for COND_HOST_XNU.
1765 * Makefile.util.def (10_xnu): New script.
1766 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1767
84e1569e
VS
17682012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1771 objconv bug.
1772
130c0f77
VS
17732012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1776 Binary on other platforms stays identical.
1777
6fd0b143
VS
17782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1781 Apple.
1782
0af1751d
VS
17832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1786
176d5f7d
VS
17872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1790 rather than defining size_t ourselves to avoid conflict.
1791
7de5e20a
VS
17922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1795 initialisation to avoid __bzero reference.
1796
f7143efe
VS
17972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1800 version.
1801 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1802 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1803 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1804 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1805 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1806
e6ad0555
VS
18072012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1810 * grub-core/kern/misc.c: Likewise.
1811 * grub-core/loader/i386/xnu.c: Likewise.
1812 * include/grub/i386/tsc.h: Likewise.
1813 * include/grub/symbol.h: Likewise.
1814
4a5a3c4a
VS
18152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1818 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1819 on older compiler.
1820
037f6d90
VS
18212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1824 Implement Apple flavour.
1825 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1826
f7194551
VS
18272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1830 (memmove) [__APPLE__]: Likewise.
1831 (memcpy) [__APPLE__]: Likewise.
1832 (memset) [__APPLE__]: Likewise.
1833 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1834 (memmove) [__APPLE__]: Likewise.
1835 (memcpy) [__APPLE__]: Likewise.
1836 (memset) [__APPLE__]: Likewise.
1837
85a730ca
VS
18382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1841 dependency discard.
1842
40e80b94
VS
18432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/normal/main.c (read_config_file): Provide config_file and
1846 config_directory.
1847 * util/grub.d/41_custom.in: Use config_directoy when available.
1848
9da59c32
VS
18492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1852 (grub_bfs_dir): Likewise.
1853
2787ae53
PJ
18542012-05-27 Peter Jones <pjones@redhat.com>
1855
1856 The old code gives arguments to a printf function which can't work
1857 correctly, and the compiler complains.
1858
1859 * grub-core/tests/example_functional_test.c (example_test): Add
1860 missing text.
1861 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1862 * include/grub/test.h (grub_test_assert_helper): New declaration.
1863 (grub_test_assert): Use grub_test_assert_helper.
1864
526ef13d
VS
18652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1868 (exfctest): ... this to avoid overlong filenames.
1869 All users updated.
1870
20dd511c
VS
18712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 Handle "." and ".." on squashfs.
1874
1875 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1876 Make inode numbers into stack.
1877 (grub_squash_read_symlink): Use stack.
1878 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1879 (make_root_node): Fill stack.
1880 (grub_squash_open): Use stack.
1881
1d80c62a
VS
18822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1885 freeing.
1886
d336f652
VS
18872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1890 stderr on test calls.
1891
8b43f587
VS
18922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1895
80a3dc3f
VS
18962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1899
47e297d4
VS
19002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1903 "..".
1904
df042ccb
VS
19052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1908 (grub_hfsplus_iterate_dir): Add "." and "..".
1909
fc977f48
VS
19102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1913 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1914
f3250e5f
VS
19152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1918 (find_path): Handle "." and "..".
1919
fd8ed4c5
VS
19202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1923 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1924 (grub_affs_iterate_dir): Handle hardlinks.
1925
4ce776d2
MG
19262012-05-26 Matthew Garrett <mjg@redhat.com>
1927
1928 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1929 (grub_efi_console_fini): Likewise.
1930 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1931 (grub_video_gop_fill_mode_info): Rename to ...
1932 (grub_video_gop_fill_real_mode_info): ... this.
1933 (grub_video_gop_fill_mode_info): New function.
1934 (grub_video_gop_setup): Setup double framebuffer.
1935 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1936 Free offscreen.
1937 (grub_video_gop_swap_buffers): Copy framebuffer.
1938 (grub_video_gop_fini): Free offscreen buffer.
1939 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1940 New enum.
1941 (grub_efi_gop_blt_pixel): New struct.
1942
683031ba
VS
19432012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * gentpl.py: Remove error disabling for objconv.
1946
c2deb798
VS
19472012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * configure.ac: Remove -Wunitialized as it's not available on older
1950 compilers.
1951
19522012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1953
1954 Fix extent overflow comparator.
1955
1956 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1957 (grub_hfsplus_read_block): Set type.
1958 (grub_hfsplus_cmp_extkey): Compare type.
1959
d6b1fd36
VS
19602012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1963
0a9aa0f6
VS
19642012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1967 than 0.
1968
8360e159
VS
19692012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1972 (dejavu_bold_14.pf2): New target.
1973
501b9e4b
VS
19742012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * configure.ac: Fix djvu font detection.
1977
7026b0e2
VS
19782012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1981 ext* instead of ext2.
1982
c2a51ade
VS
19832012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1986 name with \0.
1987
8f803a5d
JU
19882012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1989
1990 * docs/grub-dev.texi: Remove dot from .png.
1991
13c6353f
VS
19922012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1995 protective entry in any slot.
1996 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1997 if protective entry is found in any slot.
1998
1999 Protective entry in non-first slot make no sense but is a widespread
2000 brain damage.
2001
4cf6be1b
VS
20022012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2005
937d1c44
VS
20062012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2009 with old reiserfs.
2010 (grub_reiserfs_open): Don't free root.
2011
021d90ec
VS
20122012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2015 after freeing for safety.
2016
967b2b64
VS
20172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2020 Reported by: Jordan Uggla.
2021
34274d02
JU
20222012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2023
967b2b64
VS
2024 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2025 actual implementation. Specifically, clarify that the grub menu will
2026 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2027 passed.
34274d02 2028
dcaaae9d
BH
20292012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2030
2031 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2032 of r0.
2033
7086ad52
VS
20342012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Remove unjustified hard dependency of normal.mod on gfxterm.
2037
2038 * include/grub/term.h (grub_term_output): New member fullscreen.
2039 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2040 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2041 (grub_gfxterm): Set .fullscreen.
2042 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2043 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2044
37ed2c9b
VS
20452012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2048 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 2049 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 2050
a4469c88
VS
20512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2054
4e461486
VS
20552012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2058 a bad FS.
2059
aa78f5c4
VS
20602012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2063 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2064
197626b5
VS
20652012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2068 (grub_jfs_mount): Fill caseins.
2069 (grub_jfs_find_file): Respect caseins.
2070
8ad3f28c
VS
20712012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2074 through UTF-16.
2075
0c6c324e
VS
20762012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2079 New argument origpath. All users updated.
2080
c6666ba6
VS
20812012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2084 (read_attr): Ensure that we read start of possibly compressed block.
2085
e28e5fe5
VS
20862012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2089 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2090 All users updated.
2091
5fc23ab2
VS
20922012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2095 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2096 (dejavu.pf2): Replace with ...
2097 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2098 this.
2099
79dbc21c
VS
21002012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub.d/20_linux_xen.in: Add missing line.
2103
d2fcfb0c
VS
21042012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2107 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2108 (grub_utf16_to_utf8): Likewise.
2109
5560e9d6
VS
21102012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2113 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2114 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2115 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2116 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2117 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2118
21192012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2120
2121 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2122 a bad FS.
2123
5560e9d6 21242012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2125
2126 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2127 (grub_udf_read_symlink): Handle read_string failure.
2128
5eae3175
VS
21292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2132 comment.
2133
c1ad82db
VS
21342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 Fix handling of UDF symlinks.
2137
2138 * grub-core/fs/udf.c (read_string): New argument outbuf.
2139 All users updated.
2140 (grub_ufs_read_symlink): Rename to ...
2141 (grub_udf_read_symlink): ... this. All users updated.
2142 Handle symlinks with more than one component.
2143
33eca6e0
VS
21442012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2147 symlinks. Replace leading colon with a slash.
2148
57f4a70b
VS
21492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2152 filename.
2153
38c8ee20
VS
21542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2157 match in inner node.
2158
2e57f28f
VS
21592012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2162 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2163 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2164 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2165 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2166 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2167 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2168 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2169 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2170
fe8c2f11
VS
21712012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Use grub-probe and not cmp to check that disk is empty.
2174
2175 * util/grub-install.in: Use grub-probe for zero-check.
2176 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2177 (probe): Handle PRINT_ZERO_CHECK.
2178 (argp_parser): Handle -t zero_check.
2179
21802012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2181
2182 Flush block cache on adding disk to device map.
2183
2184 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2185 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2186 adding.
2187 (read_device_map): Likewise.
2188 (open_device): Flush on opening.
2189
690434e8
VS
21902012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2193 (handle_symlink): Fix off-by-one error.
2194 Canonicalize the target.
2195 (grub_cpio_dir): Canonicalize the name.
2196 Fix memory leak.
2197 Set directory.
2198 (grub_cpio_open): Canonicalize the name.
2199
742d2be6
VS
22002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2203 handling.
2204
3244fe96
VS
22052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2208 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2209
8aeb1837
VS
22102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2213 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2214 All users updated.
8aeb1837 2215
9133fd05
VS
22162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2219 counterpart.
2220
6d521c5b
VS
22212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 Fix UFS1 big file support.
2224
2225 * grub-core/fs/ufs.c (INODE): Removed.
2226 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2227 64-bit.
2228 (INODE_MODE): Simplify.
2229 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2230 (grub_ufs_lookup_symlink): Don't use INODE.
2231
21b82e17
VS
22322012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2235
2236 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2237 (grub_minix_data): Replace log_block_size with block_size.
2238 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2239 (grub_minix_mount): Fill block_size.
2240
22412012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2242
2243 * configure.ac: Bump to beta5.
2244
f417ed04
VS
22452012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Fix wrapped HFS+ handling.
2248
2249 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2250 blocks_start. All users updated.
2251 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2252 wrapping offset.
2253 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2254
607d282b
VS
22552012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Fix long symlinks on reiserfs.
2258
2259 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2260 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2261 (grub_reiserfs_iterate_dir): Save size for non-directories.
2262 (grub_reiserfs_open): Don't reread stat block as we already know the
2263 size.
2264 (grub_reiserfs_read): Split into...
2265 (grub_reiserfs_read_real): ... and ...
2266 (grub_reiserfs_read): ...this.
2267
ae16024d
VS
22682012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Fix non-indexed JFS.
2271
2272 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2273 (grub_jfs_data): New field namecomponentlen.
2274 (grub_jfs_mount): Fill namecomponentlen.
2275 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2276
eea1e26e
VS
22772012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2280 * tests/grub_script_echo1.in: Add tests.
2281
df760f77
VS
22822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * util/grub-install.in: Ignore empty devicetree directory.
2285
5efb817d
B
22862012-05-08 Bean <bean123ch@gmail.com>
2287
2288 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2289 All users updated.
2290 (free_rsm): Free header as well.
2291 (free_old_fragments): Fix memory leak.
2292 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2293 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2294 (destroy_pq): Likewise.
2295 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2296
668ea6d2
VS
22972012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2300 resulting hash as a precaution.
2301
1739b1fe
VS
23022012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2305 '_' in variable names.
2306 * grub-core/net/net.c (grub_net_network_level_interface_register):
2307 Likewise.
2308
6ae485aa
VS
23092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Fix AFFS with non-512B blocks.
2312
2313 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2314 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2315 (grub_affs_data): Replace blocksize with log_blocksize.
2316 (grub_affs_read_block): Fix non-512B blocks.
2317 (grub_affs_read_symlink): Likewise.
2318 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2319 (grub_affs_read): Fix non-512B blocks.
2320 (grub_affs_label): Likewise.
2321 (grub_affs_mtime): Likewise.
2322 (grub_affs_mount): Fix block detection routine.
2323
d20fab84
VS
23242012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Add filesystem mtime to AFFS.
2327
2328 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2329 (aftime2ctime): New function.
2330 (grub_affs_dir): Use aftime2ctime.
2331 (grub_affs_label): Fix return value.
2332 (grub_affs_mtime): New function.
2333 (grub_affs_fs): Add mtime.
2334
e87b10f5
VS
23352012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2338 UTF-8.
2339
7dceec9b
VS
23402012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2343 UTF-8.
2344
2f48221f
VS
23452012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2348
dacd85cf
VS
23492012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2352 flags.
2353 (FLAGS_CASE_SENSITIVE): New enum value.
2354 (cache_entry): New struct.
2355 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2356 cache_size and cache.
2357 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2358 Add log_blocksize and fshelp_flags.
2359 (grub_sfs_read_extent): Handle non-512 blocks.
2360 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2361 (grub_sfs_read_file): Handle non-512 blocks.
2362 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2363 fshelp_flags.
2364 (grub_sfs_read_symlink): Handle non-512 blocks.
2365 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2366 (grub_sfs_dir): Free cache.
2367 (grub_sfs_close): Likewise.
2368
24e9a854
VS
23692012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2372 filesystems.
2373
62ace64d
VS
23742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2377
83b2e89c
VS
23782012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2381
75ccaea3
VS
23822012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2385 (grub_sfs_read_extent): Likewise.
2386 (grub_sfs_read_block): Likewise.
2387 (grub_sfs_mount): Likewise.
2388 (grub_sfs_iterate_dir): Likewise.
2389 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2390 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2391
1b8463f2
VS
23922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 Fix errors on compressed NTFS with 512B clusters.
2395
2396 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2397 types.
2398 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2399 not 0.
2400 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2401 Relax check for inline extents.
2402 (ntfscomp): Return correct -1 on error and not 0.
2403
4f8e368f
VS
24042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * util/grub-install.in: Fix handling of prefix containing spaces.
2407
6f5d5ee8
VS
24082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2411 (grub_squash_read_data): Fix offset byte-swapping.
2412
ce41ab7a
VS
24132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2416 per common usage and preffered in several parts of code.
2417 (grub_memcmp): Likewise.
2418 (grub_strncmp): Likewise.
2419 * include/grub/misc.h (grub_strcasecmp): Likewise.
2420 (grub_strncasecmp): Likewise.
2421 * Makefile.util.def (cmp_test): New test.
2422 (grub_script_strcmp): Likewise.
2423 * tests/cmp_unit_test.c: New file.
2424 * tests/grub_script_strcmp.in: Likewise.
2425 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2426
49717bf4
VS
24272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * include/grub/pci.h: Move enums into no-asm part.
2430
0a308f64
VS
24312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2434
1796965f
ST
24352012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2436
2437 * util/getroot.c (find_hurd_root_device): Try to make error message
2438 and comments to translators clearer.
2439
4e9b2819
VS
24402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2443
076aeb50
VS
24442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2447 btrfs.
2448
19424d94
VS
24492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * docs/grub.cfg: Update.
2452
ebb73076
VS
24532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * docs/grub.texi (PXE): Remove not present variables.
2456
9a1b669c
VS
24572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/net/net.c (defserver_set_env): New function.
2460 (defserver_get_env): Likewise.
2461 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2462
d38bf7d3
VS
24632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2466 entries.
2467
24682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2469
2470 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2471 * grub-core/kern/emu/hostdisk.c: Likewise.
2472
e5e4ca48
ST
24732012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2474
2475 Handle hurd userspace partitions.
2476
2477 * util/getroot.c (find_hurd_root_device): New function.
2478 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2479
56bb5dd5
VS
24802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2483 names.
2484 Reported by: Bastian Blank.
2485
9e8bc27a
VS
24862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2489 crossing page boundary.
2490
aa01499d
VS
24912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 Fix B-tree search in BFS, especially in presence of non-ASCII
2494 characters.
2495
2496 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2497 (find_in_b_tree): Use standard bsearch + btree algorithm.
2498
57006035
VS
24992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2502 and so on.
2503
9d34bb85
MG
25042012-05-03 Matthew Garrett <mjg@redhat.com>
25052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Suspend broadcom cards in order to stop their DMA.
2508
2509 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2510 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2511 (pci): Don't build on x86 EFI.
2512 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2513 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2514 New function.
2515 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2516 stop_broadcom if running on EFI.
2517 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2518 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2519 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2520 (grub_pci_find_capability): New proto.
2521
01aab997
VS
25222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * docs/grub.texi: Remove dot from the extension as it apparently
2525 doesn't work with some makeinfo versions.
2526
fbd8dca6
VS
25272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2530 with GRUB expectance.
2531
dab797f4
VS
25322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2535
1516bfb4
VS
25362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2539 zero after directory block since last entry may be not 0-terminated if
2540 it ends on block boundary. Use continue instead of if spanning whole
2541 loop.
2542
a3a0eace
VS
25432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 Support 4K sectors UDF inline files.
2546
2547 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2548 (grub_udf_extended_file_entry): Likewise.
2549 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2550 All users updated.
2551 (get_fshelp_size): New function.
2552 (grub_udf_read_icb): Read whole block.
2553 (grub_udf_iterate_dir): Likewise.
2554 (grub_udf_dir): Likewise.
2555 (grub_udf_open): Likewise.
2556
c82f16c1
VS
25572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2560
59fd2aac
VS
25612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2564 inline symlinks in addition to workaround.
2565
3b4afb4d
VS
25662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2569
f45c794a
VS
25702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2573
f25cecbd
VS
25742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2577
bb9a34e8
VS
25782012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Fix reiserfs big seek times.
2581
2582 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2583 exact. All users updated.
2584 (grub_reiserfs_read): Use nearest btree search for seeking.
2585 Fix return value on error.
2586
dc478aea
VS
25872012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2590 entries.
2591 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2592 * docs/grub.texi: Update menuentry description.
2593
8db10f47
VS
25942012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2597 crash when embedding onto filesystem.
2598
bcb288ed
VS
25992012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2602 name.
2603
a626fdd7
VS
26042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2607
b2f68477
VS
26082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2611 commit.
2612
ba15b2af
B
26132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26142012-05-01 Bean <bean123ch@gmail.com>
2615
2616 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2617
a188012e
VS
26182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2621 Special behaviour for len = 0 to read whole file isn't used anywhere and
2622 can cause buffer ovewrflows in several places.
2623
f0a53ed2
VS
26242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2627
5ed554f0
VS
26282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Handle RAIDZ on non-512B sectors.
2631
2632 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2633 max_children_ashift.
2634 (fill_vdev_info_real): Fill max_children_ashift.
2635 (read_device): Use max_children_ashift.
2636
ddc58357
VS
26372012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2640
e3282399
VS
26412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2644 disk names.
2645 * docs/grub.texi: Update device.map parts.
2646
ee618bd4
VS
26472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Don't scan into non-diskfilter devices having diskfilter names.
2650
2651 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2652 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2653 handling.
2654 (scan_disk_hook): New function.
2655
bdf88864
B
26562012-04-29 Bean <bean123ch@gmail.com>
2657
2658 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2659 allocation.
2660
32745f51
MK
26612012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2662
2663 * configure.ac: Detect starfield theme font path
2664 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2665
bc95c8c0
VS
26662012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2669 geometry on serial consoles.
2670
147fbcab
VS
26712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2674 because of network consoles.
2675
0f42c889
VS
26762012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2679 handling.
2680
4a3594c9
VS
26812012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2684 falls on Q syndrom.
2685
5cb53879
VS
26862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2689 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2690
b282dfe5
VS
26912012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2694 Allocate at lest 8192 for temporary buffer as required for lzo.
2695
daa59f47
VS
26962012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2699 to cluster_bits, since it's already added in.
2700 (grub_fat_read_data): Likewise.
2701
986748ce
VS
27022012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2705 as long as cluster size is multiple of 512 bytes.
2706
a20f6ad0
VS
27072012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * util/grub-mkrescue.in: Fix locale directory.
2710
385f9abb
VS
27112012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/kern/emu/hostdisk.c (map): Make static.
2714
1c557d30
B
27152012-04-23 Bean <bean123ch@gmail.com>
2716
2717 * util/grub-fstest.c (fstest): Add missing break.
2718
524b5d3a
ST
27192012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2720
2721 Fix hurd build.
2722
2723 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2724 not define nr variable.
fe4824e9 2725 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2726 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2727 grub_find_device): Do not define.
524b5d3a 2728
9a06490c
VS
27292012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Fix kfreebsd compile and behaviour.
2732
2733 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2734 format-security.
2735 * util/getroot.c: Fix wait.h include.
2736 (grub_guess_root_devices): Error if grub_find_device fails.
2737 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2738 (grub_util_get_dev_abstraction): Likewise.
2739 (grub_util_pull_device): Likewise.
2740 (grub_util_get_grub_dev): Likewise.
2741 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2742
48143d96
VS
27432012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Fix and unify wholedisk detection.
2746
2747 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2748 is_part. All users updated.
2749 (device_is_wholedisk): Removed.
2750 (grub_util_biosdisk_get_grub_dev): Use is_part.
2751
ebbd24f3
VS
27522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2755 mode.
2756
56f7aa1e
VS
27572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * configure.ac: Bump to beta4.
2760
9c815e01
VS
27612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2764 --fs-uuid --set UUID syntax.
2765
59e2651a
VS
27662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2769 disunification.
2770
54e03cfc
VS
27712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2774
81092a75
MK
27752012-04-18 Mads Kiilerich <mads@kiilerich.com>
2776
2777 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2778
f8315e14
MG
27792012-04-18 Mike Gilbert <floppym@gentoo.org>
2780
2781 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2782
1501ac21
B
27832012-04-18 Bean <bean123ch@gmail.com>
2784
2785 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2786 place.
2787
cb7f944e
VS
27882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2791 users updated.
2792 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2793 corresponding to GRUB partitions.
2794 (grub_util_biosdisk_write): Likewise.
2795
b72d44a1
VS
27962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 Scan mdraid before LVM.
2799
2800 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2801 (grub_diskfilter_register_front): ... this.
2802 (grub_diskfilter_register_back): New function.
2803 All users of grub_diskfilter_register updated.
2804
33d918b8
VS
28052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * util/grub-install.in: Fix an automatic target detection bug.
2808
c6ca973d
VS
28092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * util/grub-install.in: New option --efi-directory.
2812
b41be562
VS
28132012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2816 boot services if we have no other choice.
2817
28182012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2821 document it.
2822 * tests/util/grub-shell.in: Update to --directory.
2823
e0595a73
VS
28242012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2827
4ed80652
VS
28282012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2831 (grub_minix_read_file): Likewise.
2832 (grub_minix_read_inode): Likewise.
2833 (grub_minix_find_file): Likewise.
2834 (grub_minix_dir): Likewise.
2835
56008077
VS
28362012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * util/grub-setup.c (setup): Fix partition handling and blocklist
2839 check.
2840
ee520775
VS
28412012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2844 redundant buggy overlap check.
2845
16fc9293
VS
28462012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2849 and grub-mknetdir.
2850
9bab65c4
VS
28512012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2854 kh.loadflags on pre-2.00 kernels.
2855
3c491b47
VS
28562012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Terminate UNDI and PXE before launching the payload to avoid problems
2859 with DMA.
2860
2861 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2862 (grub_loader_flags): ... this. All users updated.
2863 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2864 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2865 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2866 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2867 function.
2868 (grub_pxe_restore): Likewise.
2869 (fini_hnd): New var.
2870 (GRUB_MOD_INIT): Register shutdown hook.
2871 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2872 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2873 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2874 (grub_loader_set): Rename second argument to flags.
2875
851ffada
VS
28762012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2879 written bytes.
2880 (grub_get_num_of_utf8_bytes): New function.
2881 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2882 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2883 executing it.
2884 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2885 (grub_ucs4_to_utf8): Change return type.
2886
491c57a8
VS
28872012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2890 warning.
851ffada
VS
2891 * grub-core/fs/bfs.c (hop_level): Likewise.
2892 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2893
756773df
VS
28942012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/lib/adler32.c: Recode due to license unclearness.
2897
fd556a96
VS
28982012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2901 (test_header): Likewise.
2902
9f9d3f69
VS
29032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Fix --help formatting.
2906
2907 * util/grub-mkconfig_lib.in (print_option_help): New function.
2908 (grub_fmt): Likewise.
2909 * util/grub-install.in: Use print_option_help and grub_fmt.
2910 * util/grub-kbdcomp.in: Likewise.
2911 * util/grub-mkconfig.in: Likewise.
2912 * util/grub-mknetdir.in: Likewise.
2913 * util/grub-mkrescue.in: Likewise.
2914 * util/grub-mkstandalone.in: Likewise.
2915 * util/grub-reboot.in: Likewise.
2916 * util/grub-set-default.in: Likewise.
2917 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2918
561ec77e
VS
29192012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * linguas.sh: Remove autogenerated *.po.
2922
7ec2b021
VS
29232012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * po/README: Move language fetcing to ...
2926 * linguas.sh: ... here.
2927 * po/README: Point to linguas.sh.
2928
a88f3270
VS
29292012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * po/README: Exclude ko.po due to disclaimer problems.
2932
d61357ce
VS
29332012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2936 len = 0.
2937 (grub_gettext_translate_real): Handle 0th string.
2938 (grub_gettext_translate): Ensure that "" isn't translated.
2939
505e41dc
VS
29402012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2943 TRANSLATORS comment.
2944 (grub_diskfilter_print_partmap): Propagate changing of error into
2945 warning.
2946
e44092db
VS
29472012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2950 to uint64_t to prevent overflow.
2951 (grub_diskfilter_lv): Increase start_extent and extent_count
2952 to uint64_t to prevent overflow.
2953
9b83956a
VS
29542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * configure.ac: Increase version.
2957
da0d5b3f
VS
29582012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2961
2962 * po/Rules-translit: New file.
2963 * po/arabic.sed: Likewise.
2964 * po/cyrillic.sed: Likewise.
2965 * po/greek.sed: Likewise.
2966 * po/hebrew.sed: Likewise.
2967 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2968 * po/Makefile.in.in: Add extra_dist4.
2969
ac66b453
VS
29702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2973
2974 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2975 modify names. Introduce MODE_BIGENDIAN.
2976 * grub-core/fs/minix_be.c: New file.
2977 * grub-core/fs/minix2_be.c: Likewise
2978 * grub-core/fs/minix3_be.c: Likewise.
2979 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2980 minix3_be.
2981 * grub-core/Makefile.core.def (minix_be): New module.
2982 (minix2_be): Likewise.
2983 (minix3_be): Likewise.
2984
29852012-04-01 Felix <email@hamburg.de>
2986
2987 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2988 (devs): Add MBP 2011.
2989
0a2d5a82
VS
29902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2993
d1625889
VS
29942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/normal/cmdline.c (print_completion): New field
2997 prompt_len.
2998 (grub_cmdline_get): Handle width properly.
2999
6d36a236
VS
30002012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3003
9576977e
VS
30042012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 3007 after 29th of February.
9576977e 3008
d73ff15d
VS
30092012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Fix exfat endianness handling.
3012
3013 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3014 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3015 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3016 Byte-swap utf16 when necessary.
3017 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3018
bbb39a45
AB
30192012-03-31 Anton Blanchard <anton@samba.org>
30202012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 Fix btrfs endianness handling.
3023
3024 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3025 (lower_bound): Make root uint64_t. Use root in le.
3026 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3027 (find_path): Fix template key init.
3028 (grub_btrfs_dir): Fix mtime byteswap.
3029 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3030
354e0af7
VS
30312012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3034 recursion_depth. Break infinite resursions. All users updated.
3035
4e75f21c
VS
30362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3039 after free.
3040 Reported by: Peter Jones.
3041
25581802
AB
30422012-03-31 Anton Blanchard <anton@samba.org>
3043
3044 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3045 8 bit values.
3046
08fbf92e
VS
30472012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * util/grub-install.in: Fix nvram call for PreP.
3050
5d1182a6
VS
30512012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3054 the error when some elements are missing into a warning.
3055
3f8cdd90
VS
30562012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3059
51006716
CW
30602012-03-28 Colin Watson <cjwatson@ubuntu.com>
3061
3062 * docs/grub.texi (Invoking grub-probe): New section.
3063 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3064
e1bd676b
VS
30652012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Fix tab and wide character handling in editor and menu.
3068
3069 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3070 agglomerate control characters with combining marks.
3071 (bidi_line_wrap): Allow break on tab.
3072 (grub_unicode_get_comb_start): New function.
3073 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3074 and tab correctly.
3075 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3076 with a space.
3077 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3078 fixed_tab_size. All users updated.
3079 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3080 (grub_term_getcharwidth): Handle \t.
3081 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3082 and copy.
3083
22e6a774
VS
30842012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Handle big-endian mdraid.
3087
3088 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3089 * grub-core/Makefile.core.def (mdraid09_be): New module.
3090 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3091 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3092 * grub-core/disk/mdraid_linux_be.c: New file.
3093
3c0eae66
VS
30942012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3097
b6cf74c9
VS
30982012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3101 missing quotes which caused confusion among translators.
3102
83c93b9c
VS
31032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * util/grub-mkconfig_lib.in: Fix typo.
3106
ac6fd218
VS
31072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3110 spaces.
3111 * tests/grub_script_leading_whitespace.in: New file.
3112 * Makefile.util.def (grub_script_leading_whitespace): New test.
3113
ba287dd8
VS
31142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3117 to work.
3118
d2d58d0a
VS
31192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3122 starts with control character.
3123
0382d9bb
VS
31242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3127 overflow.
3128 (grub_gdb_outbuf): Likewise.
3129
d83ff9f9
VS
31302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3133 zero terminator. Fixes a crash.
3134
2282da4a
VS
31352012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3138 beyond 4 GiB.
3139 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3140 images independently of preffered adderss field.
3141
0ae4f0bd
VS
31422012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3145 * grub-core/commands/regexp.c: Likewise.
3146 * grub-core/loader/i386/linux.c: Likewise.
3147 * grub-core/partmap/msdos.c: Likewise.
3148 * grub-core/script/execute.c: Likewise.
3149 * grub-core/term/gfxterm.c: Likewise.
3150
546fbe9b
VS
31512012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 Add variable parsing in $"..." and fix several mismatches with bash.
3154
3155 * Makefile.util.def (grub_script_gettext): New test.
3156 * grub-core/script/execute.c (parse_string): New function.
3157 (gettext_append): Likewise.
3158 (grub_script_arglist_to_argv): Use gettext_append.
3159 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3160 * tests/grub_script_gettext.in: New file.
3161
9fdb2d7b
VS
31622012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Fix handling of leading spaces in scripts.
3165
3166 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3167 spaces.
3168 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3169 other than skipping \r. All users updated.
3170 * tests/grub_script_echo1.in: Add space-related tests.
3171 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3172
1a1ac4f6
VS
31732012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3176
b63d89b6
VS
31772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * configure.ac: Bump up the version to beta2.
3180
17f38c0f
VS
31812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 Fix gettext reload bugs (e.g. inability to disable gettext
3184 once enabled).
3185
3186 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3187 main_context and secondary_context. All functions updated.
3188 (grub_gettext_translate): Rename to ...
3189 (grub_gettext_translate_real): ... this. Return NULL on failed
3190 translate.
3191 (grub_gettext_translate): Handle secondary context.
3192 (grub_gettext_delete_list): Close file and zero-out the context.
3193 (grub_mofile_open): Don't call grub_gettext_delete_list.
3194 Don't close file.
3195 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3196 if locale="" to avoid pointless error message.
3197 (grub_gettext_env_write_lang): Update lang even if load fails.
3198 Handle secondary context.
3199 (grub_gettext_reread_prefix): New function.
3200 (read_main): Likewise.
3201 (read_secondary): Likewise.
3202 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3203 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3204 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3205 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3206
8e56f870
VS
32072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * configure.ac: Decrease warning level to avoid spurious warnings and
3210 to be able to compile with GCC 4.2.
3211 * Makefile.util.def: Remove -Wno-error=logical-op.
3212
82f6d455
WB
32132012-03-10 William Bittner <william.bittner@gmail.com>
3214
3215 * util/import_unicode.py: Add missing brackets around string for
3216 python 3 support.
3217
1ecd61a4
VS
32182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Fix efi chainloader on network root.
3221
3222 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3223 network devices.
3224 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3225 New function.
3226
14361ee8
VS
32272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3230 unused show_text member.
3231 * docs/grub.texi: Document "text" property.
3232
922aabf3
VS
32332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3236 in dprintf.
3237
ec316771
VS
32382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Fix IMSM handling on Fedora.
3241
3242 * util/getroot.c (grub_util_is_imsm): New function.
3243 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3244
0f021838
VS
32452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * Makefile.am: Strip gold section.
3248 * conf/Makefile.common: Likewise.
3249 * gentpl.py: Likewise.
3250 * grub-core/Makefile.core.def: Likewise.
3251 * grub-core/genmod.sh.in: Likewise.
3252
1039c8eb
VS
32532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3256 * util/grub.d/20_linux_xen.in: Likewise.
3257 Based on Debian patch.
3258
6dd412cd
VS
32592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * util/grub.d/10_linux.in: Fix syntax error resulting in
3262 Richard Laager's patch.
3263 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3264
3fd8bae5
VS
32652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3268 dependencies.
3269
7eea1671
RL
32702012-03-10 Richard Laager <rlaager@wiktel.com>
3271
3272 * util/grub.d/10_linux.in: Fix ZFS root passing.
3273
e8e0566b
VS
32742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3277 * grub-core/commands/xnu_uuid.c: Likewise.
3278 * grub-core/loader/efi/appleloader.c: Likewise.
3279 * grub-core/script/execute.c: Likewise.
3280 * grub-core/script/main.c: Likewise.
3281 * util/grub-mkfont.c: Likewise.
3282
1acc5b1f
VS
32832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * util/grub-mkfont.c (options): Use more appropriate "select" that
3286 "set" for face index.
3287
35d70620
VS
32882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * util/grub-editenv.c (options): Gettextize command summaries.
3291
c9eb96b5
VS
32922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3295 "out of memory" error messagge.
3296
1f493136
VS
32972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3300 of diskfilter for diskfilter on diskfilter support.
3301
6d790129
VS
33022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3305
005f46c9
VS
33062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3309 themes/starfield.
3310
c8f778a0
VS
33112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3314
de1e64eb
VS
33152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3318
c6d54211
VS
33192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3322 of error message.
3323
dd390777
VS
33242012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3327
5fd1c522
VS
33282012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3331 message.
c6d54211 3332 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3333
fae01f6c
VS
33342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3337 Gettextize.
3338 * util/grub-mount.c (options): Likewise.
3339
292fdaff
VS
33402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3343 gettextize.
3344 * grub-core/commands/search_wrap.c (options): Likewise.
3345
ecdbae77
VS
33462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3349
52bfedfa
VS
33502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3353 size calculation.
3354 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3355 none is known.
3356
55b20e58
VS
33572012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3360 "temporary" since it's used in identifier and is limited in space.
3361
fda9d101
VS
33622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * po/POTFILES.in: Regenerate. Include *.h since they contain
3365 translatable strings as well.
3366
6a0295e2
VS
33672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3370 byte-swap on big-endian.
3371 Reported by: Lennart Sorensen
3372
807fb77c
VS
33732012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3376 (allocate_pages): Improve dprintf.
3377 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3378 code32_start. Fill code32_start and kernel_alignment in params.
3379 (grub_cmd_initrd): Use prot_init_space.
3380
61ac50ba
VS
33812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3384
abdd26dd
VS
33852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * util/grub-install.in: Add missing dot at the end of sentence.
3388
6e69da9c
VS
33892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3392 * grub-core/commands/videotest.c: Likewise.
3393 * grub-core/loader/i386/linux.c: Likewise.
3394
4a929343
VS
33952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3398 sentence.
3399 Reported by: Milo Casagrande.
3400
bb51c6c6
VS
34012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3404 * grub-core/commands/gptsync.c: Likewise.
3405 * grub-core/commands/hashsum.c: Likewise.
3406 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3407 * grub-core/commands/legacycfg.c: Likewise.
3408 * grub-core/io/gzio.c: Likewise.
3409 * grub-core/net/net.c: Likewise.
3410 * grub-core/term/gfxterm.c: Likewise.
3411 * grub-core/term/terminfo.c: Likewise.
3412 * grub-core/tests/test_blockarg.c: Likewise.
3413 * grub-core/video/video.c: Likewise.
3414 * util/grub-install.in: Likewise.
3415 * util/grub-mkfont.c: Likewise.
3416
b2b149cb
VS
34172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3420
c7c080ad
VS
34212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3424 Reported by: David Prévot.
c7c080ad 3425
f2e243c0
VS
34262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3429 description.
3430
09963c76
VS
34312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * util/grub-script-check.c (main): Fix a syntax error message which was
3434 unclear.
3435
a50514a8
VS
34362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3439
4650daec
VS
34402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3443 messages.
3444
34452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3446
3447 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3448 without argument.
3449 * util/grub-mount.c (options): Likewise.
3450
bbc5a342
VS
34512012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3454
ef292a87
VS
34552012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/net/http.c: Add TRANSLATORS comments.
3458 * grub-core/normal/cmdline.c: Likewise.
3459 * grub-core/normal/misc.c: Likewise.
3460 * grub-core/partmap/msdos.c: Likewise.
3461 * grub-core/parttool/msdospart.c: Likewise.
3462 * grub-core/script/execute.c: Likewise.
3463 * grub-core/script/main.c: Likewise.
3464 * grub-core/term/terminfo.c: Likewise.
3465 * grub-core/video/bitmap.c: Likewise.
3466 * util/grub-install.in: Likewise.
3467 * util/grub-mkimage.c: Likewise.
3468 * util/grub-mklayout.c: Likewise.
3469 * util/grub-setup.c: Likewise.
3470
0fc19bd0
VS
34712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3474 with similar messages in grub-fstest.
3475
d95862ef
VS
34762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * util/grub-install.in: Unify "option requires an argument" message
3479 with similar messages in other files.
3480 * util/grub-mkconfig.in: Likewise.
3481
b7308f90
VS
34822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * util/grub-set-default.in: Replace printf with gettext_printf (the
3485 string in in question is already translated from grub-reboot)
3486
559dc587
VS
34872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * configure.ac: Bump up the version to beta1.
3490
1a11761f
VS
34912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3494 case when min_align = 0.
3495
24539abd
VS
34962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3499 and fix a case when line_start overflows.
3500
32bd735b
VS
35012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * util/grub-reboot.in (usage): Mention id posibility.
3504 * util/grub-set-default.in (usage): Likewise.
3505
1a2fd1e6
VS
35062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3509 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3510 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3511 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3512 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3513 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3514 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3515
90eeab76
VS
35162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/commands/menuentry.c (options): Remove
3519 GRUB_ARG_OPTION_REPEATABLE.
3520 Reported by: Andreas Vogel
3521
5ad1be82
AV
35222012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3523
3524 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3525
cb055286
HE
35262012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3527
3528 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3529 error.
3530
93b1cd79
VS
35312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Use sort -V by the idea of Georgi Georgiev.
3534
3535 * util/grub-mkconfig_lib.in (version_sort): New function.
3536 (version_test_numeric): Use version_sort.
3537
0cdc126c
VS
35382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Use submenus in grub-mkconfig.
3541
3542 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3543 * util/grub-mkconfig_lib.in (grub_quote): New function.
3544 (gettext_printf): Use gettext and not gettext_quoted to fix several
3545 messages.
3546 * util/grub.d/10_hurd.in: Use submenus.
3547 * util/grub.d/10_kfreebsd.in: Likewise.
3548 * util/grub.d/10_linux.in: Likewise.
3549 * util/grub.d/10_netbsd.in: Likewise.
3550 * util/grub.d/20_linux_xen.in: Likewise.
3551 * util/grub.d/30_os-prober.in: Likewise.
3552 * util/grub.d/10_illumos.in: Add missing quoting.
3553 * util/grub.d/10_windows.in: Likewise.
3554
d9bef9bc
VS
35552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Fix menu title instability bug.
3558
3559 * grub-core/commands/menuentry.c (options): New option --id.
3560 (grub_normal_add_menu_entry): New argument id. All users updated.
3561 (grub_cmd_menuentry): Handle --id.
3562 (grub_menu_init): Accept unknown arguments.
3563 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3564 feature_menuentry_options.
3565 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3566 saved_entry.
3567 (get_entry_number): Match with id as well.
3568 * include/grub/menu.h (grub_menu_entry): New member id.
3569 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3570 * util/grub.d/00_header.in: Define menuentry_id_option.
3571 * util/grub.d/10_hurd.in: Define id.
3572 * util/grub.d/10_illumos.in: Likewise.
3573 * util/grub.d/10_kfreebsd.in: Likewise.
3574 * util/grub.d/10_linux.in: Likewise.
3575 * util/grub.d/10_netbsd.in: Likewise.
3576 * util/grub.d/10_windows.in: Likewise.
3577 * util/grub.d/20_linux_xen.in: Likewise.
3578 * util/grub.d/30_os-prober.in: Likewise.
3579
35802012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3581
3582 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3583 "scope" with "body".
3584
7c8d0ce7
VS
35852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3588 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3589 prot_size and prot_file_size.
3590
49de079b
VS
35912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3594 All users updated. If easily=1 require raid-5/-6 to be full.
3595 (is_node_readable): Likewise.
3596 (scan_devices): Scan incomplete but readable LVs at the end.
3597 (grub_diskfilter_memberlist): Pull missing devices.
3598 (insert_array): Skip scanning until device is complete or scan is
3599 done otherwise.
3600 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3601 check.
3602 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3603 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3604
aff05d45
MG
36052012-03-03 Matthew Garrett <mjg@redhat.com>
36062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 Avoid EFI boot services when loading Linux.
3609
3610 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3611 avoid_efi_bootservices. All users updated.
3612 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3613 argument avoid_efi_bootservices. All users updated.
3614 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3615 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3616 align, min_align, relocatable, prefered_address. All users updated.
3617 Allocate avoiding boot services if kernel is relocatable.
3618 (grub_cmd_linux): Check if kernel is relocatable.
3619 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3620 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3621 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3622 avoid_efi_boot_services.
3623 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3624 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3625 (linux_kernel_params): Likewise.
3626
3935dde2
MG
36272012-03-03 Matthew Garrett <mjg@redhat.com>
36282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Use EDID on EFI.
3631
3632 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3633 datasize_out.
3634 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3635 modes. Set gop_handle.
3636 (grub_video_gop_get_edid): New function.
3637 (grub_gop_get_preferred_mode): Likewise.
3638 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3639 (grub_video_efi_gop_adapter): Set .get_edid.
3640 * include/grub/efi/edid.h: New file.
3641 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3642
32107ec0
VS
36432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * util/grub-install.in: Load efivars unconditionally.
3646
e70a2c50
VS
36472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * po/Rules-piglatin: Change suffix from .po-update-en to
3650 .po-update-en-piglatin.
3651
8f9cace1
VS
36522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 Add a pig farm.
3655
3656 * po/piglatin.sed: New file.
3657 * po/en@piglatin.header: Likewise.
3658 * po/Rules-piglatin: Likewise.
3659 * po/README: Add en@piglatin to autogenerated languages.
3660
8f95d002
VS
36612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3664 "Command for ...".
3665 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3666 "Check" since we don't check anything.
3667 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3668 is 64-bit one.
3669 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3670 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3671 (grub_md_sha512_real): Likewise.
3672
805a8dcc
VS
36732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/commands/gptsync.c: Fix typographic quoting.
3676 * grub-core/commands/ieee1275/suspend.c: Likewise.
3677 * grub-core/commands/parttool.c: Likewise.
3678 * grub-core/commands/search_wrap.c: Likewise.
3679 * grub-core/commands/videoinfo.c: Likewise.
3680 * grub-core/gfxmenu/gui_label.c: Likewise.
3681 * grub-core/hello/hello.c: Likewise.
3682 * grub-core/kern/emu/main.c: Likewise.
3683 * grub-core/net/net.c: Likewise.
3684 * grub-core/normal/menu.c: Likewise.
3685 * grub-core/normal/menu_text.c: Likewise.
3686 * grub-core/normal/misc.c: Likewise.
3687 * util/grub-editenv.c: Likewise.
3688 * util/grub-install.in: Likewise.
3689 * util/grub-kbdcomp.in: Likewise.
3690 * util/grub-mkconfig.in: Likewise.
3691 * util/grub-mknetdir.in: Likewise.
3692 * util/grub-mkrescue.in: Likewise.
3693 * util/grub-mkstandalone.in: Likewise.
3694 * util/grub-reboot.in: Likewise.
3695 * util/grub-set-default.in: Likewise.
3696 * util/grub-setup.c: Likewise.
3697 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3698
40211ab8
VS
36992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3702 * grub-core/commands/keystatus.c: Likewise.
3703 * grub-core/commands/loadenv.c: Likewise.
3704 * grub-core/commands/probe.c: Likewise.
3705 * grub-core/commands/regexp.c: Likewise.
3706 * grub-core/commands/true.c: Likewise.
3707 * grub-core/commands/videoinfo.c: Likewise.
3708 * grub-core/disk/cryptodisk.c: Likewise.
3709 * grub-core/disk/ldm.c: Likewise.
3710 * grub-core/disk/loopback.c: Likewise.
3711 * grub-core/disk/luks.c: Likewise.
3712 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3713 * grub-core/kern/disk.c: Likewise.
3714 * grub-core/kern/emu/hostdisk.c: Likewise.
3715
0c7d99c7
VS
37162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3719 * util/grub-install.in: Add missing quote in the comment.
3720
e7d2559b
VS
37212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3724 * grub-core/commands/lsmmap.c: Likewise.
3725 * grub-core/commands/minicmd.c: Likewise.
3726 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3727 * grub-core/commands/regexp.c: Likewise.
3728 * grub-core/gdb/gdb.c: Likewise.
3729 * grub-core/term/gfxterm.c: Likewise.
3730 * util/grub-mkconfig.in: Likewise.
3731 * util/grub-mkfont.c: Likewise.
3732 * util/grub-mklayout.c: Likewise.
3733 * util/grub-mknetdir.in: Likewise.
3734 * util/grub-mkrescue.in: Likewise.
3735 * util/grub.d/30_os-prober.in: Likewise.
3736
49ce9e50
VS
37372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3740 with "Direct color" and "Packed" with "Packed pixel".
3741 (grub_cmd_videoinfo): Simplify legend.
3742
e4b791fa
VS
37432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3746 absolutely unclear error message.
3747
fd1265cb
VS
37482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * util/grub-mkstandalone.in: Remove confusing leftover print.
3751
8822a8a0
VS
37522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3755 comments.
3756 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3757 (GRUB_MOD_INIT): Likewise.
3758 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3759 VGA mode.
3760 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3761 comments.
3762 * util/grub-install.in (usage): Likewise.
3763 Spell ID in whole letters.
3764 Add missing ending dot.
3765 Quote variables.
3766 * util/grub-reboot.in: Fix capitalisation.
3767 * util/grub-set-default.in: Likewise.
3768
937fd0cc
VS
37692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3772 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3773 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3774 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3775 Disable -Werror for -Wdeprecated-declarations.
3776 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3777 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3778 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3779 (grub_util_get_grub_dev): Make luks handling dependent on
3780 HAVE_DEVICE_MAPPER and not __linux__.
3781 (get_win32_path): Fix format security.
3782 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3783 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3784 Don't try grub_find_zpool_from_dir.
3785 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3786 #ifdef-out paresdir.
3787
1bab1ae3
VS
37882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * util/grub-pe2elf.c (usage): Add missing noreturn.
3791 (write_section_data): Rename name to shname to avoid shadowing.
3792 (write_symbol_table): Rename name to symname to avoid shadowing.
3793 Fix write_reloc_section call.
3794
ef023e42
VS
37952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3798 to ensure that it's after the last byte of .text.
3799
48afcb75
VS
38002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * util/ieee1275/ofpath.c (my_isdigit): New function.
3803 (trailing_digits): Use my_isdigit.
3804 (strip_trailing_digits): Likewise.
3805
88d51eff
VS
38062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3809 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3810
17edc2ba
VS
38112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/kern/i386/pc/startup.S: Define __start.
3814
ad5518d7
VS
38152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3818 strip already transforms he format.
3819
9e95e1bf
VS
38202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3823
9cc3ee5c
VS
38242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * util/grub-install.in: Add missing gettext init.
3827 * util/grub-kbdcomp.in: Likewise.
3828 * util/grub-mkconfig.in: Likewise.
3829 * util/grub-mknetdir.in: Likewise.
3830 * util/grub-mkrescue.in: Likewise.
3831 * util/grub-mkstandalone.in: Likewise.
3832 * util/grub-reboot.in: Likewise.
3833 * util/grub-set-default.in: Likewise.
3834 * util/grub.d/00_header.in: Likewise.
3835 * util/grub.d/10_hurd.in: Likewise.
3836 * util/grub.d/10_windows.in: Likewise.
3837 * util/grub.d/30_os-prober.in: Likewise.
3838 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3839
49e08a06
VS
38402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * po/Rules-swiss: Fix header comment.
3843
3809cb41
AV
38442012-02-29 Andreas Vogel <anvoit>
3845
3846 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3847 resulted in leak of arguments.
3848
fa6ec573
VS
38492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3852 reed_solomon_size const definition instead of computing it since
3853 Apple assembler doesn't support the later.
3854
22899b9c
VS
38552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * gentpl.py (kernel): Rewrite Apple part.
3858
a132afc3
VS
38592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3862
9d742bd4
VS
38632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3866 ELF section gap.
3867 (load_image): Likewise.
3868
f04a9a21
VS
38692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * configure.ac: Fix a typo in previous commit.
3872
46cf439c
VS
38732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Don't add -Wl,-N on Apple platform.
3876
3877 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3878 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3879
c4c48c54
VS
38802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/Makefile.core.def (lzma_decompress): Use
3883 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3884
31a12124
VS
38852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/genmod.sh.in: Rewrite the Apple part.
3888
4f3aa1af
VS
38892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3892 comparison.
3893
7bd8b0c7
VS
38942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * acinclude.m4 (grub_CHECK_PIC): New test.
3897 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3898
97304d7c
VS
38992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3902 to avoid the warning.
3903
fb883812
VS
39042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3907 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3908 after. All users updated.
3909
a121c964
VS
39102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Use the common size routine in hostfs so we can read disks as well.
3913
3914 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3915 (grub_util_get_fd_size): ... this. Return size in bytes.
3916 All users updated.
3917 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3918 grub_util_get_fd_size.
3919
c66d6410
VS
39202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3923 Add blocksize retrieval.
3924
dfc8aeb0
VS
39252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * configure.ac: Restore CFLAGS after efiemu check.
3928
403e25a5
VS
39292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3932 Apple bug.
3933
382775d1
VS
39342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3937
6fd4e6e4
VS
39382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3941 (grub_cmd_halt): Likewise.
3942
bea359d6
VS
39432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3946 for local arithmetics.
3947 Break %sp init into 2 instructions.
3948 Add 0 byte at the end.
3949
32eb6ee1
VS
39502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3953 before loops.
3954
e8377389
VS
39552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3958 for context.
3959
8cb17de7
VS
39602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/disk/ldm.c (make_vg): Init part.name.
3963 (grub_ldm_detect): Silence spurious warning.
3964 (grub_util_is_ldm): Likewise.
3965
595717e6
VS
39662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3969 sane value to avoid a spurious warning.
3970
c4b7e588
VS
39712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3974 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3975
59824957
VS
39762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3979 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3980
70115b99
VS
39812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3984 hardcoding the relevant info.
3985
56733740
VS
39862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3989 missing const qualifiers.
3990 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3991
43481481
VS
39922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * util/getroot.c [__APPLE__]: Add missing includes.
3995 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3996
3cb38f01
VS
39972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4000
d9dbf11e
VS
40012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4004 avoid conflicts.
4005
0c42a45d
VS
40062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4009
46c34eb0
VS
40102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4013 and grub_file_close call.
4014
99ce1597
VS
40152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 Add LZSS Mach-O support (needed for new xnu kernelcache).
4018
4019 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4020 * grub-core/loader/lzss.c: New file.
4021 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4022 on Mach-O open failure.
4023 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4024 Don't free cmdsXX in uncompressedXX is set.
4025 (grub_macho_file): Init new fields.
4026 New argument is_64bit. All users updated.
4027 Handle compressed. Error out if no suitable architecture is found.
4028 Don't close file.
4029 (grub_macho_open): New argument is_64bit. All users updated.
4030 * grub-core/loader/macho32.c: Add defines for new fields.
4031 * grub-core/loader/macho64.c: Likewise.
4032 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4033 (grub_macho_parse): Handle compressed.
4034 Defer actual processing if compressed.
4035 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4036 "filename". All users updated.
4037 (grub_macho_size): New argument "filename". All users updated.
4038 (grub_macho_get_entry_point): Likewise.
4039 (grub_macho_load): Handle compressed.
4040 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4041 (GRUB_MACHO_LZSS_OFFSET): New define.
4042 (grub_decompress_lzss): New proto.
4043 * include/grub/machoload.h (grub_macho_file): New fields to handle
4044 compressed.
4045 (grub_macho_contains_macho64): Remove proto.
4046 (grub_macho_contains_macho32): Likewise.
4047 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4048
ebd17d6f
VS
40492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4052
2702b4e4
VS
40532012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 Fix make dist.
4056
4057 * Makefile.am (starfield_theme_files): New var.
4058 (starfield_DATA): Use starfield_theme_files.
4059 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4060 Add bootcheck-related files.
4061 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4062 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4063 and font_char_metrics.txt.
4064 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4065 (setjmp): Add lib/ia64/longjmp.S.
4066 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4067 * po/POTFILES.in: Regenerate.
4068 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4069 DISTFILES.common.extra1.
4070 * util/devicemap.c: Removed.
4071 * grub-core/lib/i386/relocator_backward.S: Likewise.
4072 * util/import_gcry.py: Remove unused files. Add extra_dist for
4073 ChangeLog.
4074
cf1adfdf
VS
40752012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4078 grub_gettext_delete_list before changing grub_gettext_max to avoid
4079 running out of array bounds.
4080
40812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4082
4083 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4084 grub_vga_text_init/grub_vga_text_fini.
4085
cf1adfdf 40862012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4087
4088 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4089
541d92e9
VS
40902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * configure.ac: Bump to 2.00~beta0.
4093
7931dddf
VS
40942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4097 missing initialisation.
4098
f1b16fa3
VS
40992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4102
83ddae23
VS
41032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Support v2 xnu boot arguments.
4106
4107 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4108 New argument fsbfreq_out.
4109 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4110 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4111 be used.
4112 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4113 darwin_version.
4114 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4115 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4116 (grub_xnu_boot_params): Rename to ...
4117 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4118 (grub_xnu_boot_params_v2): New struct.
4119
dc693fe6
VS
41202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4123 zeroing of CRC field before computing CRC.
4124
5a6e39c2
VS
41252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4128 Change order of allocations to decrease fragmentation.
4129
6c21f5d7
VS
41302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4133
cfe456dc
CW
41342012-02-27 Colin Watson <cjwatson@ubuntu.com>
4135
4136 Use write-combining MTRR to speed up video with buggy BIOSes.
4137
4138 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4139 (cpuid): New define.
4140 (rdmsr): Likewise.
4141 (wrmsr): Likewise.
4142 (mtrr_base): Likewise.
4143 (mtrr_mask): Likewise.
4144 (grub_vbe_enable_mtrr_entry): New function.
4145 (grub_vbe_enable_mtrr): Likewise.
4146 (grub_vbe_disable_mtrr): Likewise.
4147 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4148 control off to BIOS.
4149 (grub_video_vbe_init): Fill mtrr.
4150 (grub_video_vbe_fini): Disable mtrr.
4151 (grub_video_vbe_get_info_and_fini): Likewise.
4152 (grub_video_vbe_setup): Enable mtrr.
4153
e3c78337
CW
41542012-02-27 Colin Watson <cjwatson@ubuntu.com>
4155
4156 * include/grub/partition.h (grub_partition_map): Change prototype of
4157 embed to take a maximum value for nsectors.
4158 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4159 * include/grub/fs.h (grub_fs): Likewise.
4160 * grub-core/partmap/msdos.c (embed_signatures): New array.
4161 (pc_partition_map_embed): Check for and avoid sectors matching any
4162 of the signatures in embed_signatures, up to max_nsectors.
4163 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4164 returned sector map to max_nsectors.
4165 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4166 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4167 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4168 * util/grub-setup.c (setup): Allow for the embedding area being
4169 split into multiple blocklists. Tell dest_partmap->embed the
4170 maximum number of sectors we care about.
4171
41722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4175 Specify blocklist_install and reserver_first_sector for all fs.
4176 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4177 blocklists.
4178
984b973f
VS
41792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * util/grub-install.in: Clarify strings.
4182 Fix source dir check.
4183
f122e0d6
RL
41842012-02-27 Richard Laager <rlaager@wiktel.com>
4185
4186 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4187 "zfs" and "fuse.zfs" as synonyms.
4188
071114bb
VS
41892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * configure.ac: Put platform and target_cpu substitutions back since
4192 they are used for directories.
4193
817e6abc
RL
41942012-02-27 Richard Laager <rlaager@wiktel.com>
41952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4198 * util/grub.d/20_linux_xen.in: Likewise.
4199
897b7419
RL
42002012-02-27 Richard Laager <rlaager@wiktel.com>
4201
4202 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4203 with full paths.
4204
a414bd15
RL
42052012-02-27 Richard Laager <rlaager@wiktel.com>
4206
4207 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4208 unescape.
4209
30ac48c4
VS
42102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Don't use insecure popen in getroot.
4213
4214 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4215 (exec_pipe): ... here.
4216 (find_root_devices_from_poolname): Use exec_pipe.
4217
53f13848
VS
42182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 Remove platform and target_cpu replacement.
4221
4222 * configure.ac: Remove platform and target_cpu substitutions.
4223 * tests/util/grub-shell.in: Use modinfo.
4224 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4225 explicitly.
4226
90cb2803
VS
42272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Autodetect platform in grub-install but allow override.
4230
4231 * util/grub-install.in: Autodetect platform. Support --target and
4232 --directory. Read platform from modinfo.sh.
4233
b9136427
VS
42342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 Support btrfs multi-volume probe.
4237
4238 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4239 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4240 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4241 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4242 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4243 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4244 grub_find_root_devices_from_btrfs if on btrfs.
4245
c36e5cd1
VS
42462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Remove any awareness of *.c util files about target.
4249
4250 * Makefile.util.def (grub-setup): Split to ...
4251 (grub-bios-setup): ... and this.
4252 (grub-sparc64-setup): ... and this.
4253 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4254 * docs/man/grub-setup.h2m: Split into ...
4255 * docs/man/grub-sparc64-setup.h2m: ... this.
4256 * docs/man/grub-bios-setup.h2m: ... and this.
4257 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4258 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4259 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4260 (grub_target_addr_t): Remove.
4261 (grub_target_size_t): Remove.
4262 (grub_target_ssize_t): Remove.
4263 * util/grub-install.in: Use new grub-*-setup.
4264 * util/grub-mkimagexx.c (Elf_Word): New define.
4265 (Elf_Half): Likewise.
4266 (Elf_Section): Likewise.
4267 (ELF_ST_TYPE): Likewise.
4268 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4269 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4270
584b2f8a
VS
42712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 Replace grub_target_addr with more appropriate types.
4274
4275 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4276 grub_target_addr with grub_addr.
4277 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4278 grub_target_addr with grub_port.
4279 (grub_cmd_write): Likewise.
4280 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4281 grub_target_addr with grub_addr.
4282 (grub_cmd_write): Likewise.
4283 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4284
5a0dc6fb
VS
42852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4288 const qualifier for vendor_guid.
4289
786aff6e
VS
42902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4293 const qualifier.
4294 (efiemu_memequal): Likewise.
4295 (find_variable): Likewise.
4296
49017b17
VS
42972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 Fix missing console prototype on qemu-mips.
4300
4301 * include/grub/mips/qemu_mips/console.h: New file.
4302
c5988629
MG
43032012-02-27 Matthew Garrett <mjg@redhat.com>
43042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4307 * include/grub/efi/efi.h: Likewise.
4308 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4309 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4310 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4311 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4312 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4313 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4314
e33f8d69
MG
43152012-02-27 Matthew Garrett <mjg@redhat.com>
4316
4317 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4318
fb312cd9
VS
43192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4322 error.
4323
7134247c
VS
43242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * configure.ac: Remove inappropriate use of program_transform_name
4327 on grubdir and bootdir but allow explicit specification of those
4328 variables.
4329
6a313124
VS
43302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * util/grub-mknetdir.in (grub_prefix): Removed.
4333 (subdir): Use @bootdirname@ and @grubdirname@.
4334
2311c5ca
VS
43352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4338
7d5d60f7
VS
43392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * po/POTFILES.in: Regenerated.
4342
8151bc82
VS
43432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 Remove improper use of program_transform_name on pkglibrootdir.
4346
4347 * configure.ac (pkglibrootdir): Removed.
4348 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4349 * util/grub-mkimage.c: Likewise.
4350
b4a6a533
VS
43512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4354 warning.
4355
668f304f
VS
43562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * util/grub-install.in: Use file identifier if no UUID is available
4359 or user explicitly prompted for it.
4360
665f2341
NP
43612012-02-27 Navdeep Parhar <nparhar@gmail.com>
4362
4363 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4364 (freebsd_get_zfs): New function.
4365 (grub_freebsd_boot): Pass zfs UUID.
4366 (grub_cmd_freebsd): Set zfs UUID.
4367
8151bc82 43682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4369
4370 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4371 pkglibrootdir.
4372
e4c498a1
MG
43732012-02-27 Mike Gilbert <floppym@gentoo.org>
4374
4375 Add configure flag to control libzfs integration.
4376
4377 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4378
1e9a9a3f
VS
43792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4382 device.
4383 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4384 small devices.
4385
036985b8
VS
43862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4389 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4390 be used on non-modules.
4391
4392 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4393 Rename to grub_boot_init.
4394 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4395 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4396 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4397 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4398 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4399 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4400 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4401 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4402 includes.
4403 (grub_machine_init): Remove empty inits.
4404 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4405 includes.
4406 (grub_machine_init): Remove empty inits.
4407 * grub-core/term/arc/console.c: Remove explicit proto.
4408 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4409 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4410 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4411 grub_at_keyboard_fini.
4412 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4413 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4415 grub_gfxterm_fini.
4416 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4417 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4418 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4419 grub_vgatext_fini.
4420 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4421 * grub-core/term/serial.c (GRUB_MOD_INIT)
4422 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4423 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4424 grub_serial_fini.
4425 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4426 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4427 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4428 grub_terminfo_fini.
4429 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4430 (GRUB_MOD_FINI): Likewise.
4431 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4432 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4433 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4434 grub_video_radeon_fuloong2e_fini.
4435 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4436 [LOONGSON]: Rename to grub_video_sis315pro_init.
4437 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4438 grub_video_sis315pro_fini.
4439 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4440 [LOONGSON]: Rename to grub_video_sm712_init.
4441 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4442 grub_video_sm712_fini.
4443 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4444 (grub_at_keyboard_fini): Likewise.
4445 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4446 Don't declare grub_{modname}_init.
4447 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4448 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4449 New proto.
4450 (grub_keylayouts_fini) [!EMU]: Likewise.
4451 * include/grub/serial.h (grub_serial_init) [!EMU]:
4452 New proto.
4453 (grub_serial_fini) [!EMU]: Likewise.
4454 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4455 New proto.
4456 (grub_terminfo_fini) [!EMU]: Likewise.
4457 * include/grub/video.h (grub_font_init) [!EMU]:
4458 New proto.
4459 (grub_font_fini) [!EMU]: Likewise.
4460 (grub_gfxterm_init) [!EMU]: Likewise.
4461 (grub_gfxterm_fini) [!EMU]: Likewise.
4462 (grub_video_sm712_init) [!EMU]: Likewise.
4463 (grub_video_sm712_fini) [!EMU]: Likewise.
4464 (grub_video_sis315pro_init) [!EMU]: Likewise.
4465 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4466 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4467 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4468
d5534665
VS
44692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 Make nand a prefix for nand devices.
4472
4473 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4474
10133b5f
VS
44752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4478 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4479
8e307a62
VS
44802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * include/grub/env.h (grub_env_find): Remove prototype.
4483 * grub-core/kern/env.c (grub_env_find): Make static.
4484 (grub_env_set): Remove useless set.
4485
a4c65f34
VS
44862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/kern/i386/realmode.S: Remove useless align.
4489
d87893d5
VS
44902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * include/grub/dl.h (grub_dl_load_file): Don't export.
4493
50159add
VS
44942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4497 grub_dprintf.
4498
b2582b84
VS
44992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4502 grub_errors.
4503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4504 not reloading whole superblock but only the part which is really needed.
4505 Remove useless grub_errors.
4506 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4507 grub_errors.
4508
e2a83395
VS
45092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Don't export grub_get_rtc.
4512
4513 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4514 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4515
e7d2a906
VS
45162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4519
6cf1363b
VS
45202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4523 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4524
eece3349
VS
45252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Remove prio_list.
4528
4529 * include/grub/list.h (grub_prio_list): Removed.
4530 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4531 GRUB_COMMAND_PRIO_MASK.
4532 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4533 GRUB_COMMAND_FLAG_ACTIVE.
4534 (grub_prio_list_insert): Removed.
4535 (grub_prio_list_remove): Likewise.
4536 (GRUB_AS_PRIO_LIST): Likewise.
4537 (GRUB_AS_PRIO_LIST_P): Likewise.
4538 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4539 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4540 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4541 * grub-core/kern/command.c (grub_register_command_prio): Inline
4542 the prio_list code.
4543 (grub_unregister_command): Likewise.
4544
94f064b4
VS
45452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Fix interrupt mixup from previous commit.
4548
4549 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4550 (grub_realidt): New var.
4551 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4552 Load idt.
4553 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4554 New declaration.
4555 (grub_relocator16_boot): Set grub_relocator16_idt.
4556 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4557 (LOCAL(realidt)): ... this.
4558 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4559 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4560 (grub_realidt): New variable.
4561
27317084
VS
45622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4565 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4566 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4567 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4568 Gettextize.
4569 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4570 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4571 * po/POTFILES.in: Regenerate.
4572
47b40053
VS
45732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4576 errors.
4577
2b343101
VS
45782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4581 \0.
4582 (add_length): Likewise.
4583
ff27c3dd
LK
45842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
45852012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4586
4587 GDB serial and backtrace support.
4588
4589 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4590 (prot_to_real): Likewise.
4591 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4592 * grub-core/Makefile.core.def (backtrace): New module.
4593 (gdb): Likewise.
4594 * grub-core/gdb/cstub.c: New file.
4595 * grub-core/gdb/gdb.c: Likewise.
4596 * grub-core/gdb/i386/idt.c: Likewise.
4597 * grub-core/gdb/i386/machdep.S: Likewise.
4598 * grub-core/gdb/i386/signal.c: Likewise.
4599 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4600 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4601 * include/grub/backtrace.h: Likewise.
4602 * include/grub/gdb.h: Likewise.
4603 * include/grub/i386/gdb.h: Likewise.
4604
46052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4606
4607 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4608 New function.
4609 (add_length): Likewise.
4610 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4611 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4612 proto.
4613 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4614 __argp_get_display_len.
4615
ff27c3dd 46162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4617
4618 $"..." support in scripts.
4619
4620 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4621 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4622 * grub-core/script/yylex.l: Likewise.
4623 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4624 value.
4625
ff27c3dd 46262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4627
4628 * gentpl.py: Remove obsolete pkglib_DATA handling.
4629
ff27c3dd 46302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4631
4632 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4633 mailing list.
4634
4635 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4636 * util/grub-kbdcomp.in: Likewise.
4637 * util/grub-mkconfig.in: Likewise.
4638 * util/grub-mkconfig_lib.in: Likewise.
4639 * util/grub-mknetdir.in: Likewise.
4640 * util/grub-mkrescue.in: Likewise.
4641 * util/grub-mkstandalone.in: Likewise.
4642 * util/grub-reboot.in: Likewise.
4643 * util/grub-set-default.in: Likewise.
4644 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4645
ff27c3dd 46462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4647
4648 Remove GRUB_PREFIX.
4649
4650 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4651 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4652 used for backward compatibility.
4653
ff27c3dd 46542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4655
4656 Add new all_video module.
4657
4658 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4659 * grub-core/Makefile.core.def (all_video): New module.
4660 * grub-core/genmoddep.awk: Generate dependency of all_video from
4661 video.lst.
4662 * grub-core/lib/fake_module.c: New file.
4663 * grub-core/normal/main.c (features): Add feature_all_video_module.
4664 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4665 don't do explicit search again.
47454da5 4666 insmod all_video in load_video if available.
22c7ce85 4667
ff27c3dd 46682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4669
4670 Another round of string clarification and adding TRANSLATORS comments.
4671
ff27c3dd 46722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4673
4674 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4675
ff27c3dd 46762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4677
4678 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4679 to grub_ssize_t.
4680 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4681 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4682
ff27c3dd 46832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4684
4685 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4686 trailing newline implicitly. All users updated.
4687
ff27c3dd 46882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4689
4690 Implement serial on IEEE1275 and EFI.
4691
4692 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4693 on emu. Mention arc and emu as the only platforms without serial
4694 support.
4695 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4696 ieee1275 platforms.
4697 * grub-core/term/efi/serial.c: New file.
4698 * grub-core/term/ieee1275/serial.c: Likewise.
4699 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4700 specification if no ns8250 driver is available.
4701 (grub_cmd_serial): Likewise.
4702 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4703 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4704 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4705 (grub_efi_parity_type_t): New type.
4706 (grub_efi_stop_bits_t): Likewise.
4707 (grub_efi_serial_io_interface): New struct.
4708 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4709 available for all interfaces.
4710 Add EFI and IEEE1275 fields.
4711 (grub_ofserial_init): New proto.
4712 (grub_efiserial_init): Likeiwse.
4713 * util/grub.d/00_header.in: Don't check for the presence of serial
4714 module.
4715
ff27c3dd 47162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4717
4718 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4719 name as if it was an alias.
4720
114076ef
VS
47212012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/commands/lsacpi.c (options): Fix typo.
4724
6a656b0e
VS
47252012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Convert grub-emu to argp.
4728
4729 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4730 emu.
4731 * util/argp_common.c: Rename to ...
4732 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4733 Add missing includes.
4734 * grub-core/kern/emu/main.c: Convert to argp.
4735 * po/POTFILES.in: Regenerate.
4736 * util/grub-install.in (usage): Make first letter lowcase in messages
4737 for uniformity.
4738 * util/grub-setup.c (options): Likewise.
4739
1e3f8ae8
VS
47402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4743 Put back accidently commented-out code.
4744
ed167a80
VS
47452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4748 loop check using Brent algorithm.
4749 (grub_hfsplus_btree_search): Likewise.
4750
6753c0ec
VS
47512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * util/grub-install.in: Fix usage of wrong device for PreP install.
4754
4e27343f
VS
47552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * conf/Makefile.common (CFLAGS_GNULIB): Add
4758 -Wno-unsafe-loop-optimizations.
4759 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4760 on tools.
4761 * grub-core/commands/legacycfg.c: Add pragma to skip
4762 -Wunsafe-loop-optimizations.
4763 (check_password_md5_real): Fix loop counter type.
4764 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4765 reading.
4766 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4767 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4768 loop condition.
4769 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4770 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4771 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4772 condition.
4773 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4774 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4775 avoid possible infinite loops.
4776 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4777 and -Wunsafe-loop-optimizations.
4778 * grub-core/script/yylex.l: Likewise.
4779 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4780 (print_glyphs): Avoid infinite loops.
4781 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4782
697f18b0
GS
47832012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4784
4785 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4786 to avoid infinite loop.
4787 (disp_acpi_rsdt_table): Likewise.
4788
274416e8
VS
47892012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/font/font.c (grub_font_load): Add support for default
4792 path for fonts ($prefix/fonts).
4793 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4794 for checking if string is a path.
4795 * grub-core/normal/main.c (features): Add feature_default_font_path.
4796 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4797 * util/grub.d/00_header.in: Use default directory if possible.
4798 * util/grub-install.in: Install unicode.pf2.
4799
b3e08622
VS
48002012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4803 * po/Rules-swiss: New file.
4804 * po/swiss.sed: Likewise.
4805
fe42ce09
VS
48062012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/btrfs.c (find_device): Fix typos.
4809 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4810 * util/grub-mkrelpath.c (argp_parser): Likewise.
4811 Reported by: Yuri Chornoivan.
4812
72f1d065
DO
48132012-02-23 Dalet Omega <daletomega@gmail.com>
4814
4815 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4816 for usual informative messages.
4817
c5884973
DO
48182012-02-23 Dalet Omega <daletomega@gmail.com>
4819
4820 Starfield theme.
4821
4822 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4823 * conf/Makefile.common: Define starfielddir.
4824 * configure.ac: Configure starfield.
4825 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4826 * themes/starfield/README: Likewise.
4827 * themes/starfield/blob_w.png: Likewise.
4828 * themes/starfield/boot_menu_c.png: Likewise.
4829 * themes/starfield/boot_menu_e.png: Likewise.
4830 * themes/starfield/boot_menu_n.png: Likewise.
4831 * themes/starfield/boot_menu_ne.png: Likewise.
4832 * themes/starfield/boot_menu_nw.png: Likewise.
4833 * themes/starfield/boot_menu_s.png: Likewise.
4834 * themes/starfield/boot_menu_se.png: Likewise.
4835 * themes/starfield/boot_menu_sw.png: Likewise.
4836 * themes/starfield/boot_menu_w.png: Likewise.
4837 * themes/starfield/slider_c.png: Likewise.
4838 * themes/starfield/slider_n.png: Likewise.
4839 * themes/starfield/slider_s.png: Likewise.
4840 * themes/starfield/src/blob_nw.xcf: Likewise.
4841 * themes/starfield/src/bootmenu/: Likewise.
4842 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4843 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4844 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4845 * themes/starfield/src/slider_c.xcf: Likewise.
4846 * themes/starfield/src/slider_n.xcf: Likewise.
4847 * themes/starfield/src/slider_s.xcf: Likewise.
4848 * themes/starfield/src/terminalbox/: Likewise.
4849 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4850 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4851 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4852 * themes/starfield/starfield.png: Likewise.
4853 * themes/starfield/terminal_box_c.png: Likewise.
4854 * themes/starfield/terminal_box_e.png: Likewise.
4855 * themes/starfield/terminal_box_n.png: Likewise.
4856 * themes/starfield/terminal_box_ne.png: Likewise.
4857 * themes/starfield/terminal_box_nw.png: Likewise.
4858 * themes/starfield/terminal_box_s.png: Likewise.
4859 * themes/starfield/terminal_box_se.png: Likewise.
4860 * themes/starfield/terminal_box_sw.png: Likewise.
4861 * themes/starfield/terminal_box_w.png: Likewise.
4862 * themes/starfield/theme.txt: Likewise.
4863
17d73325
VS
48642012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * util/grub.d/00_header.in: Add missing export theme.
4867
dbebaf92
VS
48682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4871 already included.
4872 Reported by: Eren D.
4873
3d68bffb
VS
48742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * conf/Makefile.common (grubdatadir): Removed.
4877 (Makefile.am): Move eveything grubdata to pkgdata.
4878
4b59234d
VS
48792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/commands/acpihalt.c (get_sleep_type):
4882 Remove unused variable.
4883
463dcadc
VS
48842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4887 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4888 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4889 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4890 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4891 i18n with gettext no-op.
4892 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4893 GRUB_ACPI_OPCODE_STRING_CONST.
4894 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4895 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4896
e5b90c82
VS
48972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * po/POTFILES.in: Regenerate.
4900
2a704ca9
VS
49012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4904 -Wno-error=missing-noreturn.
4905
84f9d341
VS
49062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4909 condition to avoid possibly infinite loops.
4910 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4911 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4912
d46683f9
VS
49132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4916 condition to avoid possibly infinite loops.
4917
c44866b2
VS
49182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4921 on show_error.
4922
96790539
VS
49232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4926
1ba7e295
VS
49272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4930
21ffe8f1
VS
49312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * util/bin2h.c (usage): Add missing attribute noreturn.
4934
0ccb6b3c
VS
49352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4938 if the size isn't divisible by 512.
4939
b00d7fb6
VS
49402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Make list_push and list_remove functions rather than inline functions
4943 to decrease size and avoid aliasing violations.
4944
4945 * include/grub/list.h (grub_list_push): Move to ...
4946 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4947 * include/grub/list.h (grub_list_remove): Move to ...
4948 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4949
9d369087
VS
49502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4953 and -Wunused-result.
4954
af0250d9
VS
49552012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4958 Reported by: Seth Goldberg
4959
aad32b14
VS
49602012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4963
ac96441c
ST
49642012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4965
4966 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4967 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4968 command line.
4969 * docs/grub.texi (Simple configuration): Document
4970 GRUB_CMDLINE_GNUMACH.
4971
49722012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4973
4974 * conf/Makefile.common (platform_SCRIPTS): New variable.
4975 (platform_PROGRAMS): Likewise.
4976 * gentpl.py: Mark *,module and *.image for install.
4977 * grub-core/gdb_grub.in: Add a notice of expected environment.
4978 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4979 (gmodule.pl): Likewise.
4980
ac96441c 49812012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4982
4983 Replace grub_checkkey with grub_getkey_noblock.
4984
4985 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4986 (grub_getkey_noblock): ... this. All users updated.
4987
ac96441c 49882012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4989
4990 * grub-core/kern/emu/console.c: Move to ...
4991 * grub-core/term/emu/console.c: ...here.
4992 (grub_ncurses_getkey): Fix return value if no key is detected.
4993
e51b5666
VS
49942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4997 (grub_unit_test_fini): Likewise.
4998 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4999
50002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * include/grub/test.h (GRUB_UNIT_TEST)
5003
d9a62292
VS
50042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5007 Better error handling.
5008 (grub_script_return): Likewise.
5009 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5010
77c9182f
VS
50112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5014 rimplicit redifinition.
5015
edb13cf9
VS
50162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5019 GRUB.
5020
a9e9dc7c
VS
50212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5024 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5025 prompt here.
5026
b4ba8e02
VS
50272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5030 as GRUB_ERR_BUG. Don't malloc if no device is available.
5031
dded5540
VS
50322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5035 Mark calling with invalid term as GRUB_ERR_BUG.
5036
0cf69874
VS
50372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5040 packets rather than raising an error.
5041
59bfe502
VS
50422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5045 in if.
5046
db5fc596
VS
50472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5050 diagnostic to dprintf.
5051 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5052
e4b7f404
VS
50532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5056 device name.
5057
e7b02f9e
VS
50582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5061 (grub_ntfs_iterate_dir): Likewise.
5062
0331e102
VS
50632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Efiemu stylistic fixes and gettext.
5066
5067 * grub-core/efiemu/i386/loadcore32.c
5068 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5069 * grub-core/efiemu/i386/loadcore64.c
5070 (grub_arch_efiemu_relocate_symbols64): Likewise.
5071 * grub-core/efiemu/i386/pc/cfgtables.c
5072 (grub_machine_efiemu_init_tables): Likewise.
5073 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5074 (grub_efiemu_loadcore_initXX): Add a filename argument.
5075 All users updated.
5076 Improved error message.
5077 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5078 Add a filename argument.
5079 All users updated.
5080 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5081 Reclassify double relocation as GRUB_ERR_BUG.
5082
306fc074
VS
50832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5086 handling.
5087
794d8ef2
VS
50882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5091 on partition.
5092
50932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5094
5095 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5096
794d8ef2 50972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5098
5099 Improve string. Gettextize.
5100
78dde88e
VS
51012012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5104 utils.
5105 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5106
4786a90f
VS
51072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5110 [GRUB_UTIL]: New function.
5111 (insert_array) [GRUB_UTIL]: Store partmaps.
5112 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5113 partmaps.
5114 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5115 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5116 (probe_abstraction): Print diskfilter and not raid.
5117 Reported by: Lennart Sorensen
5118
0b6225bd
VS
51192012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5122 * util/grub-mkimagexx.c (MASK3): New define.
5123 (add_value_to_slot_20b): Use MASK3.
5124 (add_value_to_slot_21): Likewise.
5125 (relocate_addresses): Fix format specification.
5126 (load_image): Explicitly init symtab_section.
5127
b055f8f6
VS
51282012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5131 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5132
b77c2fb7
VS
51332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5136 on powerpc.
5137 Reported by: Lennart Sorensen
5138
e3ec28ab
VS
51392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * gentpl.py: Add missing license header.
5142 * docs/grub.texi: Update copyright year.
5143
c8d9ead6
GS
51442012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5145
5146 Source grub-mkconfig_lib from the build directory at build time.
5147 Suggested by: Vladimir Serbinenko.
5148
5149 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5150 * util/grub-install.in: Define pkgdatadir if not already set, and source
5151 grub-mkconfig_lib from there.
5152 * util/grub-kbdcomp.in: Likewise.
5153 * util/grub-mkconfig.in: Likewise.
5154 * util/grub-mknetdir.in: Likewise.
5155 * util/grub-mkrescue.in: Likewise.
5156 * util/grub-mkstandalone.in: Likewise.
5157 * util/grub-reboot.in: Likewise.
5158 * util/grub-set-default.in: Likewise.
5159 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5160
ebcecdf1
VS
51612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 Increase warning level.
5164
5165 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5166 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5167 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5168 (TARGET_CFLAGS): Likewise.
5169 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5170 * grub-core/Makefile.core.def (decompressor_xz): Add
5171 -Wno-unreachable-code.
5172 (normal): Add -Wno-redundant-decls.
5173 (xzio): Add -Wno-unreachable-code.
5174 (lzopio): Add -Wno-redundant-decls -Wno-error.
5175 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5176 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5177 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5178 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5179 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5180 * grub-core/kern/i386/coreboot/init.c: Add exception to
5181 -Wsuggest-attribute=noreturn.
5182 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5183 * grub-core/kern/ia64/dl_helper.c: Likewise.
5184 * grub-core/kern/mips/dl.c: Likewise.
5185 * grub-core/kern/sparc64/dl.c: Likewise.
5186 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5187 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5188 (memcmp): Likewise.
5189 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5190 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5191 * grub-core/loader/mips/linux.c: Likewise.
5192 * grub-core/loader/multiboot_elfxx.c: Likewise.
5193 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5194 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5195 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5196 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5197 fixme.
5198 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5199 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5200 Fix prototype.
5201
37bb97fe
VS
52022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5205 address.
5206
29a3550b
VS
52072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5210 Avoid improper use of strings.
5211 (grub_cmd_legacy_initrdnounzip): Likewise.
5212
dfdffd0d
VS
52132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5216 attribute.
5217 (grub_util_info): Likewise.
5218 (grub_util_error): Likewise.
5219
102fae4a
VS
52202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5223 * util/grub-fstest.c (fstest): Likewise.
5224
7e94d044
VS
52252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5228 (grub_md_sha512_real): Likewise.
5229 (grub_util_get_geli_uuid): Likewise.
5230 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5231 (grub_util_biosdisk_open): Fix format specification.
5232 Respect format security.
5233 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5234 (xrealloc): Likewise.
5235 (xasprintf): Likewise.
5236
5ebd9769
VS
52372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * util/import_gcry.py: Include grub/crypto.h in init.c.
5240
495fc8c1
VS
52412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5244 (generate_image): Make prefix a const char *.
5245 Fix format specifications. Respect format security.
5246 Avoid void * arithmetics.
5247 Avoid shadowing.
5248 (argp_parser): Remove unused variable. Respect format security.
5249 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5250 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5251 (count_funcs): Remove unused variable.
5252 (relocate_addresses): Fix format specification.
5253 Disable x86-64 with elf32. Remove unused variables.
5254 (add_fixup_entry): Avoid shadowing.
5255 (make_reloc_section): Fix format specification.
5256 Use assert.
5257 (locate_sections): Fix format specifications.
5258 (load_image): Avoid shadowing.
5259
043c2ea3
VS
52602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5263 Fix format specifications. Respect format security.
5264 Don't translate already translated grub_errmsg.
5265 (argp_parser): Remove unused variable
5266
3ec65a81
VS
52672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5270
a4d9fe4a
VS
52712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5274 (main): Likewise. Use xmalloc. Respect format security.
5275
15b81d49
VS
52762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5279 a const char *.
5280 (argp_parser): Remove unused variable.
5281
31731fc0
VS
52822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5285 (add_pixel): Make static.
5286 (add_font): Likewise.
5287 (write_string_section): Make name and str a const char *.
5288 (write_be16_section): Make name a const char *.
5289 (print_glyphs): Make static.
5290 (write_font_ascii_bitmap): Likewise.
5291 (write_font_width_spec): Likewise.
5292 (write_font_pf2): Likewise.
5293 (argp_parser): Remove unused variable.
5294 Respect format security.
5295 (main): Avoid shadowing. Respect format security.
5296
0809527b
VS
52972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * util/grub-editenv.c (argp_parser): Make static.
5300 (create_envblk_file): Use xmalloc.
5301 (open_envblk_file): Likewise.
5302 Resepect format security.
5303 (set_variables): Respect format security.
5304
45b0c8b7
VS
53052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * util/getroot.c (grub_find_device): Respect format security.
5308 (get_mdadm_uuid): Remove unused variable.
5309 (grub_util_pull_device): Dont call gettext on already translated
5310 grub_errmsg.
5311 (find_system_device): Remove unused variable.
5312 (grub_util_get_grub_dev): Likewise.
5313 (grub_make_system_path_relative_to_its_root): Respect format security.
5314
1b024b4e
VS
53152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * util/grub-fstest.c (execute_command): Make first argument
5318 a const char *.
5319 (read_file): Avoid shadowing.
5320 Reuse underlying error message if device open fails.
5321 (cmd_cmp): Respect format security.
5322 (root): Make const char *.
5323 (fstest): Remove args argument and use global copy.
5324 Respect format security.
5325 (argp_parser): Make static.
5326 (main): Make default_root const char *.
5327
5d1d4e28
VS
53282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * util/grub-mount.c (root): Make const char *.
5331 (execute_command): Make first argument a const char *.
5332 (fuse_init): Respect format security.
5333 (argp_parser): Make static. Remove unused variable.
5334 (main): Make default_root a const char *.
5335 Respect format security.
5336
36eb7379
VS
53372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * util/grub-probe.c (probe): Don't call gettext on already translated
5340 grub_errmsg.
5341 Remove unused variables.
5342 (argp_parser): Remove unused variable.
5343
76fb2ea9
VS
53442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * util/grub-script-check.c (argp_parser): Remove unused variable.
5347 (main): Rename read to curread to avoid shadowing.
5348
56c98584
VS
53492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * util/misc.c (grub_util_write_image_at): Fix format specification.
5352 (grub_util_write_image): Likewise.
5353 (grub_script_execute_argument_to_string): Removed (unused).
5354 (grub_script_execute_menuentry): Likewise.
5355 (grub_putchar): Likewise.
5356
164ebb48
VS
53572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5360 (FUNCTION) [GRUB_UTIL]: Likewise.
5361 (VARIABLE) [GRUB_UTIL]: Likewise.
5362
44318d61
VS
53632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5366 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5367
31a26002
VS
53682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5371 buffer.
5372
53732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5376 (LzmaEnc_SaveState): Removed (unused).
5377 (LzmaEnc_RestoreState): Likewise.
5378 (LzmaEnc_InitPriceTables): Made static.
5379 (LzmaEnc_Construct): Likewise.
5380 (LzmaEnc_FreeLits): Likewise.
5381 (LzmaEnc_Destruct): Likewise.
5382 (LzmaEnc_Init): Likewise.
5383 (LzmaEnc_InitPrices): Likewise.
5384 (LzmaEnc_Finish): Likewise.
5385 (LzmaEnc_PrepareForLzma2): Removed (unused).
5386 (LzmaEnc_MemPrepare): Likewise.
5387 (LzmaEnc_GetNumAvailableBytes): Likewise.
5388 (LzmaEnc_GetCurBuf): Likewise.
5389 (LzmaEnc_CodeOneMemBlock): Likewise.
5390
6fa67967
VS
53912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5394 (grub_util_ldm_embed): Likewise.
5395
9a7428e6
VS
53962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * util/grub-editenv.c (print_var): Rename name to varname to
5399 avoid shadowing.
5400 (main): Rename index to curindex to avoid shadowing.
31a26002 5401 Make filename a const char *.
9a7428e6 5402
4f96abd1
VS
54032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5406 to arg_getline to avoid shadowing.
5407
44d10dad
VS
54082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5411 disk_ to avoid shadowing.
5412
340ba63e
VS
54132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5416 curindex to avoid shadowing.
5417 Make static.
5418 (MatchFinder_GetNumAvailableBytes): Make static.
5419
22965bce
VS
54202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5423 avoid shadowing.
5424
7b5784d4
VS
54252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5428 argument from encrypt to do_encrypt to avoid shadowing.
5429
6f48ca01
VS
54302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5433 incorrect nesting of #if's.
5434
a4ea2dff
VS
54352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5438 checks which are always false on some platforms.
5439 (grub_cmd_lsacpi): Likewise.
5440 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5441 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5442 Likewise.
5443
def9fc1b
VS
54442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5447 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5448
a67b2a04
VS
54492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5452 re_dfa_t to avoid breaking alignment invariants.
5453 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5454 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5455
44c6828d
VS
54562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5459 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5460
bebe0dd0
VS
54612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5464 Fix declaration.
5465
a9cdb3cf
VS
54662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5469 conserve alignment invariants.
5470 (grub_ehci_ehcc_read16): Likewise.
5471 (grub_ehci_oper_read32): Likewise.
5472 (grub_ehci_oper_write32): Likewise.
5473 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5474 Conserve alignment invariants.
5475
ccc3b1b8
VS
54762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5479 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5480 declarations.
5481
987fbd95
VS
54822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5485 Remove unused variable.
5486
0df363f3
VS
54872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5490 Remove set in if.
5491
b2c0c4a6
VS
54922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * include/grub/net.h: Remove double declarations.
5495
690c531f
VS
54962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Remove "payload" command in ia64 Linux loader since I couldn't
5499 find any evidence of it being used for anything.
5500 Replace "relocate" command with an environment variable
5501
5502 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5503 fields.
5504 (ia64_boot_payload): Removed.
5505 (last_payload): Likewise.
5506 (RELOCATE_OFF): Likewise.
5507 (RELOCATE_ON): Likewise.
5508 (RELOCATE_FORCE): Likewise.
5509 (relocate): Likewise.
5510 (free_pages): Don't free payloads.
5511 (grub_load_elf64): Use common error messages.
5512 Use "linux_relocate" variable.
5513 Increase the space after boot_params.
5514 (grub_cmd_payload): Removed.
5515 (grub_cmd_relocate): Likewise.
5516 (grub_cmd_fpswa): Improve messages.
5517 (cmd_payload): Removed.
5518 (cmd_relocate): Likewise.
5519 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5520 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5521
01783768
VS
55222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Convert UHCI to DMA framework.
5525
5526 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5527 (grub_uhci_pci_iter): Fill new members
5528 (grub_alloc_td): Use P2V and V2P functions.
5529 (grub_free_queue): Likewise.
5530 (grub_alloc_qh): Likewise.
5531 (grub_uhci_setup_transfer): Likewise.
5532 (grub_uhci_check_transfer): Likewise.
5533
43206939
VS
55342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5537 Remove assignment in if while on it.
5538
571e140e
VS
55392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/grub-mkstandalone.in: Fix modules directory.
5542
a9d96eeb
VS
55432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5546 on i386-pc target.
5547 (argp_parser): Accept "auto" as compression specification.
5548
e4e37e8d
VS
55492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Fix `help' with unloaded modules.
5552
5553 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5554 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5555 (grub_dyncmd_dispatcher): Small stylistic fix.
5556 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5557 explicit help is requested.
5558
e1ea3ade
VS
55592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5562 Explicitly init restart while on it.
5563
27556881
VS
55642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5567 uninited variable.
5568
d65f6b36
VS
55692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * util/grub-mknetdir.in: Use . rather than source for POSIX
5572 compatibility.
5573
0a1e473c
VS
55742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5577
ce6647c8
VS
55782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5581 variable.
5582
66747894
VS
55832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5586 without quotes.
5587
71645f6e
VS
55882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5591
0e1c1f61
VS
55922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5595 iteration of partitions.
5596
9c4b5c13
VS
55972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 Improve gettext support. Stylistic fixes and error handling fixes while
5600 on it.
5601
215c90cb
VS
56022012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5605 part. Instead setup the correct stack in RM.
5606 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5607 for stack.
5608 * include/grub/i386/relocator_private.h: New file.
5609
b5c1f9bf
VS
56102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5613 argument.
5614 * util/grub-fstest.c (options): Add missing DEVICE part.
5615
b525fd83
VS
56162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Clarify and unify messages.
5619
5620 * grub-core/commands/hashsum.c (options): Unify messages.
5621 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5622 literal-only message as translatable.
5623 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5624 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5625 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5626 commands.
5627 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5628 key, not the key used to unlock. Clarify what it's used for.
5629 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5630 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5631 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5632 * util/grub-editenv.c (options): Unify "verbose" message.
5633 * util/grub-fstest.c (read_file): Unify error message.
5634 (fstest): Add quotes around commands.
5635 (options): Unify "verbose" message.
5636 * util/grub-install.in: Add quotes around variable name.
5637 * util/grub-kbdcomp.in: Unify error message.
5638 * util/grub-mkfont.c (main): Likewise.
5639 * util/grub-mkrescue.in: Likewise.
5640 * util/grub-mklayout.c (options): Unify "verbose" message.
5641 * util/grub-mkstandalone.in: Unify help and verbose messages.
5642 * util/grub-mount.c (options): Unify "verbose" message.
5643 * util/grub-probe.c (options): Likewise.
5644 * util/grub-script-check.c (options): Likewise.
5645 * util/grub-setup.c (setup): Unify no-terminator message.
5646 (options): Use DEVICE and not DEV.
5647 Unify "verbose" message.
5648 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5649
0ae70393
VS
56502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Improve and unify messages.
5653
5654 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5655 name. All users updated.
5656 Print filename in error.
5657 (read_device_map): Print filename in error.
5658 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5659 (grub_util_get_os_disk): Likewise.
5660 (grub_util_biosdisk_get_grub_dev): Likewise.
5661 (grub_util_check_block_device): Likewise.
5662 (grub_util_check_char_device): Likewise.
5663 (grub_make_system_path_relative_to_its_root): Likewise.
5664 * util/grub-editenv.c (create_envblk_file): Likewise.
5665 (open_envblk_file): Likewise.
5666 (write_envblk): Likewise.
5667 * util/grub-fstest.c (cmd_cp): Likewise.
5668 (cmd_cat): Likewise.
5669 (cmd_cmp): Likewise.
5670 * util/grub-menulst2cfg.c (main): Likewise.
5671 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5672 (write_font_width_spec): Likewise.
5673 (write_font_pf2): Likewise.
5674 * util/grub-mkimage.c (generate_image): New argument outname.
5675 All users updated.
5676 Remove unreacheable message.
5677 (options): Unify messages.
5678 (help_filter): Likewise.
5679 * util/grub-mklayout.c (usage): Removed (unused).
5680 (main): Print filename in error.
5681 * util/grub-mkrescue.in: Fix wrong quoting.
5682 * util/grub-setup.c (setup): Print filename in error.
5683 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5684 (check_sas): Likewise.
5685 * util/misc.c (grub_util_get_fp_size): Removed.
5686 (grub_util_get_image_size): Print filename in error.
5687 (grub_util_read_at): Removed.
5688 (grub_util_read_image): Print filename in error.
5689 (grub_util_load_image): Likewise.
5690 (grub_util_write_image_at): New argument filename. All users updated.
5691 Print filename in error.
5692 (grub_util_write_image): New argument filename. All users updated.
5693 Print filename in error.
5694 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5695 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5696
0a96117d
VS
56972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/Makefile.core.def (pxechain): New module.
5700 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5701 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5702 function.
5703 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5704 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5705
aca002f7
VS
57062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5709 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5710 * include/grub/err.h (grub_error_saved): New struct.
5711 (grub_errmsg): Make array size explicit.
5712 * include/grub/misc.h (grub_error_save): New function.
5713 (grub_error_load): Likewise.
5714 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5715 (grub_error_push): Update `errno' member name.
5716 (grub_error_pop): Likewise
5717 * grub-core/net/tftp.c (tftp_data): New member save_err.
5718 (tftp_receive): Save error.
5719 (tftp_open): Restore error.
5720
a51dab13
VS
57212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5724 to real mode down to execute A20-related code in protected mode as
5725 intended.
5726
eb6e6649
GS
57272012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5728
5729 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5730 NULL when the argument `level' has an unexpected value.
5731
92cd0f6e
VS
57322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Move platform-dependent files from $prefix to $prefix/$platform.
5735
5736 * config.h.in (GRUB_TARGET_CPU): New definition.
5737 (GRUB_PLATFORM): Likewise.
5738 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5739 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5740 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5741 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5742 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5743 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5744 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5745 * grub-core/normal/term.c (read_terminal_list): Likewise.
5746 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5747 $prefix/locale.
5748 (grub_gettext_init_ext): Likewise.
5749 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5750 grub_platform.
5751 * util/grub-install.in: Update directories.
5752 * util/grub-mknetdir.in: Likewise.
5753 * util/grub-mkrescue.in: Likewise.
5754
db606889
VS
57552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5758 grub_error framework. All users updated.
5759
c39992a4
VS
57602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5763 lists (by always binsearching), improve caching (cache strings
5764 used for binsearch, not only results), improve
5765 maintainability (by using more structured binary search) and correct
5766 error handling.
5767
1e5ec32f
VS
57682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/script/execute.c (grub_script_return): Fix warning.
5771
ac576cde
VS
57722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/script/execute.c (grub_script_return): Fix potential
5775 NULL-dereference.
5776 Reported by: Jim Meyering.
5777
498453f6
VS
57782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * po/POTFILES.in: Regenerate.
5781 * util/grub-install.in: Gettextize the strings missed in first pass.
5782
8be63f2e
VS
57832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * Makefile.util.def (grub-mkdevicemap): Removed.
5786 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5787 * include/grub/util/deviceiter.h: Removed.
5788 * util/deviceiter.c: Likewise.
5789 * util/getroot.c (grub_util_get_os_disk): New function.
5790 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5791 replacement for EFI.
5792 * util/grub-mkdevicemap.c: Removed.
5793 * util/grub-probe.c (probe): Handle PRINT_DISK.
5794 (argp_parser): Handle -t disk.
5795
8e1e4e39
VS
57962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * util/grub-mkfont.c: Migrate to argp.
5799 * util/grub-mklayout.c: Likewise.
5800 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5801 * util/grub-mkrelpath.c: Likewise.
5802 * util/grub-probe.c: Likewise.
5803 * util/grub-script-check.c: Likewise.
5804
4459819a
VS
58052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * util/grub-reboot.in: Add missing datarootdir.
5808 Add missing newline.
5809 * util/grub-set-default.in: Add missing datarootdir.
5810 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5811 * util/grub-mkrescue.in: Likewise.
5812
f65741c7
VS
58132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5816
c1a33466
VS
58172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * util/grub-kbdcomp.in: Add decent help and gettextize.
5820 * docs/man/grub-kbdcomp.h2m: New file.
5821
c76899a0
VS
58222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Migrate grub-mkimage.c to argp.
5825
5826 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5827 (grub-setup): Likewise.
5828 * util/grub-setup.c (print_version): Move to ...
5829 * util/argp_common.c (print_version): ... here.
5830 * util/grub-setup.c (argp_program_version_hook): Move to ...
5831 * util/argp_common.c (argp_program_version_hook): ... here.
5832 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5833 safety.
5834 * util/grub-mkimage.c (main): Migrate to argp.
5835
57db0757
VS
58362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * util/grub-mkrescue.in: Use same message as
5839 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5840 for better translations.
5841
18534ad9
VS
58422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5845 options with generic grub-mkrescue.in with the goal of future
5846 merge.
5847
c84ba308
VS
58482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/kern/mm.c: Add missing include of i18n.h
5851 * grub-core/lib/relocator.c: Likewise.
5852
347998c2
VS
58532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5856 error.
5857 (allocate_pages): Check return value.
5858 Replace fatal with error.
5859 (grub_linux_boot): Replace printf with dprintf.
5860 Check find_mmap_size return value.
5861 Replace fatal with error.
5862 Don't call grub_machine_fini.
5863 (grub_load_elf64): Replace printf with dprintf.
5864 (grub_cmd_linux): Likewise.
5865 (grub_cmd_initrd): Likewise.
5866 (grub_cmd_payload): Likewise.
5867
c779226e
VS
58682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5871 message.
5872 * grub-core/video/radeon_fuloong2e.c
5873 (grub_video_radeon_fuloong2e_setup): Likewise.
5874 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5875 * grub-core/video/video.c (grub_video_set_mode): Don't override
5876 standard out of memory message.
5877
dc87d45a
GS
58782012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5879
5880 NetBSD disk wedge support.
5881
5882 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5883 [__NetBSD__]: Handle NetBSD disk wedges.
5884 * util/getroot.c (convert_system_partition_to_system_disk)
5885 [__NetBSD__]: Likewise.
5886
055f856f
MW
58872012-02-03 Mark Wooding <mdw@distorted.org.uk>
5888
5889 * util/grub-mkconfig.in: Use umask rather than chmod to create
5890 grub.cfg.new to avoid insecure grub.cfg.
5891
4a9f8346
VS
58922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/commands/ls.c: Gettextize.
5895 * grub-core/commands/setpci.c: Likewise.
5896 * grub-core/commands/videotest.c: Likewise.
5897 * grub-core/disk/geli.c: Likewise.
5898 * grub-core/kern/mm.c: Likewise.
5899 * grub-core/lib/relocator.c: Likewise.
5900 * grub-core/loader/efi/appleloader.c: Likewise.
5901 * grub-core/loader/i386/xnu.c: Likewise.
5902 * grub-core/loader/ia64/efi/linux.c: Likewise.
5903 * grub-core/loader/xnu.c: Likewise.
5904 * grub-core/net/dns.c: Likewise.
5905 * grub-core/net/net.c: Likewise.
5906 * grub-core/script/lexer.c: Likewise.
5907 * grub-core/script/parser.y: Likewise.
5908 * grub-core/script/yylex.l: Likewise.
5909 * util/getroot.c: Likewise.
5910 * util/grub-setup.c: Likewise.
5911
a646a366
VS
59122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5915 number.
5916
54e2be26
VS
59172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5920
f7c71e68
VS
59212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5924 macro.
5925 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5926 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5927
a32d5c71
VS
59282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5931 * util/grub-install.in: Gettextize.
5932 * util/grub-mkconfig.in: Likewise.
5933 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5934 if not available.
5935 (grub_warn): Gettextize.
5936 * util/grub-mknetdir.in: Gettextize.
5937 * util/grub-mkrescue.in: Likewise.
5938 * util/grub-mkstandalone.in: Likewise.
5939 * util/grub-reboot.in: Likewise.
5940 * util/grub-set-default.in: Likewise.
5941 * util/grub.d/00_header.in: Likewise.
5942 * util/grub.d/10_hurd.in: Likewise.
5943 * util/grub.d/10_kfreebsd.in: Likewise.
5944 * util/grub.d/10_linux.in: Likewise.
5945 * util/grub.d/10_netbsd.in: Likewise.
5946 * util/grub.d/10_windows.in: Likewise.
5947 * util/grub.d/20_linux_xen.in: Likewise.
5948 * util/grub.d/30_os-prober.in: Likewise.
5949 * po/POTFILES-shell.in: Regenerate.
5950
69edd81a
RL
59512012-02-03 Richard Laager <rlaager@wiktel.com>
5952
5953 * util/grub-mkimage.c (main): Fix format-security warning.
5954 * util/grub-mkrelpath.c (main): Likewise.
5955 * util/grub-probe.c (main): Likewise.
5956
65f08dbf
RL
59572012-02-03 Richard Laager <rlaager@wiktel.com>
5958
5959 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5960 failure.
5961 Put back lost PRINT_DRIVE.
5962
e9084abe
RL
59632012-02-03 Richard Laager <rlaager@wiktel.com>
5964
5965 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5966 (grub_guess_root_devices): Replace strlen with sizeof.
5967 Avoid crash.
5968 (find_root_devices_from_poolname): Remove unused variable.
5969 Handle raidzN.
5970
cf5f7ee7
VS
59712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Support install on multi-device filesystems.
5974
5975 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5976 (grub_guess_root_devices): ...this. Return char **. All users updated.
5977 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5978 Removed.
5979 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5980 (find_root_devices_from_poolname): ... here.
5981 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5982 Support zfs-fuse.
5983 (grub_guess_root_device): Rename to ...
5984 (grub_guess_root_devices): ... this. Return char **. All users updated.
5985 * util/grub-install.in: Handle multi-device filesystems.
5986 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5987 argument. All users updated.
5988 Handle multi-device filesystems.
5989 Use 'delim' as separator.
5990 Remove device check to allow filesystems on file.
5991 (main): Support -0 argument. Handle multi-device.
5992 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5993 Fix a cross-device check while on it.
5994 (arguments): Remove root_dev.
5995 (argp_parser): Remove -r.
5996 (main): Remove root_dev.
5997
2f53a9ed
VS
59982012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6001
17e1d934
VS
60022012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6005 symbol.
6006 Reported by: NODA, Kai <nodakai>.
6007
d3e3fab5
VS
60082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 Fix ehci on amd64.
6011
6012 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6013 pointers.
6014 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6015 (grub_ehci_setup_qh): Likewise.
6016 (grub_ehci_find_qh): Likewise.
6017 (grub_ehci_transaction): Likewise.
6018 (grub_ehci_setup_transfer): Likewise.
6019 (grub_ehci_check_transfer): Likewise.
6020 (grub_ehci_portstatus): Likewise.
6021 (grub_ehci_detect_dev): Likewise.
6022 (grub_ehci_transfer_controller_data): New field td_last_phys.
6023 (grub_ehci_setup_transfer): Fill td_last_phys.
6024 (grub_ehci_check_transfer): Use td_last_phys.
6025
3008675b
SG
60262012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6027
6028 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6029 if no submenu is present.
6030
fc9b5652
AN
60312012-02-01 Aleš Nesrsta <starous@volny.cz>
6032
6033 CBI support.
6034
6035 * include/grub/usb.h (grub_usbms_protocol_t): New values
6036 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6037 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6038 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6039 (grub_usbms_dev): Add subclass, protocol and intrpt.
6040 Remove in_maxsz and out_maxsz.
6041 (grub_usbms_reset): Rename to ...
6042 (grub_usbms_bo_reset): .. this.
6043 (grub_usbms_cbi_cmd): New function.
6044 (grub_usbms_cbi_reset): Likewise.
6045 (grub_usbms_reset): Likewise.
6046 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6047 (grub_usbms_transfer): Rename to ...
6048 (grub_usbms_transfer_bo): ... this.
6049 (grub_usbms_transfer_cbi): Likewise.
6050 (grub_usbms_transfer): Likewise.
6051
a2b81d53
AN
60522012-02-01 Aleš Nesrsta <starous@volny.cz>
60532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6056 the support for the CS5536 modification thereos and few bugfixes.
6057
6058 * grub-core/Makefile.core.def (ehci): New module.
6059 * grub-core/bus/usb/ehci.c: New file.
6060 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6061 port and hubaddr. All users updated.
6062 Save port and hubaddr into dev structure.
6063 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6064 define.
6065 * include/grub/pci.h (grub_dma_phys2virt): New function.
6066 (grub_dma_virt2phys): Likewise.
6067 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6068
b1d51f02
VS
60692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6072 check as some mkfs implementations omit it.
6073
fc694106
VS
60742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6077
6c0920e3
VS
60782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6081 Add new member volname2.
6082 (grub_jfs_label): Use volname2 if available.
6083
d1a46f9a
VS
60842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6087 over last_mounted as seen in image generated by mkfs.nilfs2.
6088 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6089
dec8ed14
VS
60902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6093 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6094 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6095
7397c69b
VS
60962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6099 over the sector.
6100
b3fe42ad
VS
61012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6104 subvolume name (by removing a bogus and useless check).
6105
10476bb0
VS
61062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6109 sizeof while on it.
6110
9c08ad87
VS
61112012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6114 (grub_scsi_read_capacity10): ... this.
6115 (grub_scsi_read_capacity16): New function.
6116 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6117 0xffffffff.
6118 Fix off-by-one error.
6119 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6120 64-bit unsigned.
6121 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6122 (grub_scsi_read_capacity10): ... this.
6123 (grub_scsi_read_capacity_data): Rename to ...
6124 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6125 (grub_scsi_read_capacity16): New struct.
6126 (grub_scsi_read_capacity16_data): Likewise.
6127 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6128 grub_scsi_cmd_read_capacity10.
6129 New command grub_scsi_cmd_read_capacity16.
6130
bc8d0f45
VS
61312012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 SCSI >2TiB support.
6134
6135 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6136 (grub_scsi_write16): Likewise.
6137 (grub_scsi_read): Use read16 when necessary.
6138 (grub_scsi_write): Likewise.
6139 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6140 (grub_scsi_write16): Likewise.
6141 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6142
cc774926
VS
61432012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 SCSI write support (for usbms mainly).
6146
6147 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6148 a const pointer.
6149 (grub_scsi_write): Implement.
6150 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6151
67639fd7
VS
61522012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6155 variable.
6156
9079d3ed
VS
61572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6160
c6a6f204
VS
61612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * po/POTFILES.in: Regenerate.
6164
ecbf8cd1
VS
61652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6168 with grub_printf to avoid unnecessary fatal failure.
6169
0b3b3b38
VS
61702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6173 (INT_MAX): Likewise.
6174 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6175 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6176 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6177 (strcpy): Likewise.
6178 (strstr): Likewise.
6179 (strchr): Likewise.
6180 (strncpy): Likewise.
6181 (strcat): Likewise.
6182 (strncat): Likewise.
6183 (strcoll): Likewise.
6184 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6185 (GRUB_INT_MAX): Likewise.
6186
db7337a3
VS
61872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6190 unexpected error.
6191 (optimize_utf8): Likewise.
6192 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6193
f37c87e1
VS
61942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/boot/i386/pc/lnxboot.S: Use
6197 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6198 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6199 location.
6200 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6201 definition.
6202 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6203
63fe43f3
VS
62042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6207 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6208 now to avoid double free.
6209 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6210 hostdisk.
6211 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6212 * util/grub-probe.c (escape_of_path): Always return a new copy.
6213 (print_full_name): Escape path.
6214 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6215 Fix hints on abstractions.
6216
ebe2c961
VS
62172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6220 Don't add "root" line if no compatibility hont is available.
6221 Suggested by: Seth Goldberg.
6222
2b5336a2
VS
62232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6226 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6227 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6228 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6229
74310bd8
VS
62302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6233
c30582ba
VS
62342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * util/grub-pe2elf.c (ehdr): Make static.
6237 (shdr): Likewise.
6238 (num_sections): Likewise.
6239 (offset): Likewise.
6240
5f47782c
VS
62412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Eliminate ofpath limits and possible overflows.
6244
6245 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6246 (OF_PATH_MAX): Removed.
6247 (MAX_DISK_CAT): New const.
6248 (find_obppath): Use allocated rather than preallocated buffer.
6249 Return result. Argument of_path removed. All users updated.
6250 Add missing fdstat.
6251 (xrealpath): New function.
6252 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6253 Allocate rather than use preallocated buffer. All users updated.
6254 (__of_path_common): Use allocated rather than preallocatecd buffer.
6255 Return result. Argument of_path removed. All users updated.
6256 (vendor_is_ATA): Read only needed part form the file.
6257 (check_sas): Allocate depending on contents rather than fixed.
6258 (main) [STANDALONE]: Handle NULL result.
6259
f990cbf9
VS
62602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6263
9c6e84b8
VS
62642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 Cryptodisk write support.
6267
6268 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6269 (grub_cryptodisk_decrypt): Moved logic to ...
6270 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6271 (grub_cryptodisk_write): Implement.
6272 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6273 (grub_util_fd_write): ... this. Make global.
6274 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6275
87cf9744
VS
62762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * include/grub/list.h (grub_list_remove): Don't crash if element is
6279 removed twice.
6280
ca8c0baf
VS
62812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 Rename ofconsole to console.
6284
6285 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6286 as sysnonym to console.
6287 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6288 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6289 Rename grub_ofconsole_ to grub_console_. All users updated
6290 (grub_console_term_output): Rename "ofconsole" to "console".
6291 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6292 as "console".
6293
64c8b8f6
VS
62942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6297 handling.
6298 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6299 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6300 GRUB_DISK_DEVICE_FILE_ID.
6301
f6c434d5
VS
63022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6305 and improve performance.
6306
5858b42d
VS
63072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6310 missing ieee1275/ prefix on whole disk.
6311
4ed3c26b
VS
63122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6315 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6316
df71143e
VS
63172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6320
076e7c0f
VS
63212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 Merge common RAID and LVM logic to an abstract diskfilter.
6324 Add LDM support using the same framework.
6325
6326 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6327 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6328 (libgrubmods): Remove grub-core/disk/raid.c and
6329 grub-core/partmap/gpt.c.
6330 * grub-core/Makefile.core.def (ldm): New module.
6331 (raid): Renamed to diskfilter. All users updated.
6332 * grub-core/disk/raid.c: Moved to ...
6333 * grub-core/disk/diskfilter.c: ... here.
6334 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6335 (lv_num): New var.
6336 (find_array): Renamed to ...
6337 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6338 (grub_is_array_readable): Renamed to ...
6339 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6340 (insert_array): New argument id.
6341 (is_node_readable): New function.
6342 (scan_device): Rename to ...
6343 (scan_disk): .. this. Restrict to one disk.
6344 (scan_devices): New function.
6345 (grub_diskfilter_iterate): Support multi-LV.
6346 Skip invisible and nameless LVs.
6347 (grub_diskfilter_memberlist): Support multi-LV.
6348 (grub_diskfilter_read_node): New function.
6349 (grub_raid_read): Most of logic moved to ...
6350 (read_segment): ... here
6351 (read_lv): New function.
6352 (grub_diskfilter_get_vg_by_uuid): New function.
6353 (grub_diskfilter_make_raid): Likewise.
6354 * grub-core/disk/ldm.c: New file.
6355 * grub-core/disk/lvm.c (vg_list): Removed.
6356 (lv_count): Likewise.
6357 (scan_depth): Likewise.
6358 (is_lv_readable): Likewise.
6359 (grub_lvm_getvalue): Advance pointer past the number.
6360 (find_lv): Removed.
6361 (do_lvm_scan): Refactored into ...
6362 (grub_lvm_detect): ... this. Support raid.
6363 (grub_lvm_iterate): Removed.
6364 (grub_lvm_memberlist): Likewise.
6365 (grub_lvm_open): Likewise.
6366 (grub_lvm_close): Likewise.
6367 (read_lv): Likewise.
6368 (read_node): Likewise.
6369 (is_node_readable): Likewise.
6370 (is_lv_readable): Likewise.
6371 (grub_lvm_read): Likewise.
6372 (grub_lvm_write): Likewise.
6373 (grub_lvm_dev): Use diskfilter
6374 (GRUB_MOD_INIT): Likewise.
6375 (GRUB_MOD_FINI): Likewise.
6376 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6377 new interface.
6378 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6379 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6380 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6381 grub_diskfilter_read_node.
6382 Fix a bug with xor.
6383 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6384 grub_diskfilter_read_node.
6385 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6386 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6387 (grub_disk_dev_iterate): Move from here...
6388 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6389 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6390 Make global.
6391 (grub_hostdisk_find_partition_start): Likewise.
6392 (grub_hostdisk_os_dev_to_grub_drive): New function.
6393 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6394 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6395 * util/getroot.c (make_device_name): ... here.
6396 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6397 Move to ...
6398 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6399 * grub-core/kern/emu/hostdisk.c
6400 (convert_system_partition_to_system_disk): Move to ...
6401 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6402 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6403 * util/getroot.c (device_is_wholedisk): ... here.
6404 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6405 * util/getroot.c (find_system_device): ... here.
6406 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6407 Move to ...
6408 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6409 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6410 Move to ...
6411 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6412 Handle LDM.
6413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6414 Move to ...
6415 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6416 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6417 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6418 DISKFILTER.
6419 * include/grub/raid.h: Renamed to ...
6420 * include/grub/diskfilter.h: ... this.
6421 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6422 (GRUB_RAID_LAYOUT_*): Make into array.
6423 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6424 (grub_diskfilter_vg): New struct.
6425 (grub_diskfilter_pv_id): Likewise.
6426 (grub_raid_member): Removed.
6427 (grub_raid_array): Likewise.
6428 (grub_diskfilter_pv): New struct.
6429 (grub_diskfilter_lv): Likewise.
6430 (grub_diskfilter_segment): Likewise.
6431 (grub_diskfilter_node): Likewise.
6432 (grub_diskfilter_get_vg_by_uuid): New proto.
6433 (grub_raid_register): Inline.
6434 (grub_diskfilter_unregister): Likewise.
6435 (grub_diskfilter_make_raid): New proto.
6436 (grub_diskfilter_vg_register): Likewise.
6437 (grub_diskfilter_read_node): Likewise.
6438 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6439 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6440 (grub_util_is_ldm): Likewise.
6441 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6442 (grub_hostdisk_find_partition_start): Likewise.
6443 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6444 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6445 New definition.
6446 (grub_gpt_partition_map_iterate): New proto.
6447 * include/grub/lvm.h (grub_lvm_vg): Removed.
6448 (grub_lvm_pv): Likewise.
6449 (grub_lvm_lv): Likewise.
6450 (grub_lvm_segment): Likewise.
6451 (grub_lvm_node): Likewise.
6452 * util/getroot.c [...]
6453 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6454 (probe_abstraction): Likewise.
6455 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6456 (main): Remove dead logic.
6457
8a7f9b9c
VS
64582012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Simplify root device discover and don't fail when trying to open
6461 incorrect devices.
6462
6463 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6464 function.
6465 (get_diskname_from_path): Likewise.
6466 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6467 of iterating.
6468
30545b85
VS
64692012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6472
28ea58cf
VS
64732012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6476 pastthe end.
6477
692dabca
VS
64782012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * util/grub-install.in: Add missing \.
6481 Reported by: gentoofan
6482
f6e4ea70
VS
64832012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6486 (direct_read): Use correct compressed size.
6487 (grub_squash_read_data): Likewise.
6488
64892012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6490
6491 * docs/grub.texi (Platform limitations): New section.
6492 (Platform-specific operations): Likewise.
6493 * docs/grub-dev.texi (Porting): Likewise.
6494
76261110
VS
64952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 IEEE1275 disk write support.
6498
6499 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6500 const void *.
6501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6502 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6503 and seek loginc to ...
6504 (grub_ofdisk_prepare): ... here.
6505 (grub_ofdisk_write): Implement.
6506
fc36d603
VS
65072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 ARC disk write support.
6510
6511 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6512 (reopen): New argument writable. All users updated.
6513 Handle required access mode.
6514 (grub_arcdisk_write): Implement.
6515 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6516 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6517
e06c2e7a
VS
65182012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6521 (read_sblock): Don't attempt to read superblocks outside the disk size.
6522
ff447958
VS
65232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6526 first superblock to find the second one when possible.
6527
9e88df39
VS
65282012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * util/grub-install.in: Fix an ARC bug.
6531 Print a warning if no platform-specific setup is available.
6532
bb26e4ff
VS
65332012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Use static allocation rather than scratch pointer in reed_solomon.
6536 It decreases its size significantly and avoids a variable in .text.
6537
6538 * grub-core/lib/reed_solomon.c (scratch): Removed.
6539 (chosenstat): New const or static array.
6540 (sigma): Likewise.
6541 (errpot): Likewise.
6542 (errpos): Likewise.
6543 (sy): Likewise.
6544 (mstat): Likewise.
6545 (errvals): Likewise.
6546 (eqstat): Likewise.
6547 (pol_evaluate): Replace x with log_x argument. All users updated.
6548 (syndroms): Removed.
6549 (gauss_solve): Use statically allocated arrays.
6550 (rs_recover): Likewise.
6551 Calculate syndroms directly.
6552 (decode_block): Use statically allocated arrays.
6553 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6554 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6555
2e13ede5
VS
65562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Eliminate fixed limit on reed solomon decoder length.
6559
6560 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6561 rather than hardcoding the address.
6562 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6563 no_reed_solomon_length.
6564 Move gate_a20 to no-reed-solomon part.
6565 Don't force a particular size of no reed-solomon part.
6566 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6567 Removed.
6568 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6569 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6570
f8a9ab12
VS
65712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * grub-core/commands/wildcard.c (match_files): Handle filenames
6574 without explicit device.
6575 (wildcard_expand): Don't add explicit device if not already present.
6576 * tests/grub_script_echo1.in: Add a new expansion test.
6577
87edb894
VS
65782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Replace single-linked with double-linked lists. It results in more
6581 compact and more efficient code.
6582
6583 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6584 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6585 (grub_list_remove): Moved from here ...
6586 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6587 (grub_prio_list_insert): Set prev.
6588 * include/grub/list.h (grub_list): Add prev. All users updated.
6589
48b391e9
VS
65902012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Handle newer autotools. Add some missing quotes while on it.
6593
6594 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6595 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6596 (pkgdata_DATA): ... here.
6597 * Makefile.util.def (update-grub_lib): Removed.
6598 * conf/Makefile.common (pkglib_DATA): Removed.
6599 (pkglib_SCRIPTS): Likewise.
6600 (pkgdata_DATA): New variable.
6601 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6602 needed.
6603 Add missing quotes.
6604 Remove unused variable while on it.
6605 * tests/util/grub-shell.in: Likewise.
6606 * util/grub-install.in: Likewise.
6607 * util/grub-mkconfig.in: Likewise.
6608 * util/grub-mknetdir.in: Likewise.
6609 * util/grub-mkrescue.in: Likewise.
6610 * util/grub-mkstandalone.in: Likewise.
6611 * util/grub.d/00_header.in: Likewise.
6612 * util/grub.d/10_hurd.in: Likewise.
6613 * util/grub.d/10_illumos.in: Likewise.
6614 * util/grub.d/10_kfreebsd.in: Likewise.
6615 * util/grub.d/10_linux.in: Likewise.
6616 * util/grub.d/10_netbsd.in: Likewise.
6617 * util/grub.d/10_windows.in: Likewise.
6618 * util/grub.d/20_linux_xen.in: Likewise.
6619 * util/grub.d/30_os-prober.in: Likewise.
6620 * util/update-grub_lib.in: Removed.
6621
66222012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6623
6624 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6625 a workaround for intel problem.
6626
66832792
PRP
66272012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
66282012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
66292012-01-23 pfsmorigo
6630
6631 * util/grub-install.in: Support dd'in into PreP partition.
6632 * util/grub-probe.c (probe): Support discovering partition type.
6633 (main): Support -t msdos_parttype.
6634
7816a17e
VS
66352012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6638 infinite recursion using counter.
6639 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6640 init to skip it if the magic check fails.
6641 (dec_stream_header): Init s->crc32.
6642
8f9d3a8c
ZB
66432012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
66442012-01-22 Zachary Bedell <pendorbound@gmail.com>
66452012-01-22 Richard Laager <rlaager@wiktel.com>
6646
6647 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6648 All users updated.
6649 (find_bestub): Determine correct size.
6650 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6651 (scan_disk): Align the size down.
6652 Call check pool before find_bestub to have ashift.
6653
b055dd32
VS
66542012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6657 dprintf in no-malloc zone.
6658
d779e9bd
ML
66592012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6660
6661 * configure.ac: Add back in test for limits.h.
6662
b508af69
VS
66632012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Support 4K-sector NTFS.
6666
6667 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6668 (grub_ntfs_data): Remove blocksize.
6669 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6670 Remove data argument. All users updated.
6671
dad9c8b5
VS
66722012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6675 being in .text to avoid dprel references.
6676 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6677 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6678 (grub_arch_highmemsize): Likewise.
6679 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6680 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6681 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6682
d43a777e
VS
66832012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6686
6687 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6688 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6689
34e4208f
VS
66902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6693 GRUB_UTIL.
6694 (grub_set_datetime_cmos): Likewise.
6695
3ec0fc1c
VS
66962012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Make XZ compression parameters dependent on target and not host CPU.
6699
6700 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6701 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6702
22489834
VS
67032012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6706 set but not used variable.
6707
8502fbca
VS
67082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6711 created when no uuid support is compiled into mkfs.reiser.
6712
76df2068
VS
67132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6716 (utf8_to_macroman): Do the opposite.
6717 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6718
64e3f8f6
VS
67192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * configure.ac: Refise build qemu_mips w/o unifont.
6722
9c271078
VS
67232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Eliminate grub_min/grub_max prone to overflow usage.
6726
6727 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6728 (poll_nonroot_hub): Likewise.
6729 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6730 (grub_affs_label): Likewise.
6731 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6732 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6733 (grub_hfs_label): Likewise.
6734 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6735 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6736 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6737 (zap_leaf_array_get): Likewise.
6738 (dnode_get_path): Likewise.
6739 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6740 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6741 * grub-core/script/execute.c (grub_script_break): Likewise.
6742 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6743 grub_max.
6744 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6745 * include/grub/misc.h (grub_min): Removed.
6746 (grub_max): Likewise.
6747
80662dbc
VS
67482012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6749
6750 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6751 direct.inode = 0.
6752
e6da1467
VS
67532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6756
b1ac4cb1
VS
67572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6760
b4bf7c3b
VS
67612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6764 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6765
8ee1101a
VS
67662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6769 rather than a hack for grub_strncasemap.
6770
67712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 Support multiple initrds
6774 Note: part of this was accidently committed in r3739.
6775
6776 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6777 initrd.
6778 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6779 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6780 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6781 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6782 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6783
4d1e2bc9
VS
67842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6787 disks with unknown size.
6788 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6789
75b49ebe
VS
67902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Remove defines pertaining to arbitrary limits not affecting GRUB
6793 anymore.
6794
6795 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6796 (EXT2_MAX_SYMLINKCNT): Likewise.
6797 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6798 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6799 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6800 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6801 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6802 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6803 (DN_MAX_OBJECT_SHIFT): Likewise.
6804 (DN_MAX_OFFSET_SHIFT): Likewise.
6805 (DN_MAX_OBJECT): Likewise.
6806 (DNODES_PER_LEVEL_SHIFT): Likewise.
6807 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6808 (SPA_MAXBLOCKSIZE): Likewise.
6809 (SPA_BLOCKSIZES): Likewise.
6810 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6811 (MZAP_MAX_BLKSZ): Likewise.
6812
74a1dce7
VS
68132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6816 handle NULL appropriately.
6817 Remove MIN.
6818
30c7d3ce
VS
68192012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 Fix efiemu.
6822
6823 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6824 cpu/types.h.
6825 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6826 * configure.ac: Fix efiemu check.
6827
3c76ea0c
VS
68282012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6831 grub_probe.
6832 Reported by: adamwill
6833
7e532280
SG
68342012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6835
6836 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6837
30492374
VS
68382012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 Fix handling of wide characters in gfxterm.
6841
6842 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6843 (clear_char): Likewise.
6844 (paint_char): Skip code == NULL chars.
6845 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6846
e70cb72f
VS
68472012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/normal/charset.c: Move comment to right place.
6850
5c827cf9
VS
68512012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6854 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6855 (grub_affs_mount): Revert the correct version checking.
6856
53603892
VS
68572012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * docs/grub.texi (Unicode): Mention several other unsupported features.
6860
ff094b9b
VS
68612011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6864 case statements as compile-time one.
6865 (direct_read): Prevent spurious warnings.
6866 (grub_squash_read_data): Likewise.
6867
c029da8a
VS
68682011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 Various squash4 fixes and LZO and XZ support.
6871
6872 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6873 Add xzembed source files.
6874 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6875 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6876 (grub_squash_inode): New subtype long_dir.
6877 (SQUASH_TYPE_LONG_DIR): New inode type.
6878 (COMPRESSION): New enum.
6879 (XZBUFSIZ): New const.
6880 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6881 (read_chunk): Use data->decompress.
6882 (zlib_decompress): New function.
6883 (lzo_decompress): Likewise.
6884 (xz_decompress): Likewise.
6885 (squash_mount): Set new data fields.
6886 (grub_squash_iterate_dir): Handle long dir.
6887 (squash_unmount): Free xzdec and xzbuf.
6888 (grub_squash_open): Check ino type.
6889 (direct_read): Stylistic fixes. Use data->decompress.
6890 (grub_squash_read_data): Likewise.
6891 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6892 (get_byte): Likewise.
6893 (grub_zlib_disk_read): Removed.
6894 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6895 (GRUB_POSIX_BOOL_DEFINED): New define.
6896 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6897 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6898 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6899 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6900
7a45a539
VS
69012011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Don't override more informative errors.
6904
6905 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6906 * grub-core/font/font.c (open_section): Likewise.
6907 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6908 filename. Don't override errors.
6909 (grub_cmd_openbsd_ramdisk): Don't override errors.
6910 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6911 (grub_cmd_initrd): Likewise.
6912 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6913 (grub_cmd_initrd): Likewise.
6914 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6915 (grub_cmd_linux): Likewise.
6916 (grub_cmd_initrd): Likewise.
6917 (grub_cmd_payload): Likewise.
6918 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6919 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6920 (grub_cmd_module): Likewise.
6921 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6922 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6923 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6924 (grub_cmd_xnu_mkext): Likewise.
6925 (grub_cmd_xnu_ramdisk): Likewise.
6926 (grub_xnu_check_os_bundle_required): Likewise.
6927 (grub_xnu_load_kext_from_dir): Likewise.
6928 (grub_cmd_xnu_kextdir): Likewise.
6929 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6930
b2d004db
VS
69312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6934 as 1024 in block size field. Found on one of my test images.
6935 Small optimisation while on it.
6936
ec000eac
VS
69372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6940 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6941 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6942 performance fixes while on it.
6943 (grub_sfs_close): Fix memory leak while on it.
6944 (grub_sfs_label): Convert Latin1 to UTF-8.
6945
f50e1165
VS
69462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6949 space to avoid overflows.
6950 (grub_hfs_label): Convert from macroman to UTF-8.
6951
2ae254de
VS
69522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6955
0108f491
VS
69562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6959
f45f5f89
VS
69602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * unicode: Import Unicode 6.0 data.
6963
4d8c4765
VS
69642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6965
63fa8ef9
VS
6966 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6967 outside of range.
6968
69692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6972
6973 * include/grub/charset.h (grub_getend): New function.
6974 * grub-core/script/function.c (grub_script_function_find): Use
6975 grub_getend.
6976 * grub-core/normal/completion.c (add_completion): Likewise.
6977
f3cb4a4e
VS
69782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6981 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6982 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6983 (GRUB_UNICODE_TAG_END): Likewise.
6984 (GRUB_UNICODE_LAST_VALID): Likewise.
6985
5da8dbc5
VS
69862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6989 len and make it smaller. All users updated.
6990 * util/import_unicode.py: Put length and not end character.
6991 Check length.
6992
8569f13d
VS
69932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 Make better Unicode-compliant and unify some UTF-8 code pathes.
6996
6997 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6998 valid character.
6999 (grub_is_valid_utf8): Use grub_utf8_process.
7000 Check resulting code range.
7001 (grub_utf8_to_ucs4): Use grub_utf8_process.
7002 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7003 valid character.
7004
cc4fddf5
VS
70052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7008
bbc47747
VS
70092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * docs/grub.texi (Filesystems): Mention AFS.
7012
f63d6bf4
VS
70132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * docs/grub.texi (Filesystems): Clarify restrictions.
7016 (Regexp): Mention non-Unicode regexp behaviour.
7017 (Other): Mention non-Unicode matching behaviour.
7018
74bbf0db
VS
70192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7020
f63d6bf4 7021 Make HFS implementation use MacRoman.
74bbf0db
VS
7022
7023 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7024 (macroman): New const array.
7025 (macroman_to_utf8): New function.
7026 (utf8_to_macroman): Likewise.
7027 (grub_hfs_find_dir): Use utf8_to_macroman.
7028 (grub_hfs_dir): Use macroman_to_utf8.
7029 Set case_insensitive.
7030
4ea0316e
VS
70312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7034
d3c13cbd
VS
70352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Integrate hints into autogeneration scripts.
7038
7039 * docs/grub.texi (Filesystems): Add a hostdisk example.
7040 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7041 (grub-probe): Add ofpath.
7042 * gentpl.py: Remove group nosparc64.
7043 * grub-core/commands/search.c (cache_entry): New struct.
7044 (cache): New var.
7045 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7046 * grub-core/commands/search_wrap.c (options): Add platform-specific
7047 hint options.
7048 (grub_cmd_search): Handle platform-specific hints.
7049 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7050 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7051 (grub_util_biosdisk_data): Likewise.
7052 (grub_util_biosdisk_open): Set device_map.
7053 (read_device_map): Handle "" as indication of no map.
7054 Set device_map.
7055 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7056 (grub_util_biosdisk_get_compatibility_hint): New function.
7057 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7058 * include/grub/emu/hostdisk.h
7059 (grub_util_biosdisk_get_compatibility_hint): New proto.
7060 * util/grub-install.in: Don't call grub-mkdevicemap.
7061 Add platform-specific hint to load.cfg.
7062 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7063 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7064 hints. Set root preliminary to compatibility hint, not to OS name.
7065 * util/grub-probe.c (PRINT_*): Add hints.
7066 (print): Make static.
7067 (escape_of_path): New function.
7068 (guess_bios_drive): Likewise.
7069 (guess_efi_drive): Likewise.
7070 (guess_baremetal_drive): Likewise.
7071 (print_full_name): Likewise.
7072 (probe): Handle hints.
7073 (main): Likewise.
7074 * util/ieee1275/devicemap.c: Removed.
7075 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7076 updated.
7077 (grub_util_devname_to_ofpath): Return NULL on failure.
7078
7079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7080 resource leak.
7081 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7082
7083 * po/POTFILES.in: Regenerated.
7084
7085 Allow purely long options
7086
7087 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7088 (SHORT_ARG_USAGE): Likewise.
7089 (grub_arg_show_help): Compare opt with help_options.
7090 (parse_option): Receive opt as argument. If makes big simplificatons.
7091 All users updated
7092
00ce2df3
VS
70932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7096 Restructure to avoid warning.
7097
e77e325f
VS
70982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * util/grub-install.in: Account for possible escaped comma in device
7101 name.
7102
165099ea
VS
71032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7106 channel.
7107
ce4a999d
VS
71082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7111 allocation and zero-setting.
7112 (grub_ieee1275_get_devname): Check that alias is complete.
7113
379586ad
VS
71142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7117 unaligned segments.
7118
9197b0ad
VS
71192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7122 prefix.
7123 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7124 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7125 Add ieee1275 prefix.
7126
edddb7f9
VS
71272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * docs/grub.texi (Filesystems): Update.
7130
a1a8b1b9
VS
71312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 Support odc, newc and bigendian cpio formats.
7134
7135 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7136 * grub-core/Makefile.core.def (newc): New module.
7137 (odc): Likewise.
7138 (cpio_be): Likewise.
7139 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7140 (MAGIC): Likewise.
7141 (MAGIC2): Likewise.
7142 (head) [MODE_ODC]: Adapt for the format.
7143 (head) [MODE_NEWC]: Likewise.
7144 (head) [!MODE_*]: Write fields of interest as arrays.
7145 (MAGIC_USTAR): Removed.
7146 (read_number) [MODE_NEWC]: Change to hex.
7147 (read_number) [!MODE_*]: Parse binary arrays.
7148 (grub_cpio_find_file): Factor out the code for better structure and
7149 always use read_number.
7150 (grub_cpio_mount): Use MAGIC and MAGIC2.
7151 (grub_cpio_dir): Exit on first hook non-0 return.
7152 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7153 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7154 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7155 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7156 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7157 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7158 * grub-core/fs/newc.c: New file.
7159 * grub-core/fs/odc.c: Likewise.
7160 * grub-core/fs/cpio_be.c: Likewise.
7161
58eba9ee
VS
71622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Fix handling of tar numbers occupying the whole field.
7165
7166 * grub-core/fs/cpio.c (read_number): New function.
7167 (grub_cpio_find_file): Use read_number instead of strtoull.
7168
a54a0e12
VS
71692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7172 occupying the whole field size.
7173
a6120aca
LA
71742011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7175
7176 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7177
a93964ce
VS
71782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7181
3ea1ca46
SG
71822011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7183
7184 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7185 TARGET_IMG_LDFLAGS.
7186
b87f7ef2
VS
71872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7190 (mountinfo_entry): Increase the field size to take escaping into
7191 account.
7192 (find_root_device_from_libzfs): Add one byte to size of strings for
7193 security.
7194
62092395
VS
71952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7198 an assert.
7199 * util/grub-setup.c (setup): Likewise.
7200
1f0b1a77
VS
72012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7204 _LzmaDecodeA.
7205
8eba9997
VS
72062011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * docs/grub.texi (Internationalisation): New section.
7209
dd0c91e9
VS
72102011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * docs/grub.texi (Loopback booting): New section.
7213
72142011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7215
7216 * util/grub-mkstandalone.in: Fix minor typo errors.
7217
198e150a
VS
72182011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7221
7222 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7223 net/icmp.c and net/icmp6.c.
7224 (http): New module.
7225 (priority_queue): Likewise.
7226 * grub-core/io/bufio.c: Rewritten.
7227 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7228 TYPE_WITH_CONFIGFILE_OPTION.
7229 (legacy_commands): Add bootp and dhcp.
7230 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7231 (grub_legacy_parse): Likewise.
7232 * grub-core/lib/priority_queue.c: New file.
7233 * grub-core/net/arp.c: Add missing license header.
7234 (arp_find_entry): Removed.
7235 (arp_find_entry): Likewise.
7236 (grub_net_arp_resolve): Rename to ...
7237 (grub_net_arp_send_request): ...this.
7238 (grub_net_arp_receive): New card argument.
7239 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7240 Set router and DNS server.
7241 (grub_net_configure_by_dhcp_ack): Handle routing information.
7242 (grub_cmd_bootp): Set checksum.
7243 (grub_bootp_init): Remove net_dhcp.
7244 * grub-core/net/dns.c: New file.
7245 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7246 completion.
7247 (get_card_packet): Handle allocation.
7248 (grub_efinet_findcards): Set mtu.
7249 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7250 (get_card_packet): Handle allocation.
7251 (emucard): Set mtu.
7252 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7253 (GRUB_MOD_INIT): Set mtu.
7254 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7255 mtu.
7256 (get_card_packet): Handle allocation.
7257 (grub_ofnet_findcards): Set mtu.
7258 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7259 assert.
7260 (grub_net_recv_ethernet_packet): Handle IPv6.
7261 * grub-core/net/http.c: New file.
7262 * grub-core/net/icmp.c: Likewise.
7263 * grub-core/net/icmp6.c: Likewise.
7264 * grub-core/net/ip.c (ip6addr): New type.
7265 (ip6hdr): Likewise.
7266 (reassemble): Likewise.
7267 (cmp): New function.
7268 (reassembles): New variable.
7269 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7270 (id): New variable.
7271 (send_fragmented): New function.
7272 (grub_net_send_ip_packet): Rename to ...
7273 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7274 Handle non-UDP.
7275 (grub_net_recv_ip_packets): Rename to ...
7276 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7277 (free_rsm): New function.
7278 (free_old_fragments): Likewise.
7279 (grub_net_recv_ip4_packets): New function.
7280 (grub_net_send_ip6_packet): Likewise.
7281 (grub_net_send_ip_packet): Likewise.
7282 (grub_net_recv_ip6_packets): Likewise.
7283 (grub_net_recv_ip_packets): Likewise.
7284 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7285 (LINK_LAYER_CACHE_SIZE): New const.
7286 (link_layer_find_entry): New function.
7287 (grub_net_link_layer_add_address): Likewise.
7288 (grub_net_link_layer_resolve_check): Likewise.
7289 (grub_net_link_layer_resolve): Likewise.
7290 (grub_net_ipv6_get_slaac): Likewise.
7291 (grub_net_ipv6_get_link_local): Likewise.
7292 (grub_cmd_ipv6_autoconf): Likewise.
7293 (parse_ip): Handle one number representation.
7294 (parse_ip6): New functoion.
7295 (match_net): Handle IPv6.
7296 (grub_net_resolve_address): Handle IPv6 and DNS.
7297 (grub_net_resolve_net_address): Handle IPv6.
7298 (route_cmp): New function.
7299 (grub_net_route_address): Find best route.
7300 (grub_net_addr_to_str): Handle IPv6.
7301 (grub_net_addr_cmp): New function.
7302 (grub_net_add_addr): Register local route.
7303 (print_net_address): Handle net address.
7304 (grub_net_poll_cards): Retransmit TCP.
7305 (grub_net_poll_cards_idle_real): Likewise.
7306 (have_ahead): New function.
7307 (grub_net_seek_real): Use underlying seek.
7308 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7309 * grub-core/net/tcp.c: New file.
7310 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7311 (cmp): New function.
7312 (ack): Likewise.
7313 (tftp_receive): Handle unordered input.
7314 (destroy_pq): New function.
7315 (tftp_close): Close pq.
7316 * grub-core/net/udp.c: Put missing license header.
7317 (grub_net_udp_socket): New function.
7318 (udp_socket_register): Likewise.
7319 (grub_net_udp_close): Likewise.
7320 (grub_net_recv_udp_packet): Check checksum.
7321 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7322 * include/grub/misc.h (grub_memchr): New function.
7323 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7324 (grub_net_card_driver): Return buf in recv.
7325 (grub_net_slaac_mac_list): New struct.
7326 (grub_network_level_protocol_id): Add ipv6.
7327 (grub_net_network_level_addr): Likewise.
7328 (grub_net_network_level_net_addr): Likewise.
7329 (grub_net_app_protocol): Add seek.
7330 (grub_net_socket): Removed.
7331 (grub_net_sockets): Likewise.
7332 (grub_net_socket_register): Likewise.
7333 (grub_net_socket_unregister): Likewise.
7334 (FOR_NET_SOCKETS): Likewise.
7335 (grub_net_add_addr): Add const.
7336 (GRUB_NET_BOOTP_*): New enum.
7337 (grub_net_addr_cmp): New proto.
7338 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7339 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7340 (grub_net_hwaddr_to_str): NEw proto.
7341 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7342 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7343 (grub_dns_init): New proto.
7344 (grub_dns_fini): Likewise.
7345 (grub_net_tcp_retransmit): Likewise.
7346 (grub_net_link_layer_add_address): Likewise.
7347 (grub_net_link_layer_resolve_check): Likewise.
7348 (grub_net_link_layer_resolve): Likewise.
7349 (grub_net_dns_lookup): Likewise.
7350 (grub_net_add_dns_server): Likewise.
7351 (grub_net_remove_dns_server): Likewise.
7352 (GRUB_NET_TRIES): New const.
7353 (GRUB_NET_INTERVAL): Likewise.
7354 * include/grub/net/arp.h: Mostly rewritten.
7355 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7356 * include/grub/net/ip.h: Mostly rewritten.
7357 * include/grub/net/netbuff.h: Indent.
7358 * include/grub/net/tcp.h: New file.
7359 * include/grub/net/udp.h: Mostly rewritten.
7360 * include/grub/priority_queue.h: New file.
7361 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7362 (grub_swap_bytes64_compile_time): Likewise.
7363 (grub_cpu_to_be16_compile_time): Likewise.
7364 (grub_cpu_to_be32_compile_time): Likewise.
7365 (grub_cpu_to_be64_compile_time): Likewise.
7366 (grub_be_to_cpu64_compile_time): Likewise.
7367
215c1800
VS
73682011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7371 UINT_TO_PTR with cast.
7372
c17e546c
VS
73732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7376 don't use them.
7377
ff6b18b6
VS
73782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7381 already there.
7382
70ffcc93
VS
73832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7386 confusing ipxe.
7387
e5f4d260
VS
73882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7391 Add missing const attribute.
7392 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7393 Likewise.
7394 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7395 Likewise.
7396
8e54b4b7
VS
73972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7400 misaligned access.
7401 (serpent_setkey): Likewise.
7402 (serpent_encrypt_internal): Likewise.
7403 (serpent_decrypt_internal): Likewise.
7404 (serpent_encrypt): Don't put an alignment-increasing cast.
7405 (serpent_decrypt): Likewise.
7406 (serpent_test): Likewise.
7407
813c0a2b
VS
74082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7411
f2b60fbd
VS
74122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7415
7416 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7417 grub_addr_t casts.
7418 (PTR_TO_UINT64): Likewise.
7419 (PTR_TO_UINT32): Likewise.
7420
5ef5c511
VS
74212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7424 because of stack.
7425 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7426 limit.
7427
c476e6df
VS
74282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7431 text_width > available width a bit more gracefully.
7432
384ad7cc
VS
74332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7436 current address calculation.
7437
96f8caf8
VS
74382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7441 stack.
7442 (encode_block): Likewise.
7443
276b7a8b
VS
74442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7447 certainety.
7448
e3fd394a
VS
74492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7452 non-RS part to avoid RS messing with GDT.
7453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7454 Increase to suit in realmode routines.
7455
74562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/kern/i386/realmode.S: Increase alignment.
7459 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7460
ee9c2e7a
VS
74612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7464 be deterministic.
7465 (syndroms): Compute 0 syndrom.
7466 (rs_recover): Use 0 syndrom.
7467
7a7f7cc9
VS
74682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7471
a14b16d1
VS
74722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7475 brackets.
7476
9f59e9fc
VS
74772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7478
ca1b552c
VS
7479 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7480 account.
7481 (get_top_pad): Likewise.
7482 (get_right_pad): Likewise.
7483 (get_bottom_pad): Likewise.
7484
74852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7488
e739d698
VS
74892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7492 attribute as the structure isn't guaranteed to be properly aligned.
7493 (grub_efi_pci_device_path): Likewise.
7494 (grub_efi_pccard_device_path): Likewise.
7495 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7496 specify the size of `memory_type'.
7497 (grub_efi_vendor_device_path): Likewise.
7498 (grub_efi_controller_device_path): Likewise.
7499 (grub_efi_acpi_device_path): Likewise.
7500 (grub_efi_expanded_acpi_device_path): Likewise.
7501 (grub_efi_atapi_device_path): Likewise.
7502 (grub_efi_scsi_device_path): Likewise.
7503 (grub_efi_fibre_channel_device_path): Likewise.
7504 (grub_efi_1394_device_path): Likewise.
7505 (grub_efi_usb_device_path): Likewise.
7506 (grub_efi_usb_class_device_path): Likewise.
7507 (grub_efi_i2o_device_path): Likewise.
7508 (grub_efi_mac_address_device_path): Likewise.
7509 (grub_efi_ipv4_device_path): Likewise.
7510 (grub_efi_ipv6_device_path): Likewise.
7511 (grub_efi_infiniband_device_path): Likewise.
7512 (grub_efi_uart_device_path): Likewise.
7513 (grub_efi_vendor_messaging_device_path): Likewise.
7514 (grub_efi_hard_drive_device_path): Likewise.
7515 (grub_efi_cdrom_device_path): Likewise.
7516 (grub_efi_vendor_media_device_path): Likewise.
7517 (grub_efi_file_path_device_path): Likewise.
7518 (grub_efi_protocol_device_path): Likewise.
7519 (grub_efi_piwg_device_path): Likewise.
7520 (grub_efi_bios_device_path): Likewise.
7521
cb8f88ea
VS
75222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7525 (grub_ucs4_to_utf8_alloc): Likewise.
7526 (grub_ucs4_to_utf8): Likewise.
7527 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7528 (grub_ucs4_to_utf8_alloc): Likewise.
7529
309e5352
VS
75302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 AFFS never uses unicode.
7533
7534 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7535 (grub_latin1_to_utf8): New inline function.
7536 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7537
e7987e1b
VS
75382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7541 overflow.
7542
efc2616e
VS
75432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7546 (grub_squash_dirent_header): Likewise.
7547 (read_chunk): Don't double swap.
7548 (grub_squash_iterate_dir): Fix swap sizes.
7549
3c349f5a
VS
75502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7553
b453412d
VS
75542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7557 (grub_hfs_iterate_dir): Likewise.
7558
12e9d4d1
VS
75592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Fix video on platforms where unaligned access is forbidden.
7562 Make several optimisations while on it.
7563
7564 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7565 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7566 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7567 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7568 Disable.
7569 (grub_video_fbblit_replace_16bit_1bit):
7570 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7571 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7572 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7573 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7574 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7575 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7576 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7577 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7578 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7579 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7580 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7581 (grub_video_fbblit_replace_index_RGB888): Likewise.
7582 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7583 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7584 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7585 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7586 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7587 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7588 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7589 Disable.
7590 (grub_video_fbblit_blend_XXX565_1bit):
7591 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7592 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7593 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7594 void *.
7595 * grub-core/video/fb/video_fb.c (common_blitter)
7596 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7597 (grub_video_fb_create_render_target_from_pointer)
7598 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7599 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7600 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7601 definition.
7602 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7603
ace96609
VS
76042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7607 HH22 and HM10 relocations.
7608
fd261d73
VS
76092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7612
e59b7857
VS
76132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7616 allocation succeeded.
7617
9b4baaa4
VS
76182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7621 argument a u8 pointer. All users updated.
7622 Handle unaligned buffers.
7623
dc713193
VS
76242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7627 add_part to workaround compiler bug.
7628
30dd48c2
VS
76292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7632
0c6087a8
VS
76332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7636 Reserve alignment invariants.
7637 (grub_multiboot_load): Likewise.
7638 (retrieve_video_parameters): Likewise.
7639 (grub_multiboot_make_mbi): Likewise.
7640
c2e77777
VS
76412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7644 incorrect pointer.
7645
b70b6d11
VS
76462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7649 (grub_pata_pio_write): Likewise.
7650
02a2bf83
VS
76512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 Add noreturn attributes and remove unreachable code.
7654
7655 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7656 code.
7657 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7658 code. Mark as noreturn.
7659 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7660 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7661 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7662 unreachable code.
7663 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7664 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7665 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7666 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7667 * include/grub/kernel.h (grub_main): Mark as noreturn.
7668 * include/grub/reader.h (grub_rescue_run): Likewise.
7669
2019d09e
VS
76702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7673 redundant declaration.
7674
d1c501ee
VS
76752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7678 redundant declaration.
7679 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7680
61664420
VS
76812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7684 to ensure alignment.
7685 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7686 alignment. Ensure tmp alignment.
7687 (grub_cmd_hdparm): Ensure buf alignment.
7688 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7689 to ensure alignment.
7690 (grub_ata_dumpinfo): Ensure text alignment.
7691 (grub_atapi_identify): Preserve alignment invariant.
7692 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7693
0d51ee20
VS
76942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7697 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7698 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7699 * include/grub/misc.h (grub_reboot)
7700 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7701 (grub_halt) [__mips__]: Likewise.
7702
753ef8c1
VS
77032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7706 Remove redundant declaration.
7707 (grub_mmap_get_post64): Likewise.
7708 (grub_mmap_get_upper): Likewise.
7709 (grub_mmap_get_lower): Likewise.
7710
85c85365
VS
77112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7714 uint32_t * to ensure alignment.
7715 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7716
a23f2cc4
VS
77172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7718
93018f64
VS
7719 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7720 uint16_t * to ensure alignment.
7721 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7722 alignment.
7723
77242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7727 to ensure alignment.
7728 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7729
58acccd6
VS
77302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7733 Handle unaligned pointers.
7734 (u32at): Likewise.
7735 (u64at): Likewise.
7736 (fixup): Use byte access instead of v16at.
7737 (find_attr): Fix imporper usage of v32at.
7738 (read_data): Likewise.
7739 (list_file): Handle byte-swapping and unaligned strings.
7740 (grub_ntfs_label): Likewise.
7741
9b05cad7
VS
77422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7745 as it's not necessarily aligned.
7746
b3950b84
VS
77472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7750 redundant declaration.
7751 (grub_serial_init): Likewise.
7752 (grub_terminfo_init): Likewise.
7753
fcd232b7
VS
77542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7757 function.
7758 (ZAP_HASH_IDX): Likewise.
7759 (ZAP_LEAF_HASH_SHIFT): Likewise.
7760 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7761 (LEAF_HASH): Likewise.
7762 (ZAP_LEAF_NUMCHUNKS): Likewise.
7763 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7764 alignment invariants. Return pointer. All users updated.
7765 (ZAP_LEAF_ENTRY): Make into inline function.
7766 (NBBY): Removed.
7767 (xor): LIkewise.
7768 (xor_out): Use grub_crypto_xor.
7769 (dnode_get_path): Use grub_get_unaligned.
7770 (nvlist_find_value): Likewise.
7771 (grub_zfs_nvlist_lookup_uint64): Likewise.
7772 (grub_zfs_nvlist_lookup_string): Likewise.
7773 (get_nvlist_size): Likewise.
7774 (grub_zfs_open): Likewise.
7775 (fill_fs_info): Likewise.
7776 (grub_zfs_dir): Likewise.
7777 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7778 alignment invariants.
7779 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7780 necessarily aligned.
7781
f138623a
VS
77822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7785
564840dc
VS
77862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7789 arithmetic to conserve alignment invariants.
7790
9b40df20
VS
77912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7794 redundant declaration.
7795 (grub_efiemu_mm_obtain_request): Likewise.
7796 (grub_efiemu_prepare): Likewise.
7797
d1c930f9
VS
77982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7801 to match types.
7802
4c5f3056
VS
78032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7806 case of aunaligned recptr.
7807 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7808 alignment.
7809 (grub_hfsplus_btree_search): Handle unaligned index.
7810
728cba91
VS
78112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7814 to get freetag and skip.
7815
eb561f31
VS
78162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7819 array.
7820 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7821 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7822
20993fbb
VS
78232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7826 name for checksum and fix allocation algorithm.
7827
1f313b94
VS
78282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * include/grub/types.h (grub_properly_aligned_t): New type.
7831 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7832 (grub_get_unaligned16): Add explicit casts.
7833 (grub_get_unaligned32): Likewise.
7834 (grub_get_unaligned64): Likewise.
7835 (grub_set_unaligned16): New function.
7836 (grub_set_unaligned32): Likewise.
7837
47ae27ec
VS
78382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7841
78c2cd1c
VS
78422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7845 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7846 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7847
53072f9b
VS
78482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7851 conditionals.
7852
055dc239
VS
78532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7856 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7857
496bd074
VS
78582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Unify and improve RAID and crypto xor.
7861
7862 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7863 changed to grub_crypto_xor
7864 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7865 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7866 Use bigger types when possible.
7867
ef6e4335
VS
78682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/disk/raid.c (scan_devices): Fix condition.
7871
5d048bf2
VS
78722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7875 Make name a const ptr.
7876
ee533335
VS
78772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7880 first argument a const pointer.
7881 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7882 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7883 proto.
7884 (grub_children_iterate): Likewise.
7885 (grub_machine_mmap_iterate): Remove redundant declaration.
7886
cc8f3668
VS
78872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7890 (grub_cmd_acpi) [!x86]: Disable EBDA.
7891
c5fc563a
VS
78922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 Enable UTF8 in gnulib regexp.
7895
7896 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7897 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7898 (isupper): Use grub_isupper.
7899 (isascii): New inline function.
7900 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7901 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7902 * grub-core/normal/charset.c (grub_utf8_process): New function.
7903 (grub_utf8_to_utf16): Use grub_utf8_process.
7904 (grub_encode_utf8_character): New function.
7905 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7906 * include/grub/charset.h (grub_utf8_process): New declaration.
7907 (grub_encode_utf8_character): Likewise.
7908 * include/grub/misc.h (grub_islower): New inline function.
7909 (grub_isupper): Likewise.
7910 (grub_strchrsub): Moved down to fix the definitions.
7911
0af2346f
VS
79122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7915 specification.
7916
74dbd244
VS
79172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * include/grub/loader.h (grub_loader_register_preboot_hook):
7920 Use struct preboot * and not void * for handle. All users updated.
7921 (grub_loader_unregister_preboot_hook): Likewise.
7922
1bc8f60d
VS
79232011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7926 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7927 UTF-16-BE. All users updated.
7928 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7929 (grub_hfsplus_iterate_dir): Likewise.
7930 (grub_hfsplus_label): Likewise.
7931
48d6e456
VS
79322011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7935
bf3a3857
VS
79362011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Add missing const qualifiers.
7939
7940 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7941 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7942 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7943 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7944 (grub_lvm_check_flag): Likewise.
7945 * grub-core/efiemu/i386/coredetect.c
7946 (grub_efiemu_get_default_core_name): Likewise
7947 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7948 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7949 * grub-core/fs/ntfs.c (fixup): Likewise.
7950 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7951 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7952 (fzap_lookup): Likewise.
7953 (zap_lookup): Likewise.
7954 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7955 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7956 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7957 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7958 (grub_freebsd_add_meta_module): Likewise.
7959 (grub_cmd_freebsd_module): Likewise.
7960 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7961 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7962 (grub_xnu_writetree_get_size): Likewise.
7963 (grub_xnu_writetree_toheap_real): Likewise.
7964 (grub_xnu_find_key): Likewise.
7965 (grub_xnu_create_key): Likewise.
7966 (grub_xnu_create_value): Likewise.
7967 (grub_xnu_register_memory): Likewise.
7968 (grub_xnu_check_os_bundle_required): Likewise.
7969 (grub_xnu_scan_dir_for_kexts): Likewise.
7970 (grub_xnu_load_kext_from_dir): Likewise.
7971 * grub-core/normal/color.c (color_list): Likewise.
7972 * grub-core/normal/completion.c (current_word): Likewise.
7973 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7974 * grub-core/term/serial.c (grub_serial_find): Likewise.
7975 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7976 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7977 Likewise.
7978 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7979 (grub_freebsd_add_meta_module): Likewise.
7980 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7981 * include/grub/net.h (grub_net_card_driver): Likewise.
7982 (grub_net_card): Likewise.
7983 (grub_net_app_protocol): Likewise.
7984 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7985 * include/grub/serial.h (grub_serial_find): Likewise.
7986 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7987 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7988 (grub_xnu_create_value): Likewise.
7989 (grub_xnu_find_key): Likewise.
7990 (grub_xnu_scan_dir_for_kexts): Likewise.
7991 (grub_xnu_load_kext_from_dir): Likewise.
7992
7993 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7994 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7995 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7996 Moved from here ...
7997 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7998
112b4837
CW
79992011-11-28 Colin Watson <cjwatson@ubuntu.com>
8000
8001 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8002
49e891ac
VS
80032011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8006 (read_device): Fix size calculation.
8007
fd258e5c
RM
80082011-11-25 Robert Millan <rmh@gnu.org>
8009
8010 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8011 (find_root_device_from_libzfs): Add zpool output parser to be used
8012 as fallback when libzfs isn't available.
8013
78845dc2
SG
80142011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8015
8016 * po/Makefile.in.in: Add missing escape-continuation.
8017
adac5211
VS
80182011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8021
10b64f1c
VS
80222011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8025
bb416954
VS
80262011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8029
bdfe9eeb
VS
80302011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8033
581ffa8a
VS
80342011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * grub-core/lib/adler32.c: Add missing license specification.
8037 * grub-core/lib/crc64.c: Likewise.
8038 * grub-core/loader/i386/pc/plan9.c: Likewise.
8039 * grub-core/partmap/plan.c: Likewise.
8040
2536cf64
LK
80412011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8042
8043 Add facility to debug GRUB with gdb under qemu.
8044
8045 * grub-core/gdb_grub.in: New file.
8046 * grub-core/gmodule.pl.in: Likewise.
8047 * grub-core/Makefile.core.def (gmodule.pl): New script.
8048 (gdb_grub): Likewise.
8049
bc108a4a
VS
80502011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * util/grub-mount.c (argp_parser): Accept relative pathes.
8053 * util/grub-fstest.c (argp_parser): Likewise.
8054
111c1778
VS
80552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Plan9 support.
8058
8059 * Makefile.util.def (libgrubmods): Add
8060 grub-core/partmap/plan.c.
8061 * docs/grub.texi: Notice Plan9 support.
8062 * grub-core/Makefile.core.def (plan9): New module.
8063 (part_plan): Likewise.
8064 * grub-core/loader/i386/pc/plan9.c: New file.
8065 * grub-core/partmap/plan.c: Likewise.
8066 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8067 define.
8068 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8069 * include/grub/mm.h (grub_extend_alloc): New inline function.
8070
c30be3b6
VS
80712011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Make Reed-Solomon faster by using power of generator representation of
8074 GF(256)*.
8075
8076 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8077 (gf_double_t): Likewise.
8078 (gf_invert): Removed.
8079 (gf_powx): New array.
8080 (gf_powx_inv): Likewise.
8081 (scratch): Move higher.
8082 (gf_reduce): Removed.
8083 (gf_mul): Use powx.
8084 (gf_invert): Likewise.
8085 (init_inverts): Replaced with ...
8086 (init_powx): ...this. All users updated.
8087 (pol_evaluate): Replace multiplications with additions.
8088 (rs_encode): Likewise.
8089 (gauss_eliminate): Call gf_invert.
8090 (grub_reed_solomon_add_redundancy): Call init_powx.
8091 (grub_reed_solomon_recover): Call init_powx unconditionally.
8092
fa5aeffc
VS
80932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8096
a346b81c
VS
80972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8100 disk->partiton for safety.
8101
d89ee414
VS
81022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8105 Fix a memory leak.
8106 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8107
91ee7b6d
VS
81082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8111
91e5a33d
VS
81122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8115
9edd7be2
VS
81162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Fix spaces handling in proc/self/mountinfo.
8119
8120 * util/getroot.c (unescape): New function.
8121 (grub_find_root_device_from_mountinfo): Use unescape.
8122
ba102053
VS
81232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Support ZFS embedding.
8126
8127 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8128 (grub_zfs_fs): Register grub_zfs_embed.
8129
aa94b870
VS
81302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 Fix MIPS compilation.
8133
8134 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8135 * include/grub/offsets.h: Rename decompressor fields from
8136 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8137 * util/grub-mkimage.c (image_targets): Use new names.
8138
5fbdac14
VS
81392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 Defer multiboot device parsing until we're in compressed part.
8142
8143 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8144 bsd_part. setdevice has fallen into disuse.
8145 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8146 (bsd_part): Likewise.
8147 (boot_dev): New variable.
8148 (multiboot_trampoline): Don't parse multiboot device.
8149 Pass multiboot device in %edx.
8150 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8151 grub_boot_device.
8152 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8153 Likewise.
8154 * grub-core/kern/i386/pc/startup.S: Save edx.
8155 (grub_boot_drive): Removed.
8156 (grub_install_dos_part): Likewise.
8157 (grub_install_bsd_part): Likewise.
8158 (grub_boot_device): New variable.
8159 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8160 (grub_install_bsd_part): Likewise.
8161 (grub_boot_drive): Likewise.
8162 (grub_boot_device): New variable.
8163 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8164 Removed.
8165 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8166 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8167 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8168 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8169 * util/grub-install.in: Remove redundant condition.
8170
691cbb58
VS
81712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Fix bug introduced by previous commit.
8174
8175 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8176
60240b8b
VS
81772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Use decompressors framework on i386-pc. It increases core size
8180 by 46 bytes but improves compatibility and maintainability.
8181
8182 * grub-core/Makefile.core.def (lzma_decompress): New image.
8183 (kernel): Add i386_pc_ldflags.
8184 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8185 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8186 to real_to_prot, prot_to_real and device info.
8187 * include/grub/offsets.h: Renamed decompressor offsets.
8188 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8189 (image_target_desc): Remove raw_size and rename decompressor fields.
8190 (compress_kernel): Handle lzma.
8191 (generate_image): Handle decompressors on i386-pc.
8192
e9d3421c
VS
81932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * configure.ac: Add -fno-asynchronous-unwind-tables.
8196
2b23074a
VS
81972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Move assembly code to C by using intwrap. It increases core size
8200 by 88 bytes but improves compatibility and maintainability.
8201
8202 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8203 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8204 ... here. Translated to C.
8205 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8206 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8207 ... here. Translated to C.
8208 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8209 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8210 ... here. Translated to C.
8211 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8212 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8213 ... here. Translated to C.
8214 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8215 * grub-core/term/i386/pc/console.c (grub_console_cls):
8216 ... here. Translated to C.
8217 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8218 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8219 ... here. Translated to C.
8220 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8221 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8222 Translated to C.
8223 * grub-core/term/i386/pc/console.c (int10_9): New function.
8224 (grub_console_putchar): Likewise.
8225 * include/grub/i386/pc/console.h: Removed the not anymore shared
8226 functions.
8227
678f4b67
VS
82282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 Move grub_chainloader_real_boot out of the kernel.
8231
8232 * grub-core/Makefile.am: Remove machine/loader.h.
8233 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8234 Removed.
8235 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8236 variable.
8237 (grub_relocator16_keep_a20_enabled): Likewise.
8238 (grub_relocator16_boot): Fill new variables.
8239 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8240 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8241 relocator.
8242 (grub_chainloader_unload): Likewise.
8243 (grub_chainloader_cmd): Likewise.
8244 * include/grub/i386/pc/loader.h: Removed.
8245 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8246 and esi. All initialisers updated.
8247
4626edf6
VS
82482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
82492011-11-12 Colin Watson <cjwatson@ubuntu.com>
8250
8251 * Makefile.util.def (grub-mount): New util.
8252 * .bzrignore: Add grub-mount.
8253 * configure.ac: Check for fuse and enable grub-mount if available.
8254 * docs/man/grub-mount.h2m: New file.
8255 * util/grub-mount.c: Likewise.
8256
10f0117b
VS
82572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/commands/efi/fixvideo.c: Gettextize.
8260 * grub-core/commands/hashsum.c: Likewise.
8261 * grub-core/commands/i386/cmostest.c: Likewise.
8262 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8263 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8264 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8265 * grub-core/commands/lsmmap.c: Likewise.
8266 * grub-core/commands/menuentry.c: Likewise.
8267 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8268 * grub-core/commands/setpci.c: Likewise.
8269 * grub-core/loader/i386/bsd.c: Likewise.
8270 * grub-core/loader/i386/linux.c: Likewise.
8271 * util/getroot.c: Likewise.
8272 * util/grub-editenv.c: Likewise.
8273 * util/grub-fstest.c: Likewise.
8274 * util/grub-mkfont.c: Likewise.
8275 * util/grub-mkimage.c: Likewise.
8276 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8277 * util/grub-pe2elf.c: Likewise.
8278 * util/grub-probe.c: Likewise.
8279 * util/grub-setup.c: Likewise.
8280 * util/ieee1275/ofpath.c: Likewise.
8281 * util/misc.c: Likewise.
8282 * util/raid.c: Likewise.
8283
566f779b
RM
82842011-11-11 Robert Millan <rmh@gnu.org>
8285
8286 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8287 __attribute__((unused)) from `os_dev', which *is* being used.
8288
b50787de
VS
82892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8292 forgotten define.
8293 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8294 GRUB_IA64_DL_GOT_ALIGN.
8295 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8296 GRUB_IA64_DL_TRAMP_ALIGN.
8297
119d11c8
VS
82982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 Replace grub_fatal with normal errors in i386 linux loader.
8301
8302 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8303 (allocate_pages): Check find_efi_mmap_size return value.
8304 (grub_e820_add_region): Return error.
8305 (grub_linux_boot): Check mmap return value.
8306
6e0632e2
VS
83072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/commands/acpihalt.c: Gettextized.
8310 * grub-core/commands/cacheinfo.c: Likewise.
8311 * grub-core/commands/cmp.c: Likewise.
8312 * grub-core/commands/efi/loadbios.c: Likewise.
8313 * grub-core/commands/gptsync.c: Likewise.
8314 * grub-core/commands/ieee1275/suspend.c: Likewise.
8315 * grub-core/commands/legacycfg.c: Likewise.
8316 * grub-core/commands/memrw.c: Likewise.
8317 * grub-core/commands/minicmd.c: Likewise.
8318 * grub-core/commands/parttool.c: Likewise.
8319 * grub-core/commands/time.c: Likewise.
8320 * grub-core/commands/videoinfo.c: Likewise.
8321 * grub-core/disk/geli.c: Likewise.
8322 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8323 * grub-core/disk/luks.c: Likewise.
8324 * grub-core/disk/lvm.c: Likewise.
8325 * grub-core/font/font_cmd.c: Likewise.
8326 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8327 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8328 * grub-core/gfxmenu/view.c: Likewise.
8329 * grub-core/kern/emu/hostdisk.c: Likewise.
8330 * grub-core/kern/emu/main.c: Likewise.
8331 * grub-core/kern/emu/misc.c: Likewise.
8332 * grub-core/kern/emu/mm.c: Likewise.
8333 * grub-core/kern/mips/arc/init.c: Likewise.
8334 * grub-core/kern/mips/loongson/init.c: Likewise.
8335 * grub-core/kern/partition.c: Likewise.
8336 * grub-core/lib/i386/halt.c: Likewise.
8337 * grub-core/lib/mips/arc/reboot.c: Likewise.
8338 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8339 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8340 * grub-core/loader/i386/xnu.c: Likewise.
8341 * grub-core/loader/multiboot.c: Likewise.
8342 * grub-core/net/bootp.c: Likewise.
8343 * grub-core/net/net.c: Likewise.
8344 * grub-core/normal/term.c: Likewise.
8345 * grub-core/partmap/bsdlabel.c: Likewise.
8346 * grub-core/parttool/msdospart.c: Likewise.
8347 * grub-core/term/gfxterm.c: Likewise.
8348 * grub-core/term/terminfo.c: Likewise.
8349 * grub-core/video/i386/pc/vbe.c: Likewise.
8350 * util/grub-menulst2cfg.c: Likewise.
8351 * util/grub-mkdevicemap.c: Likewise.
8352 * util/grub-mklayout.c: Likewise.
8353 * util/grub-mkrelpath.c: Likewise.
8354 * util/grub-script-check.c: Likewise.
8355 * util/ieee1275/grub-ofpathname.c: Likewise.
8356 * util/resolve.c: Likewise.
8357
073aa7a9
VS
83582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 Support %1$d syntax.
8361
8362 * tests/printf_unit_test.c: New file.
8363 * Makefile.util.def (printf_test): New test.
8364 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8365
c76b5417
VS
83662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8369 fix.
8370
df067ad1
VS
83712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8374 dprintf.
8375 * grub-core/font/font.c (grub_font_load): Likewise.
8376
5b289bc5
VS
83772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * util/grub-macho2img.c: Add comment concerning gettext.
8380 * grub-core/lib/legacy_parse.c: Likewise.
8381
c1860f87
VS
83822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8385 (grub_xvasprintf): Likewise.
8386
d35d0d37
VS
83872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Add const keyword to grub_env_get and gettextize week days.
8390
8391 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8392 (grub_read_hook_datetime): Return const char *.
8393 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8394 updated.
8395 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8396 Mark for gettext.
8397 (grub_get_weekday_name): Return const char *. Call gettext.
8398 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8399 char * and len as the argument. All users updated.
8400 (grub_script_argv_split_append): Receive const char *.
8401 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8402 * include/grub/env.h (grub_env_get): Likewise.
8403 (grub_env_read_hook_t): Return const char *.
8404 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8405 (grub_script_argv_split_append): Likewise.
8406
9aed8a71
VS
84072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8410
067fdf00
VS
84112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8414 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8415
a8bd9d39
VS
84162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8419 Fix prototype.
8420
f7ce5baf
VS
84212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Fix mips compilation.
8424
8425 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8426 normal decoder.
8427 (hashes): Use in embed decoder as well (for sizes).
8428 (dec_stream_header): Fix embed decompressor logic.
8429 (dec_stream_footer): Likewise.
8430
9bb182f3
VS
84312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8434 an error and not a fatal on unrecognised relocation types.
8435
63a9e6f6
VS
84362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8439 Issue error rather than printf on unknown arguments.
8440
4c458569
VS
84412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8444 Make buf a const.
8445
e2d22baf
VS
84462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8449 Fix module name.
8450
53dc8590
VS
84512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8454 leftover debug printf.
8455
6c189294
VS
84562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8459
f7688369
VS
84602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8463 A stylistic fix.
8464
11a775a3
VS
84652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8468
33f784e8
SL
84692011-11-10 Shea Levy <slevy@tieronedesign.com>
8470
8471 Allow all modules to perform serial IO
8472
8473 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8474 * include/grub/serial.h (grub_serial_port_configure): New inline
8475 function.
8476 (grub_serial_port_fetch): Likewise.
8477 (grub_serial_port_put): Likewise.
8478 (grub_serial_port_fini): Likewise.
8479 (grub_serial_find): New proto.
8480
f6276525
VS
84812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 Put symlink at the end of the node and fix a potential
8484 memory corruption.
8485
8486 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8487 Make symlink into an array.
8488 (set_rockridge): Set have_symlink and alloc_dirents.
8489 (grub_iso9660_read_symlink): Use new layout.
8490 (grub_iso9660_iterate_dir): Fix memory corruption.
8491 Use new layout.
8492 (grub_iso9660_dir): Set have_symlink.
8493 (grub_iso9660_open): Likewise.
8494
c3591189
VS
84952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 Remove local keyword.
8498
8499 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8500 (version_test_gt): Likewise.
8501 (version_find_latest): Likewise.
8502 (gettext_printf): Likewise.
8503 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8504
cb544caa
VS
85052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8508
45bd824d
VS
85092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 Fix ZFS memory and resource leaks.
8512
8513 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8514 All users updated.
8515 Free type on exit.
8516 (fill_vdev_info): New parameter inserted. All users updated.
8517 (check_pool_label): Likewise.
8518 (scan_disk): Likewise.
8519 (scan_devices): Close non-inserted disks.
8520 (fzap_iterate): Free l.
8521 (unmount_device): Free children descripto memory.
8522
ad9a2f44
VS
85232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8526 argument (access out of bounds).
8527
6b68db81
VS
85282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8531 >= 6 drives.
8532
28840fda
VS
85332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8536 Fix declaration.
8537
8a5a3a5b
VS
85382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Fix several memory leaks.
8541
8542 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8543 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8544 (grub_cpio_dir): Likewise.
8545 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8546 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8547 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8548 (grub_romfs_label): Likewise.
8549 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8550 (squash_unmount): New function.
8551 (grub_squash_dir): Fix memory leak.
8552 (grub_squash_open): Likewise.
8553 (grub_squash_read): Likewise.
8554 (grub_squash_mtime): Likewise.
8555 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8556 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8557 * util/grub-fstest.c (fstest): Likewise.
8558
57b01250
VS
85592011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8562 avoid accessing beyond the array.
8563
19e81ba7
VS
85642011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8567
52b656c0
VS
85682011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Several AFFS fixes.
8571
8572 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8573 (GRUB_AFFS_FLAG_FFS): Removed.
8574 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8575 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8576 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8577 (grub_fshelp_node): Make block 32-bit.
8578 Add block_cache and last_block_cache.
8579 (grub_affs_read_block): Fill and use block cache.
8580 (grub_affs_read_file): Removed.
8581 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8582 boot block.
8583 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8584 safety.
8585 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8586 space.
8587 (grub_affs_close): Free block cache.
8588 (grub_affs_read): Use grub_fshelp_read_file directly.
8589
438a746a
VS
85902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8593 with no error set.
8594
49a45021
VS
85952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8598 used variable.
8599 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8600 Likewise.
8601
3ae17eb8
VS
86022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8605
8606 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8607 byteswap when needed.
8608
27610c38
VS
86092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 Fix FreeBSD compilation.
8612
8613 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8614 to avoid circular dependency.
8615 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8616 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8617 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8618
4a19b601
VS
86192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 Fix ZFS crypto error types.
8622
8623 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8624 (grub_gcm_decrypt): Likewise.
8625 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8626 from PBKDF2.
8627
958ee221
VS
86282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Illumos support.
8631
8632 * Makefile.util.def (10_illumos): New script.
8633 * configure.ac: Set COND_HOST_ILLUMOS.
8634 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8635 Support Illumos calls.
8636 (find_partition_start) [__sun__]: Likewise.
8637 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8638 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8639 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8640 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8641 device.
8642 * util/grub-probe.c (probe) [__sun__]: Do character check.
8643 * util/grub.d/10_illumos.in: New file.
8644
cac14fb6
VS
86452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Support escaped commas in hostdisk.
8648
8649 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8650 (find_grub_drive): Use unescape_cmp.
8651 (make_device_name): Escape commas.
8652
78e08dc3
VS
86532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8656
9f421dd1
VS
86572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8660 variable.
8661
ed64e9e2
VS
86622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 Support trampoline jumps on powerpc.
8665
8666 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8667 __ia64__ path.
8668 (grub_dl_load_segments): Set mod->sz.
8669 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8670 segments.
8671 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8672 (jump): Likewise.
8673 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8674 function.
8675 (trampoline): New struct.
8676 (trampoline_template): New const.
8677 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8678 * include/grub/dl.h (grub_dl): Add sz element.
8679 [__powerpc__]: Follow __ia64__.
8680 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8681 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8682 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8683 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8684
3084ede4
VS
86852011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 ZFS crypto support.
8688
8689 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8690 * grub-core/Makefile.core.def (zfscrypt): New module.
8691 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8692 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8693 it. All users updated.
8694 (grub_zfs_decrypt): New var.
8695 (grub_zfs_load_key): Likewise.
8696 (zio_checksum_functions): Add SHA256+MAC.
8697 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8698 (zio_read): Handle encrypted blocks.
8699 (zap_verify): Remove incorrect check.
8700 (fzap_iterate): Handle non-standard fzap.
8701 (zap_iterate): Likewise.
8702 (zap_iterate_u64): New function.
8703 (dnode_get_fullpath): Load keys.
8704 * grub-core/fs/zfs/zfscrypt.c: New file.
8705 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8706 (grub_crypto_ecb_encrypt): Make input const.
8707 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8708 (grub_crypto_ecb_encrypt): Make input const.
8709 (GRUB_CIPHER_AES): New macro.
8710 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8711 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8712 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8713 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8714 prefix. All users updated.
8715 (grub_zfs_add_key): New proto.
8716 (grub_zfs_decrypt): Likewise.
8717 (grub_zfs_load_key): Likewise.
8718 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8719 * util/grub-fstest.c (options): Add -K option.
8720 (argp_parser): Likewise.
8721
b632b404
VS
87222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 Support zle compression on ZFS.
8725
8726 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8727 (decomp_table): Add zle.
8728 * include/grub/zfs/zio.h (zio_compress): Add zle.
8729
c7ba4f69
VS
87302011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 Support BtrFS embedding.
8733
8734 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8735 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8736 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8737 * util/grub-setup.c (setup): Use fs embedding if available.
8738 Add additional sanity check.
8739
455377d9
VS
87402011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * util/grub-install.in: Fix condition for config_opt.
8743
c2fd16ca
VS
87442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Support third redundancy strip on raidz3.
8747
8748 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8749 Return error on singularity. All users updated.
8750 (read_device): Don't stop on 3rd failure on raidz3.
8751
8622923b
VS
87522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 Support case-insensitive ZFS subvolumes.
8755
8756 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8757 All users updated.
8758 (zap_hash): Likewise.
8759 (name_cmp): New function.
8760 (zap_leaf_array_equal): New parameter case_insensitive.
8761 All users updated.
8762 (zap_leaf_lookup): Likewise.
8763 (fzap_lookup): Likewise.
8764 (zap_lookup): Likewise.
8765 (dnode_get_path): New parameter case_insensitive. Retrieve case
8766 sensitiviness of a volume. All users updated.
8767 (dnode_get_fullpath): New parameter case_insensitive.
8768 All users updated.
8769 (grub_zfs_dir): Set info.case_insensitiveness.
8770
95f2e860
VS
87712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 Support second redundancy strip on raidz(2,3).
8774
8775 * grub-core/fs/zfs/zfs.c (powx): New array.
8776 (powx_inv): Likewise.
8777 (poly): New const.
8778 (xor_out): New function.
8779 (gf_mul): Likewise.
8780 (recovery): Likewise.
8781 (read_device): Use second redundancy strip.
8782
11ee4389
VS
87832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 Use a power of generator representation of GF(256) multiplication group
8786 to save space time and complexity.
8787
8788 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8789 (raid6_table2): Likewise.
8790 (powx): New array.
8791 (powx_inv): Likewise.
8792 (poly): New const.
8793 (grub_raid_block_mul): Replace with ...
8794 (grub_raid_block_mulx): ...this.
8795 (grub_raid6_init_table): Rewritten.
8796 (grub_raid6_recover): Use power of generator representation.
8797
09e2763f
VS
87982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8801 for the right device.
8802
8bec9a28
VS
88032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8806 expected by grub-mkimage and it's more clear since there is no implicit
8807 padding.
8808
dbd3a32e
VS
88092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8812 disk.
8813 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8814
182c872a
PMH
88152011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8816
8817 * util/grub-mkrescue.in: Fix handling xorriso option.
8818
1e51cabd
VS
88192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8822 NULL.
8823
9cc3581d 88242011-11-03 crocket <crockabiscuit@gmail.com>
8825
8826 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8827
158dc1ea
VS
88282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 XZ CRC64 and SHA256 support.
8831
8832 * Makefile.util.def (libgrubmods): Add crc64.c.
8833 * grub-core/Makefile.core.def (crc64): New module.
8834 * grub-core/lib/crc64.c: New file.
8835 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8836 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8837 Fix the type.
8838 (MAX_HASH_SIZE): New define.
8839 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8840 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8841 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8842 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8843 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8844 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8845 Handle non-crc32 hashes.
8846 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8847 (dec_stream_header): Handle non-crc32 hashes.
8848 (dec_stream_footer): Likewise.
8849 (dec_block_header): Likewise.
8850 (dec_main): Likewise.
8851 (xz_dec_init): Likewise.
8852 (xz_dec_reset): Likewise.
8853 (xz_dec_end): Likewise.
8854 * util/import_gcry.py: Add CRC64 line.
8855
9d9b3d2f
VS
88562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8859 as well.
8860
7d0ac931
VS
88612011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 Make reiserfs label retrieval similar to other *_label functions.
8864
8865 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8866 (REISERFS_MAX_LABEL_LENGTH): Removed.
8867 (REISERFS_LABEL_OFFSET): Likewise.
8868 (grub_reiserfs_label): Rewritten.
8869
88702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8873 field.
8874
cf5ba824
VS
88752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8878
17744004
VS
88792011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8882 drive failure on both raidz and raidz2.
8883
aca5aefc
VS
88842011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 Fix RAIDZ(2) for >= 5 devices.
8887
8888 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8889 asize argument. All users updated.
8890
ce8ca56e
VS
88912011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Fix RAIDZ(2).
8894
8895 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8896 (fill_vdev_info_real): Set ashift.
8897 (read_device): Rewrite RAIDZ part based on reverse engineering.
8898
7c01e783
VS
88992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8902 don't report potentially unavialiable fields in debug output.
8903 (find_path): Fix double-free and memory leak.
8904
ce109e84
VS
89052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Read label on UFS1.
8908
8909 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8910 (grub_ufs_fs): Always set .label.
8911
87661123
VS
89122011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Use shifts in UFS.
8915
8916 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8917 (grub_ufs_data): New field log2_blksz.
8918 (grub_ufs_read_file): Use shifts.
8919 (grub_ufs_mount): Check block size and logarithm it.
8920
46bc1dc2
VS
89212011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8924 long symlinks.
8925
19ee2987
VS
89262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 Handle symlinks and long names on tar and cpio.
8929
8930 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8931 (ATTR_FILE): Likewise.
8932 (ATTR_DIR): Likewise.
8933 (ATTR_LNK): Likewise.
8934 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8935 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8936 L and K entries.
8937 (grub_cpio_mount): Zero-fill data.
8938 (handle_symlink): New function.
46bc1dc2
VS
8939 (grub_cpio_dir): Handle symlinks.
8940 (grub_cpio_open): Likewise.
8941 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8942
c83a08d8
VS
89432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 Fix iso9660 filename limitations and fix memory leaks.
8946
8947 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8948 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8949
45cdd3ea
VS
89502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Fix JFS file name length limitations.
8953
8954 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8955 (grub_jfs_diropen): Fix maximum filename length.
8956 (grub_jfs_getent): Fix filename length.
8957 (grub_jfs_lookup_symlink): Fix size checks.
8958
94ef05c2
VS
89592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8962 string.
8963
785ab8c7
VS
89642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8965
eb0b6b45
VS
8966 Leverage BFS implementation to read AFS.
8967
8968 * Makefile.util.def (libgrubmods): Add afs.c.
8969 * grub-core/Makefile.core.def (afs): New module
8970 * grub-core/fs/afs.c: New file.
8971 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8972
89732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8976
c4a1628f
VS
89772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/fs/bfs.c: Run indent.
8980
5825b379
VS
89812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 BFS implementation based on the specification.
8984
8985 * grub-core/fs/bfs.c: New file.
8986 * Makefile.util.def (libgrubmods): Add bfs.c.
8987 * grub-core/Makefile.core.def (bfs): New module.
8988
42b2a706
VS
89892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * util/grub-fstest.c (cmd_cp): Clarify error message.
8992 (cmd_cmp): Likewise.
8993
61b99bfc
YB
89942011-10-30 Yves Blusseau <blusseau@zetam.org>
8995
8996 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8997 and befs_be.
8998
faba3d16
VS
89992011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 Remove afs and befs because of copyright problem.
9002
9003 * grub-core/fs/afs.c: Removed.
9004 * grub-core/fs/afs_be.c: Removed.
9005 * grub-core/fs/befs.c: Removed.
9006 * grub-core/fs/befs_be.c: Removed.
9007 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9008 * grub-core/Makefile.core.def (afs): Removed.
9009 (afs_be): Likewise.
9010 (befs): Likewise.
9011 (befs_be): Likewise.
9012
c39224b0
VS
90132011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Prefer rockridge over Joliet.
9016
9017 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9018 to ...
9019 (set_rockridge): ... here.
9020 (grub_iso9660_mount): Check rockridge on the primary label when
9021 discovering. Ignore Joliet if Rockridge is present.
9022
e551115a
VS
90232011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Use shifts in nilfs2.
9026
9027 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9028 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9029 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9030 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9031 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9032 (grub_nilfs2_entries_per_block): Replaced with ...
9033 (grub_nilfs2_log_entries_per_block_log): ... this.
9034 (grub_nilfs2_blocks_per_group): Replaced with ...
9035 (grub_nilfs2_blocks_per_group_log): ... this.
9036 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9037 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9038 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9039 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9040 (grub_nilfs2_palloc_entry_offset): Replaced ...
9041 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9042 (grub_nilfs2_dat_translate): Use shifts.
9043 (grub_nilfs2_read_inode): Likewise.
9044 (GRUB_MOD_INIT): Ensure that logs are correct.
9045
564dd58c
VS
90462011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 Use shifts in minix filesystem.
9049
9050 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9051 (GRUB_MINIX_ZONE2SECT): Likewise.
9052 (grub_minix_data): Replace block_size with log_block_size.
9053 (grub_minix_read_file): Use shifts.
9054 (grub_minix_mount): Check block size and take a logarithm.
9055
ed9ba06d
VS
90562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 Use shifts in squash4.
9059
9060 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9061 (squash_mount): Check block size and take logarithm.
9062 (direct_read): Use shifts.
9063
ad03fe76
VS
90642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 Correct befs block counting logic.
9067
9068 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9069 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9070 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9071 (grub_afs_read_inode): Use block_shift.
9072 (RANGE_SHIFT): New definition.
9073 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9074 unexpected conditions, use shifts and appropriate types.
9075 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9076
6563f63d
VS
90772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/disk/raid.c (scan_devices): Check partition.
9080 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9081
5b1ae25f
VS
90822011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 Support BFS (befs) UUID.
9085
9086 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9087 (grub_afs_small_data_element_header): New struct.
9088 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9089 (grub_afs_read_attribute) [MODE_BFS]: New function.
9090 (grub_afs_iterate_dir): Allocate for complete inode.
9091 (grub_afs_mount): Likewise.
9092 (grub_afs_uuid) [MODE_BFS]: New function.
9093 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9094
f8d82408
VS
90952011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9098 (zfs_unmount): Fix memory leak.
9099
5773fb64
VS
91002011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Support NTFS reparse points.
9103
9104 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9105 (symlink_descriptor): New struct.
9106 (grub_ntfs_read_symlink): New function.
9107 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9108 (grub_ntfs_open): Likewise.
9109
91c3fdde
VS
91102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9113
3be82e10
VS
91142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 fstest xnu_uuid subcommand.
9117
9118 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9119 grub-core/commands/xnu_uuid.c.
9120 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9121 (fstest): Handle xnu_uuid.
9122 (options): Document xnu_uuid.
9123 (argp_parser): Parse xnu_uuid.
9124
8e32442e
VS
91252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9128 -l argument. Add newline at the end if printing.
9129 (GRUB_MOD_INIT): Document -l.
9130
52a05075
VS
91312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9134
1869edb5
VS
91352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 ZFS multi-device and version 33 support.
9138
9139 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9140 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9141 (grub_zfs_data): Add multidev-ice-related fields.
9142 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9143 (dva_get_offset): Make dva const.
9144 (zfs_fetch_nvlist): New function.
9145 (fill_vdev_info_real): Likewise.
9146 (fill_vdev_info): Likewise.
9147 (check_pool_label): Likewise.
9148 (scan_disk): Likewise.
9149 (scan_devices): Likewise.
9150 (read_device): Likewise.
9151 (read_dva): Likewise.
9152 (zio_read_gang): Use read_dva.
9153 (zio_read_data): Likewise.
9154 (zap_leaf_lookup): Add missing endian conversion.
9155 (zap_verify): Add missing endian conversion. All users updated.
9156 (fzap_lookup): Likewise.
9157 (fzap_iterate): Likewise.
9158 (dnode_get_path): Handle SA bonus.
9159 (nvlist_find_value): Make input const. All users updated.
9160 (unmount_device): New function.
9161 (zfs_unmount): Use unmount_device.
9162 (zfs_mount): Use scan_disk.
9163 (zfs_mtime): New function.
9164 (grub_zfs_open): Handle system attributes.
9165 (fill_fs_info): Likewise.
9166 (grub_zfs_dir): Likewise.
9167 (grub_zfs_fs): Add mtime.
9168 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9169 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9170 (SA_MTIME_OFFSET): Likewise.
9171 (SA_SYMLINK_OFFSET): Likewise.
9172 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9173 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9174 (fstest): Support zfsinfo.
9175 (argp_parser): Likewise.
9176
186b4028
VS
91772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9180 error.
9181
91822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9183
9184 ZFS fixes.
9185
9186 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9187 sharing the same block. Iterate over correct number of indices.
9188 (dnode_get_path): Handle symlinks correctly.
9189
c0584900
VS
91902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9193
67e2bd71
VS
91942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Read label on HFS+.
9197
9198 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9199 (grub_hfsplus_btree_search): Fix types.
9200 (grub_hfsplus_label): Implement.
9201
e9cc6b7b
VS
92022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9205
19832ddb
VS
92062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9209
66b40850
VS
92102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Fix symlink handling on iso9660.
9213
9214 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9215 All users updated.
9216 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9217 (grub_iso9660_read_symlink): Moved most of code ...
9218 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9219
db821363
VS
92202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9223 Use union to avoid breaking strict-aliasing rules.
9224
e1211949
VS
92252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 Support multi-extent iso files.
9228
9229 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9230 Add node.
9231 (grub_fshelp_node): Revamp. All users updated.
9232 (FLAG_*): New enum.
9233 (read_node): New function.
9234 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9235 All users updated.
9236 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9237 (get_node_size): New function.
9238 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9239 entries.
9240 Fix memory leak on . and ..
9241 (grub_iso9660_read): Use read_node.
9242 (grub_iso9660_close): Free node.
9243
d4888031
VS
92442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Fix tar 4G limit and handle paths containing dot.
9247
9248 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9249 (canonicalize): New function.
9250 (grub_cpio_find_file): Use canonicalize. Store offs in
9251 grub_disk_addr_t.
9252 (grub_cpio_dir): Use grub_disk_addr_t.
9253 (grub_cpio_open): Likewise.
9254
9f12e664
VS
92552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9258
9259 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9260 unused flags.
9261 (grub_squash_inode): Add long_file and block_size.
9262 (grub_squash_cache_inode): New struct.
9263 (grub_squash_dirent): Make types into enum.
9264 (SQUASH_TYPE_LONG_REGULAR): New type.
9265 (grub_squash_frag_desc): Add field size.
9266 (SQUASH_BLOCK_FLAGS): New enum.
9267 (grub_squash_data): Use grub_squash_cache_inode.
9268 (grub_fshelp_node): Make ino_chunk 64-bit.
9269 (read_chunk): Minor argument change. All users updated.
9270 (squash_mount): Use correct le_to_cpu.
9271 (grub_squash_open): Handle LONG_REGULAR.
9272 (direct_read): New function.
9273 (grub_squash_read_data): Handle blocks correctly.
9274
9f326fba
VS
92752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9278
f4d9b64b
VS
92792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9282
5bbd28b8
VS
92832011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Fix 2G limit on ZFS.
9286
9287 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9288 types.
9289 (uberblock_verify): Likewise.
9290 (dmu_read): Likewise.
9291 (grub_zfs_read): Likewise. Remove invalid cast.
9292
68c72069
VS
92932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9296 (grub_jfs_blkno): Fix incorrect shift.
9297 (grub_jfs_read_file): Use more appropriate types.
9298
6e536dc8
VS
92992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 Support triple indirect on minix2 and minix3.
9302
9303 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9304 Declare triple_indir_zone.
9305 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9306 indirect.
9307
e0864e7a
VS
93082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 Minix FS fixes.
9311
9312 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9313 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9314 Rename ctime to mtime. All users updated.
9315 (grub_minix_get_file_block): Fix types and double indirect computations.
9316
89481cab
VS
93172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9320 if no label is found.
9321 (grub_fat_iterate_dir): Fix file size type.
9322 (grub_fat_iterate_dir): Likewise.
9323
f646e143
VS
93242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9327 save some space.
9328 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9329 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9330
534d769e
VS
93312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9334
e084ba18
VS
93352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * util/import_gcry.py: Accept space between # and include.
9338
3471ecdf
VS
93392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9342
124df5f6
VS
93432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9346
9347 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9348 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9349 yylex_strncpy.
9350 * grub-core/script/yylex.l: Add fine-grained #pragma.
9351
4defb8d5
VS
93522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9355 New inline function.
9356 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9357 Likewise.
9358 (memset) [GRUB_UTIL]: Likewise.
9359 (memcmp) [GRUB_UTIL]: Likewise.
9360
4e94ae65
VS
93612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9364 inline function rather than a define.
9365
18c575e5
VS
93662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * util/grub-setup.c: Add missing include.
9369
f8bc22a8
VS
93702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * util/ieee1275/grub-ofpathname.c: Add missing include.
9373
3ce69fc9
VS
93742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9377 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9378 Likewise.
9379
d1e293bb
VS
93802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9383 grub_memcmp usage.
9384
7a5c54a4
VS
93852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * util/grub-install.in: Add datarootdir as per automake manual
9388 suggestion.
9389 * util/grub-mknetdir.in: Likewise.
9390
93912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9392
9393 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9394 suggestion.
9395 * util/grub.d/10_kfreebsd.in: Likewise.
9396 * util/grub.d/10_linux.in: Likewise.
9397 * util/grub.d/10_netbsd.in: Likewise.
9398 * util/grub.d/10_windows.in: Likewise.
9399 * util/grub.d/20_linux_xen.in: Likewise.
9400
766f7d08
VS
94012011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 Remove redundant grub_kernel_image_size.
9404
9405 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9406 _edata and _start.
9407 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9408 the small code. It moves it only by few bytes but simplifies the code.
9409 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9410 _start.
9411 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9412 (grub_kernel_image_size): Removed.
9413 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9414 (grub_kernel_image_size): Removed.
9415 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9416 compiled with Apple toolchain.
9417 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9418 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9419 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9420 (grub_total_module_size): Likewise.
9421 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9422 Removed.
9423 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9424 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9425 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9426 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9427 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9428 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9429 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9430 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9431 Removed.
9432 (grub_total_module_size): Removed.
9433 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9434 (image_targets): Likewise.
9435 Set .compressed_size to no field on sparc.
9436 (generate_image): Remove kernel_image_size handling.
9437
fcf1d672
SJ
94382011-10-19 Szymon Janc <szymon@janc.net.pl>
9439
9440 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9441 NULL pointer dereference.
9442
de9c615e
VS
94432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9446 done with a dedicated section.
9447
9448 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9449 Ensure the correct position of boot_path.
9450 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9451 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9452 other fields.
9453 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9454 * include/grub/boot.h: Removed. All references removed.
9455 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9456 Removed.
9457 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9458
e55599dc
VS
94592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9462 name.
9463
36dd20ad
VS
94642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9467
f8f72eb8
VS
94682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9471 Don't add the bogus brackets.
9472
a374751b
VS
94732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 ExFAT support.
9476
9477 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9478 * grub-core/Makefile.core.def (exfat): New module.
9479 * grub-core/fs/exfat.c: New file.
9480 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9481 (GRUB_FAT_ATTR_*): Make into an enum.
9482 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9483 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9484 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9485 (GRUB_FAT_MAXFILE): Removed.
9486 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9487 (grub_current_fat_bpb_t): New type.
9488 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9489 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9490 (grub_fat_dir_node_t): New type.
9491 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9492 (fat_log2) [MODE_EXFAT]: Removed.
9493 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9494 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9495 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9496 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9497 (grub_fat_label) [MODE_EXFAT]: New function.
9498 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9499 reserved_first_sector to 0.
9500
544c2487
VS
95012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 Move grub_reboot out of the kernel.
9504
9505 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9506 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9507 * grub-core/lib/efi/reboot.c: ... here.
9508 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9509 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9510 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9511 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9512 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9513 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9514 * grub-core/lib/ieee1275/reboot.c: ... here.
9515 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9516 * grub-core/lib/mips/arc/reboot.c: ... here.
9517 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9518 * grub-core/lib/mips/loongson/reboot.c: ...here.
9519 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9520 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9521 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9522 * include/grub/i386/reboot.h: New file.
9523 * include/grub/mips/loongson/ec.h: Fix includes.
9524 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9525 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9526 * grub-core/lib/i386/reboot.c: New file.
9527
a97501d2
VS
95282011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Make grub_prefix into module to fix the arbitrary limit and save
9531 some space.
9532
9533 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9534 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9535 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9536 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9537 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9538 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9539 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9540 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9541 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9542 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9543 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9544 * include/grub/ia64/efi/kernel.h: Removed.
9545 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9546 (grub_prefix): Removed.
9547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9548 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9549 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9550 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9551 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9552 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9553 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9554 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9555 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9556 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9557 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9558 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9559 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9560 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9561 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9562 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9563 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9564 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9565 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9566 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9567 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9568 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9569 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9570 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9571 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9572 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9573 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9574 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9575 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9576 from module.
9577 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9578 prefix_end.
9579 (image_targets): Likewise.
9580 (generate_image): Put prefix as a module.
9581
39705fad
VS
95822011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 Replace grub_module_iterate with FOR_MODULES.
9585
9586 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9587 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9588 (grub_efi_modules_addr): ...this.
9589 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9590 (grub_efi_init): Set grub_modbase.
9591 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9592 (grub_modbase): New variable.
9593 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9594 (grub_modbase): New variable.
9595 (grub_machine_init): Set grub_modbase.
9596 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9597 (grub_modbase): New variable.
9598 (grub_machine_init): Set grub_modbase.
9599 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9600 (grub_modbase): New variable.
9601 (grub_machine_init): Set grub_modbase.
9602 * grub-core/kern/main.c (grub_module_iterate): Remove.
9603 (grub_modules_get_end): Use grub_modbase.
9604 (grub_load_modules): Use FOR_MODULES.
9605 (grub_load_config): Likewise.
9606 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9607 (grub_modbase): New variable.
9608 (grub_machine_init): Set grub_modbase.
9609 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9610 (grub_modbase): New variable.
9611 (grub_machine_init): Set grub_modbase.
9612 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9613 Removed.
9614 (grub_modbase): New variable.
9615 (grub_machine_init): Set grub_modbase.
9616 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9617 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9618 (grub_module_iterate): Likewise.
9619 (grub_modbase): New variable declaration.
9620 (FOR_MODULES): New macro.
9621
2afb7f6c
VS
96222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9625 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9626
366e34fa
VS
96272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 Fix few obvious type discrepancies.
9630
9631 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9632 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9633 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9634 variable.
9635 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9636 and connected types.
9637 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9638 offset.
9639 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9640 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9641 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9642 and connected types.
9643
177b960e
VS
96442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 Fix python 3.x incompatibilities.
9647
9648 * gentpl.py: Put brackets around print strings.
9649 * util/import_gcry.py: Open explicitly as utf-8.
9650 Use in instead of has_key.
9651
3b619ae1
VS
96522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9655 (GRUB_XFS_INO_AGBITS): Make into inline function.
9656 (GRUB_XFS_INO_INOINAG): Likewise.
9657 (GRUB_XFS_INO_AG): Likewise.
9658 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9659 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9660 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9661 (GRUB_XFS_EXTENT_SIZE): Likewise.
9662 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9663 (GRUB_XFS_NEXT_DIRENT): Likewise.
9664 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9665 (grub_xfs_read_file): Fix offset type.
9666
8bcebcb8
RM
96672011-10-15 Robert Millan <rmh@gnu.org>
9668
9669 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9670
0017e5ef
RM
96712011-10-15 Robert Millan <rmh@gnu.org>
9672
9673 Fix build problem on FreeBSD and GNU/kFreeBSD.
9674
9675 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9676
d8919552
VS
96772011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9680
9681 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9682 types.
9683 (grub_hfsplus_btree_recoffset): Likewise.
9684 (grub_hfsplus_btree_recptr): Likewise.
9685 (grub_hfsplus_find_block): Likewise.
9686 (grub_hfsplus_btree_search): Likewise.
9687 (grub_hfsplus_read_block): Likewise.
9688 (grub_hfsplus_read_file): Likewise.
9689 (grub_hfsplus_mount): Likewise.
9690 (grub_hfsplus_btree_iterate_node): Likewise.
9691 (grub_hfsplus_btree_search): Likewise.
9692 (grub_hfsplus_iterate_dir): Likewise.
9693 (grub_hfsplus_read): A small code simplification.
9694
c81296b6
VS
96952011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/kern/emu/hostdisk.c
9698 (convert_system_partition_to_system_disk): Don't assume that children
9699 of mapper nodes are mapper nodes.
9700
0eb8ffb1
VS
97012011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9704 * include/grub/misc.h (grub_isxdigit): New function.
9705 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9706 switched to grub_isxdigit.
9707 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9708 number starting with a letter.
9709
a98f4a08
RM
97102011-10-09 Robert Millan <rmh@gnu.org>
9711
9712 LVM support for FreeBSD and GNU/kFreeBSD.
9713
9714 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9715 GNU/kFreeBSD.
9716 (LVM_DEV_MAPPER_STRING): Move from here ...
9717 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9718 * util/getroot.c: Include `<grub/util/lvm.h>'.
9719 (grub_util_get_dev_abstraction): Enable
9720 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9721 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9722 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9723 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9724 support it.
9725 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9726 GNU/kFreeBSD.
9727 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9728 when LVM abstraction is required for ${GRUB_DEVICE}.
9729
050e8e90
SJ
97302011-10-06 Szymon Janc <szymon@janc.net.pl>
9731
9732 Add support for LZO compression in GRUB:
9733 - import of minilzo library,
9734 - LZO decompression for btrfs,
9735 - lzop files decompression.
9736
9737 * grub-core/io/lzopio.c: New file.
9738 * grub-core/lib/adler32.c: Likewise.
9739 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9740 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9741 * grub-core/lib/minilzo/minilzo.c: Likewise.
9742 * grub-core/lib/minilzo/minilzo.h: Likewise.
9743 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9744 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9745 grub-core/lib/minilzo/minilzo.c to common.
9746 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9747 cflags in cppflags.
9748 * grub-core/Makefile.core.def (btrfs): Likewise.
9749 * grub-core/Makefile.core.def (lzopio): New module.
9750 (adler32): Likewise.
9751 * grub-core/fs/btrfs.c: Include minilzo.h.
9752 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9753 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9754 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9755 (grub_btrfs_lzo_decompress): New function.
9756 (grub_btrfs_extent_read): Add support for LZO compression type.
9757 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9758 (GRUB_USHRT_MAX): Likewise.
9759 (GRUB_UINT_MAX): Likewise.
9760 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9761 (UINT_MAX): Likewise.
9762 (CHAR_BIT): Likewise.
9763 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9764 grub-core/lib/posix_wrap/limits.h
9765 (UCHAR_MAX): Likewise.
9766 * include/grub/file.h (grub_file_filter_id): New compression filter
9767 GRUB_FILE_FILTER_LZOPIO.
9768 * include/grub/file.h (grub_file_filter_id): Set
9769 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9770 * include/grub/types.h (grub_get_unaligned16): New function.
9771 (grub_get_unaligned32): Likewise.
9772 (grub_get_unaligned64): Likewise.
9773 * util/import_gcry.py (cryptolist): Add adler32.
9774
0eb8ffb1
VS
97752011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9778 in perspective decreases the complexity of build system and fixes
9779 compilation right now.
9780
ce79cc99 97812011-10-01 Ales Nesrsta <starous@volny.cz>
9782
9783 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9784 (fixed problem related to using UHCI with coreboot).
9785
8667a314
BC
97862011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9787
9788 * gentpl.py: Use Autogen macros so that the output template file
9789 (Makefile.tpl) size is reduced.
9790
fc5efcc0
MK
97912011-09-29 Mads Kiilerich <mads@kiilerich.com>
9792
9793 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9794 extra_dist.
9795
d1ab689d
ML
97962011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9797
9798 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9799 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9800
c05de032
ML
98012011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9802
9803 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9804 _fullpath.
9805
cca7ccd8
ML
98062011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9807
9808 Remove extra declaration of sleep for mingw32.
9809
9810 * util/misc.c (sleep) [__MINGW32__]: Removed.
9811 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9812
e0b0dc83
GS
98132011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9814
9815 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9816 type and packname.
9817 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9818 Resurrected.
9819 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9820 (grub_netbsd_btinfo_bootwedge): New struct.
9821 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9822 New function.
9823 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9824
91a1a164
TH
98252011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9826
9827 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9828 loader.
9829
2ded951e
AB
98302011-09-28 Andreas Born <futur.andy@googlemail.com>
9831
9832 Fix incorrect identifiers in bash-completion.
9833
9834 * util/bash-completion.d/grub-completion.bash.in
9835 (_grub_mkpasswd-pbkdf2): Rename to ...
9836 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9837 (_grub_script-check): Rename to ...
9838 (_grub_script_check): ... this. All users updated.
9839
69915030
VS
98402011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9843 Return 0 if disk isn't biosdisk.
9844
20fd15f9
GS
98452011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9846
9847 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9848 on NetBSD.
9849 * Makefile.util.def (grub-fstest): Likewise.
9850
1a7d7db9
GS
98512011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9852
9853 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9854 Get sector size from disk label.
9855
2221ab6c
CW
98562011-09-05 Colin Watson <cjwatson@ubuntu.com>
9857
9858 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9859 */README* as well as README*.
9860 Reported by: Axel Beckert.
9861
ca51c4a0
VS
98622011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9865 case of less than 256 MiB of RAM.
9866
ab80f326
VS
98672011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/commands/wildcard.c (make_regex): Handle @.
9870
4155e697
VS
98712011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9874
ab178c08
SJ
98752011-08-21 Szymon Janc <szymon@janc.net.pl>
9876
9877 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9878 AC_LANG_CONFTEST macros.
9879
7dc3c686
SJ
98802011-08-20 Szymon Janc <szymon@janc.net.pl>
9881
9882 Add grub-fstest option to uncompress data for commands.
9883
9884 * util/grub-fstest.c (uncompress): New var.
9885 (options): New option -u.
9886
fe8d4a7b
SJ
98872011-08-20 Szymon Janc <szymon@janc.net.pl>
9888
9889 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9890 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9891
a5219af1
SJ
98922011-08-20 Szymon Janc <szymon@janc.net.pl>
9893
9894 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9895 file type was not recognized correctly (not gzip or corrupted).
9896
f87abff5
VS
98972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9900 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9901
d94497ea
VS
99022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9905 loongson.
9906 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9907 video_radeon_fuloong2e.
9908 * grub-core/video/radeon_fuloong2e.c: New file.
9909 * include/grub/video.h (grub_video_id_t): Add new ID
9910 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9911
0d1fd011
VS
99122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9915 define.
9916 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9917 that PRID matches the detected subplatform and reset the subplatform
9918 if it doesn't.
9919
84beb0ee
VS
99202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9923
1227c133
VS
99242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Fix PCI iterating on functions >= 4.
9927
9928 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9929 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9930 Removed.
9931 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9932 (grub_pci_read): Fix bitmask.
9933 (grub_pci_read_word): Likewise.
9934 (grub_pci_read_byte): Likewise.
9935 (grub_pci_write): Likewise.
9936 (grub_pci_write_word): Likewise.
9937 (grub_pci_write_byte): Likewise.
9938
9594c689
VS
99392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9942 can still be specified in TARGET_CFLAGS)
9943
14a2562c
VS
99442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9947
9948 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9949 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9950 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9951 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9952 (FULOONG): Rename to ...
9953 (FULOONG2F): ... this. All users updated.
9954 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9955 (machtype_fuloong2f_str): ... this.
9956 (machtype_fuloong2e_str): New string.
9957 Check for machtype_fuloong2e_str.
9958 * grub-core/loader/mips/linux.c (loongson_machtypes)
9959 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9960 * grub-core/term/serial.c (loongson_defserial)
9961 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9962 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9963 loongson_defserial.
9964 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9965 Rename to ...
9966 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9967 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9968 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9969 to IMAGE_FULOONG2F_FLASH. All users updated.
9970 (image_targets): Rename images.
9971 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9972
b526cbb6
SJ
99732011-08-19 Szymon Janc <szymon@janc.net.pl>
9974
9975 Make enable of disk cache statistics code configurable.
9976
9977 * configure.ac: --enable-cache-stats added.
9978 * config.h.in (DISK_CACHE_STATS): New define.
9979 * grub-core/Makefile.core.def (cacheinfo): New command.
9980 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9981 * grub-core/commands/cacheinfo.c: New file.
9982 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9983 moved to cacheinfo.c.
9984 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9985 debug code.
9986 * include/grub/disk.h: Likewise.
9987
fb739ccd
SJ
99882011-08-19 Szymon Janc <szymon@janc.net.pl>
9989
9990 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9991 * grub-core/Makefile.am: Likewise.
9992
2bba8cfd
VS
99932011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9996 non-zero pull.
9997
43526629
VS
99982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10001 All users updated.
10002 (grub_jfs_lookup_symlink): Use correct starting inode.
10003
5c144cc8
VS
100042011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * util/grub-setup.c (main): Add missing gcry initialisation.
10007
b1257f65
VS
100082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 Don't accept text modes on EFI when booting Linux.
10011
10012 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10013 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10014
828bc390
ML
100152011-08-15 Mario Limonciello <mario_limonciello@dell.com>
100162011-08-15 Colin Watson <cjwatson@ubuntu.com>
10017
10018 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10019 use of "/path/.." as in grub-install for EFI as well as handling
10020 symlinks correctly.
10021 Fixes Debian bug #637768.
10022
5f60ccac
CW
100232011-08-15 Colin Watson <cjwatson@ubuntu.com>
10024
10025 * util/grub-probe.c: Remove duplicate #include.
10026
6dc212f9
RM
100272011-08-10 Robert Millan <rmh@gnu.org>
10028
10029 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10030
10031 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10032 function.
10033 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10034 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10035
66816d85
RM
100362011-08-03 Robert Millan <rmh@gnu.org>
10037
10038 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10039 la_array as packed.
10040 Reported by: Zachary Bedell
10041
20168fca
CW
100422011-07-26 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * configure.ac: The Loongson port requires grub-mkfont due to its
10045 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10046 be built.
10047
303b6246
CW
100482011-07-26 Colin Watson <cjwatson@ubuntu.com>
10049
10050 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10051 processing arguments (otherwise help2man fails when GRUB has not yet
10052 been installed).
10053
6795300e
VS
100542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10055
41aa28ea
VS
10056 New script grub-mkstandalone.
10057
10058 * Makefile.util.def (grub-mkstandalone): New script.
10059 * docs/man/grub-mkstandalone.h2m: New file.
10060 * util/grub-mkstandalone.in: Likewise.
10061
100622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 Support ATA disks with 4K sectors.
6795300e
VS
10065
10066 * include/grub/ata.h (grub_ata): New member log_sector_size.
10067 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10068 (grub_ata_identify): Read sector size.
10069 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10070
92227597
VS
100712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/grub-install.in: Don't use uhci outside of x86.
10074
c77069f5
VS
100752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * util/grub-mkrescue.in: Add missing quotes.
10078
100792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10080
10081 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10082 dereference.
10083
583168a2
VS
100842011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10087
6be1c01f
VS
100882011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * include/grub/video.h: add missing EXPORT_FUND on
10091 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10092
a1167439
VS
100932011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * include/grub/mips/kernel.h: Fix define conflict.
10096
bf66054f
VS
100972011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10100 all four ways.
10101
8fc4fa45
CW
101022011-07-21 Colin Watson <cjwatson@ubuntu.com>
10103
10104 Preferred resolution detection for VBE.
10105
10106 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10107 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10108 the Flat Panel extension, in line with the X.org VESA driver.
10109 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10110 New function.
10111 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10112 (grub_vbe_bios_read_edid): Likewise.
10113 (grub_vbe_get_preferred_mode): Likewise.
10114 (grub_video_vbe_setup): When the mode is "auto", try to get the
10115 preferred mode from VBE, and use the largest mode that is no larger
10116 than the preferred mode (some BIOSes expose a preferred mode that is
10117 not in their mode list!). If this fails, fall back to 640x480 as a
10118 safe conservative choice.
10119 (grub_video_vbe_get_edid): New function.
10120 (grub_video_vbe_adapter): Add get_edid.
10121 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10122 (struct grub_video_adapter): Add get_edid.
10123 (grub_video_edid_checksum): Add prototype.
10124 (grub_video_edid_preferred_mode): Likewise.
10125 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10126 structure.
10127
10128 * grub-core/commands/videoinfo.c (print_edid): New function.
10129 (grub_cmd_videoinfo): Print EDID if available.
10130
10131 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10132 is more appropriate on a wider range of platforms than 640x480.
10133 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10134 documentation.
10135
ca5572a9
VS
101362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10139
e4bcf625
VS
101402011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * po/POTFILES.in: Regenerate.
10143
c4edd548
VS
101442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10147 incorrect memory usage.
10148
16a2bab0
VS
101492011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * util/grub-install.in: Source grub-mkconfig_lib.
10152
2e418de6
VS
101532011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 Remove getroot.c from core on emu platform.
10156
10157 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10158 kern/emu/raid.c.
10159 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10160 useless.
10161 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10162 * util/getroot.c (get_win32_path): ... here.
10163 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10164 * util/getroot.c (fini_libzfs): ... here.
10165 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10166 * util/getroot.c (grub_get_libzfs_handle): ... here.
10167 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10168 Moved from here...
10169 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10170 * grub-core/kern/emu/misc.c
10171 (grub_make_system_path_relative_to_its_root): Moved from here...
10172 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10173 * grub-core/kern/emu/getroot.c: Moved from here ...
10174 * util/getroot.c: ... here. All users updated.
10175 * grub-core/kern/emu/raid.c: Moved from here ...
10176 * util/raid.c: ... here. All users updated.
10177
def9832a
VS
101782011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * po/POTFILES.in: Regenerate.
10181
cd8fe79a
VS
101822011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 Fix compilation on GNU/Linux.
10185
10186 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10187 Disable geli.
10188 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10189 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10190 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10191
a251b719
VS
101922011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
101932011-07-07 Michael Gorven <michael@gorven.za.net>
101942011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10195
10196 LUKS and GELI support.
10197
10198 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10199 grub-core/disk/luks.c, grub-core/disk/geli.c,
10200 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10201 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10202 grub-core/lib/arg.c.
10203 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10204 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10205 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10206 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10207 (grub-bin2h): Add libgcry.a.
10208 (grub-mkimage): Likewise.
10209 (grub-mkrelpath): Likewise.
10210 (grub-script-check): Likewise.
10211 (grub-editenv): Likewise.
10212 (grub-mkpasswd-pbkdf2): Likewise.
10213 (grub-pe2elf): Likewise.
10214 (grub-fstest): Likewise.
10215 (grub-mkfont): Likewise.
10216 (grub-mkdevicemap): Likewise.
10217 (grub-probe): Likewise.
10218 (grub-ofpath): Likewise.
10219 (grub-mklayout): Likewise.
10220 (example_unit_test): Likewise.
10221 (grub-menulst2cfg): Likewise.
10222 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10223 * grub-core/Makefile.core.def (cryptodisk): New module.
10224 (luks): Likewise.
10225 (geli): Likewise.
10226 * grub-core/disk/AFSplitter.c: New file.
10227 * grub-core/disk/cryptodisk.c: Likewise.
10228 * grub-core/disk/geli.c: Likewise.
10229 * grub-core/disk/luks.c: Likewise.
10230 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10231 grub_util_is_lvm.
10232 (grub_util_get_dm_abstraction): New function.
10233 (grub_util_follow_gpart_up): Likewise.
10234 (grub_util_get_geom_abstraction): Likewise.
10235 (grub_util_get_dev_abstraction): Use new functions.
10236 (grub_util_pull_device): Pull GELI and LUKS.
10237 (grub_util_get_grub_dev): Handle LUKS and GELI.
10238 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10239 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10240 (follow_geom_up): Removed.
10241 (grub_util_fd_seek): New function.
10242 (open_device): Use grub_util_fd_seek.
10243 (nread): Rename to ..
10244 (grub_util_fd_read): ... this. All users updated.
10245 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10246 (grub_crypto_cbc_decrypt): Likewise.
10247 (grub_crypto_hmac_write): Likewise.
10248 (grub_crypto_hmac_buffer): Likewise.
10249 (grub_password_get): Extend to util.
10250 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10251 New member modname.
10252 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10253 * include/grub/cryptodisk.h: New file.
10254 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10255 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10256 LUKS and GELI.
10257 (grub_util_follow_gpart_up): New proto.
10258 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10259 (grub_util_fd_read): Likewise.
10260 (grub_cryptodisk_cheat_mount): Likewise.
10261 (grub_util_cryptodisk_print_uuid): Likewise.
10262 (grub_util_get_fd_sectors): Likewise.
10263 * util/grub-fstest.c (mount_crypt): New var.
10264 (fstest): Mount crypto if requested.
10265 (options): New option -C.
10266 (argp_parser): Parse -C.
10267 (main): Init and fini gcry.
10268 * util/grub-install.in: Support cryptodisk install.
10269 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10270 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10271 cryptodisk.
10272 (prepare_grub_to_access_device): Likewise.
10273 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10274 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10275 (probe_cryptodisk_uuid): New function.
10276 (probe_abstraction): Likewise.
10277 (probe): Use new functions.
10278 * util/import_gcry.py: Create Makefile.utilgcry.def.
10279 Add modname member.
10280
9bfdcbbc
VS
102812011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Lazy device scanning.
10284
10285 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10286 (grub-setup): Remove util/raid.c.
10287 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10288 * grub-core/disk/lvm.c (scan_depth): New variable.
10289 (grub_lvm_iterate): Rescan if necessary.
10290 (find_lv): New function based on grub_lvm_open.
10291 (grub_lvm_open): Use find_lv. Rescan on error.
10292 (is_node_readable): New function.
10293 (is_lv_readable): Likewise.
10294 (grub_lvm_scan_device): Skip already found disks.
10295 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10296 Stop if searched device is found and readable.
10297 * grub-core/disk/raid.c (inscnt): New variable.
10298 (scan_depth): Likewise.
10299 (scan_devices): New function based on grub_raid_register. Abort if
10300 looked for device is found.
10301 (grub_raid_iterate): Rescan if needed.
10302 (find_array): NEw function based on -grub_raid_open.
10303 (grub_raid_open): Use find_array and rescan.
10304 (insert_array): Set became_readable_at.
10305 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10306 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10307 New function.
10308 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10309 (grub_util_pull_device): New function.
10310 (grub_util_get_grub_dev): Call grub_util_pull_device.
10311 * util/raid.c: Moved to ..
10312 * grub-core/kern/emu/raid.c: ... here.
10313 (grub_util_raid_getmembers): New parameter "bootable".
10314 All users updated. Support 1.x.
10315 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10316 All users updated.
10317 * include/grub/disk.h (grub_disk_pull_t): New enum.
10318 (grub_disk_dev): Change iterate prototype.
10319 All users updated.
10320 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10321 New proto.
10322 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10323 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10324 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10325 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10326 All users updated.
10327 * include/grub/util/raid.h: Removed.
10328
1c358e59
VS
103292011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * po/POTFILES.in: Regenerate.
10332
abee94ed
VS
103332011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Unify sparc init with other ieee1275.
10336
10337 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10338 instead of kern/sparc64/ieee1275/init.c.
10339 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10340 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10341 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10342 grub/machine/kernel.h.
10343 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10344 (grub_claim_heap) [__sparc__]: Use sparc version.
10345 (grub_machine_init): Moved args parsing to
10346 (grub_parse_cmdline): ...this.
10347 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10348 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10349 New definition.
10350 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10351
10352 Move BOOTP to separate file.
10353
10354 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10355 * grub-core/net/net.c: Move all BOOTP functions to
10356 * grub-core/net/bootp.c: ... here.
10357
10358 Use frame interface on PXE.
10359
10360 * grub-core/Makefile.core.def (pxecmd): Removed.
10361 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10362 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10363 * grub-core/i386/pc/pxe.c: Moved from here ...
10364 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10365 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10366 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10367
10368 EFI network support.
10369
10370 * grub-core/Makefile.core.def (efinet): New module.
10371 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10372 here...
10373 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10374 All users updated.
10375 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10376 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10377 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10378 * grub-core/net/drivers/efi/efinet.c: New file.
10379 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10380 (grub_efi_net_config): New extern var.
10381
10382 Various cleanups and bugfixes.
10383
10384 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10385 error.
10386 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10387 disk declared as partition.
10388 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10389 leak on failure.
10390 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10391 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10392 (grub_debug_zalloc): Likewise.
10393 (grub_debug_realloc): Likewise.
10394 (grub_debug_memalign): Likewise.
10395 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10396 Check that target is IPv4.
10397 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10398 local-mac-address as fallback.
10399 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10400 memory leak.
10401 * grub-core/net/ip.c (ipchksum): Rename to ...
10402 (grub_net_ip_chksum): ... this. All users updated.
10403 (grub_net_recv_ip_packets): Special handling for DHCP.
10404 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10405
10406 Unify prefix handling
10407
10408 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10409 (grub_machine_get_bootlocation): ... this.
10410 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10411 (grub_machine_get_bootlocation): ... this.
10412 (grub_prefix): New variable.
10413 (prefix): Removed.
10414 (root_dev): New variable.
10415 (dir): Likewise.
10416 (main): Use new variables.
10417 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10418 Revamped into ...
10419 (grub_machine_get_bootlocation): ... this.
10420 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10421 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10422 (grub_machine_get_bootlocation): ... this.
10423 (grub_machine_set_prefix): Removed.
10424 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10425 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10426 Revamped into ...
10427 (grub_machine_get_bootlocation): ... this.
10428 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10429 (grub_set_prefix_and_root): ... this. All users updated.
10430 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10431 Revamped into ...
10432 (grub_machine_get_bootlocation): ... this.
10433 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10434 (grub_machine_get_bootlocation): New proto.
10435 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10436
10437 Less intrusive and more reliable seek on network implementation.
10438
10439 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10440 (grub_file_seek): Don't call grub_file_net_seek.
10441 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10442 (grub_net_fs_read_real): .. this.
10443 (grub_net_seek_real): Use net->offset.
10444 (grub_net_fs_read): Seek if necessary.
10445
10446 Unify IEEE1275 netwotk config with the other platforms.
10447
10448 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10449 New variable.
10450 (grub_machine_get_bootlocation): Support network.
10451 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10452 Support type and device parsing.
10453 (grub_ieee1275_get_device_type): New function.
10454 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10455 into ...
10456 (grub_ieee1275_net_config_real): ... this.
10457 (grub_ofnet_probecards): Removed.
10458 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10459 * include/grub/ieee1275/ofnet.h: Removed.
10460 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10461 extern var.
10462 (grub_ieee1275_get_device_type): New function.
10463
10464 Unify network device closing across platforms and make more robust.
10465
10466 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10467 grub_grubnet_fini.
10468 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10469 already.
10470 * grub-core/net/net.c (grub_net_network_level_interface_register):
10471 Update num_ifaces.
10472 (grub_net_card_unregister): Close all interfaces.
10473 (receive_packets): Don't poll if no iterfaces are registered.
10474 Open if necessary.
10475 (grub_net_fini_hw): New function.
10476 (grub_net_restore_hw): Likewise.
10477 (fini_hnd): New variable.
10478 (GRUB_MOD_INIT): Register preboot hook.
10479 (GRUB_MOD_FINI): Run and unregister preboot hook.
10480
10481 Poll network cards when idle.
10482
10483 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10484 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10485 * grub-core/net/net.c (receive_packets): Save last poll time.
10486 (grub_net_poll_cards_idle_real): New function.
10487 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10488 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10489 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10490
10491 Rename ofnet interfaces.
10492
10493 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10494 (grub_ofnet_findcards): Use ofnet_%s names.
10495
10496 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10497
10498 Cleanup socket opening.
10499
10500 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10501 (grub_net_fs_close): Likewise.
10502 (grub_net_fs_read_real): Use eof member.
10503 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10504 (+grub_net_udp_close): New inline function.
10505
10506 * include/grub/net/tftp.h: Moved to the top of ...
10507 * grub-core/net/tftp.c: ... here.
10508 * include/grub/net/ip.h: Moved mostly to the top of ...
10509 * grub-core/net/ip.c: ... here.
10510 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10511 * grub-core/net/ethernet.c: ... here.
10512
10513 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10514
10515 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10516 FS name.
10517
10518 * include/grub/net/ip.h (ipv4_ini): Removed.
10519 (ipv4_fini): Likewise.
10520
10521 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10522 (grub_net_send_ip_packets): Likewise.
10523
cf1337aa
VS
105242011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10527 grub_read_cmos prototype.
10528
93c06ff9
VS
105292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 VGA text support in qemu-mips
10532
10533 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10534 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10535 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10536 text.
10537 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10538 * grub-core/kern/vga_init.c: ... this.
10539 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10540 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10541 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10542 Adjust.
10543 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10544 GRUB_MACHINE_PCI_IO_BASE.
10545
748ccabe
VS
105462011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 MIPS qemu flash support.
10549
10550 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10551 magic.
10552 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10553 (grub_machine_init): Probe memory if its size isn't known.
10554 * util/grub-mkimage.c (image_targets): Add flash targets.
10555 (generate_image): Handle flash targets.
10556
d7345994
VS
105572011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 MIPS qemu at_keyboard support.
10560
10561 * gentpl.py (videoinkernel): Add qemu-mips.
10562 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10563 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10564 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10565 modules.
10566 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10567 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10568 * grub-core/term/serial.c (grub_serial_register)
10569 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10570
a07a81b3
VS
105712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 CMOS support on sparc.
10574
10575 * gentpl.py (cmos): Add powerpc and sparc.
10576 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10577 powerpc and sparc.
10578 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10579 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10580 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10581 grub_set_datetime_cmos.
10582 * grub-core/lib/ieee1275/cmos.c: New file.
10583 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10584 (find_rtc): Set no_ieee1275_rtc on error.
10585 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10586 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10587 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10588 fail. Move value to argument. All users updated
10589 (grub_cmos_write): Likewise.
10590 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10591 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10592 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10593 grub_get_datetime_cmos and grub_set_datetime_cmos.
10594
77546584
GS
105952011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10596
10597 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10598 sourcing grub-mkconfig_lib.
10599 * util/update-grub_lib.in: Likewise.
10600 * util/grub.d/00_header.in: Likewise.
10601 * util/grub.d/10_hurd.in: Likewise.
10602 * util/grub.d/10_kfreebsd.in: Likewise.
10603 * util/grub.d/10_linux.in: Likewise.
10604 * util/grub.d/10_netbsd.in: Likewise.
10605 * util/grub.d/10_windows.in: Likewise.
10606 * util/grub.d/20_linux_xen.in: Likewise.
10607 * util/grub.d/30_os-prober.in: Likewise.
10608
54894791
CW
106092011-06-28 Colin Watson <cjwatson@ubuntu.com>
10610
10611 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10612 default_bg_color rather than black.
10613 (grub_gfxterm_fullscreen): Likewise.
10614 (grub_gfxterm_background_color_cmd): Save new background color in
10615 default_bg_color.
10616
8d5d8444
VS
106172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10620
5afeb5bd
VS
106212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10624 mismerge.
10625
ba7df45e
VS
106262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 Chainloading on coreboot support.
10629
10630 * grub-core/Makefile.core.def (chain): Add coreboot.
10631 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10632
d0b526b2
VS
106332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10636 if it happens.
10637
5ff1d945
VS
106382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 Implement time command.
10641
10642 * grub-core/Makefile.core.def (time): New module.
10643 * grub-core/commands/time.c: New file.
10644 * grub-core/script/parser.y: Remove "time" keyword.
10645 * grub-core/script/yylex.l: Likewise.
10646
5ebaad7e
VS
106472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10650
bdea3798
VS
106512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10654 when handling leftovers.
10655
b28c5655
VS
106562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10659 so that help2man doesn't fail.
10660
b6f945dc
VS
106612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10664 type in pointers on sparc64.
10665 (get_card_packet): Likewise.
10666
f9b75e8a
CW
106672011-06-27 Colin Watson <cjwatson@ubuntu.com>
10668
10669 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10670 with `*'.
10671 (grub_cmd_videoinfo): Fetch current video mode.
10672
1e3d9b86
VS
106732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10676 because of underlying system restrictions.
10677
efff4b1c
VS
106782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10681 necessary.
10682
9fc9ce37
VS
106832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Coreboot video support.
10686
10687 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10688 (vbe): Likewise.
10689 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10690 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10691 here ...
10692 * grub-core/kern/i386/int.S: ... here.
10693 * grub-core/video/i386/pc/vbe.c: Updated includes.
10694 * grub-core/video/i386/pc/vga.c: Likewise.
10695 * include/grub/i386/coreboot/memory.h
10696 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10697 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10698 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10699 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10700 Disable interrupts.
10701 * include/grub/i386/pc/vga.h: Removed. All users updated.
10702
41bec7fe
VS
107032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10706 definitions for dprintf.
10707 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10708
ca80309d
VS
107092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10712 prototype.
10713 (get_card_packet): Likewise.
10714
9e322ce8
YB
107152011-06-26 Yves Blusseau <blusseau@zetam.org>
10716
10717 Display the path of the file when file is not found
10718
10719 * grub-core/fs/fat.c: Display the filename when file is not found.
10720 * grub-core/fs/fshelp.c: Likewise.
10721 * grub-core/fs/hfs.c: Likewise.
10722 * grub-core/fs/jfs.c: Likewise.
10723 * grub-core/fs/minix.c: Likewise.
10724 * grub-core/fs/ufs.c: Likewise.
10725 * grub-core/fs/btrfs.c: Likewise.
10726 * grub-core/commands/i386/pc/play.c: Likewise.
10727
cbf597af
SJ
107282011-06-26 Szymon Janc <szymon@janc.net.pl>
10729
10730 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10731 pointer checks before calling grub_free().
10732 * grub-core/commands/wildcard.c (match_devices): Likewise.
10733 * grub-core/commands/wildcard.c (match_files): Likewise.
10734 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10735 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10736 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10737 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10738 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10739 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10740 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10741 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10742 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10743
6295b32f
P
107442011-06-25 Patrick <p55@mailinator.com>
10745
10746 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10747
77c0840b
VS
107482011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10751 (grub_pxe_send): Likewise.
10752 (GRUB_MOD_INIT): Fix types.
10753
40ea05de
SJ
107542011-06-24 Szymon Janc <szymon@janc.net.pl>
10755
10756 * grub-core/io/xzio.c: Fix code style issues
10757
90162423
MRA
107582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
107592011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10760
10761 Network infrastructure.
10762 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10763
10764 * include/grub/net/arp.h: New file.
90162423
MRA
10765 * include/grub/net/device.h: Likewise.
10766 * include/grub/net/ethernet.h: Likewise.
10767 * include/grub/net/ip.h: Likewise.
10768 * include/grub/net/netbuff.h: Likewise.
10769 * include/grub/net/tftp.h: Likewise.
10770 * include/grub/net/udp.h: Likewise.
10771 * include/grub/ieee1275/ofnet.h: Likewise.
10772 * include/grub/emu/export.h: Likewise.
10773 * include/grub/net.h: Likewise.
10774 * grub-core/net/arp.c: Likewise.
10775 * grub-core/net/ethernet.c: Likewise.
10776 * grub-core/net/ip.c: Likewise.
10777 * grub-core/net/udp.c: Likewise.
10778 * grub-core/net/tftp.c: Likewise.
10779 * grub-core/net/netbuff.c: Likewise.
10780 * grub-core/net/net.c: Likewise.
10781 * grub-core/net/drivers/emu/emunet.c: Likewise.
10782 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10783 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10784 export.h.
10785 * grub-core/Makefile.core.def (net): New module.
10786 (tftp): Likewise.
10787 (ofnet): Likewise.
10788 (emunet): Likewise.
10789 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10790 network protocols.
10791 * grub-core/kern/device.c (grub_net_open) : New variable.
10792 (grub_device_open): Handle network device.
10793 (grub_device_close): Likewise.
10794 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10795 (grub_grubnet_fini): Likewise.
10796 (grub_file_seek): Seek in network device.
10797 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10798 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10799 network root.
10800 (grub_machine_fini): Call grub_grubnet_fini.
10801 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10802 network.
10803 (grub_ieee1275_get_aliasdevname): New function.
10804 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10805 Add unofficial Solaris network info.
10806 (grub_multiboot_make_mbi): Likewise.
10807 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10808 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10809 * include/grub/device.h (grub_fs): Removed.
10810 * include/grub/err.h (grub_err_t): Add network-related values.
10811 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10812 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10813 (grub_ieee1275_get_aliasdevname): New proto.
10814 * include/grub/net.h: Rewritten.
423a1849 10815
031f22a0
VS
108162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10819 names.
10820
4388ca72
VS
108212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10824 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10825 it truncates the output.
10826 Reported by: Ximin Luo.
10827
98e2f506
VS
108282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10831
2a5e94d8
VS
108322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10835 partmap before abstraction.
10836
535c1910
AK
108372011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10838
10839 * util/grub-mkconfig_lib.in: Add missing quotes.
10840
bc09e1a2
VS
108412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10844 old method if mountinfo would return /dev/root and /dev/root doesn't
10845 exist.
10846
290766fb
VS
108472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 ZFS zlib support
10850
10851 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10852 (decomp_table): Add zlib entries.
10853 (zio_read): USe 8 bits for compression function rather than 3.
10854 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10855
108562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/disk/ahci.c: Add missing license statements.
10859 * grub-core/fs/romfs.c: Likewise.
10860 * grub-core/lib/ia64/setjmp.S: Likewise.
10861 * grub-core/loader/i386/pc/freedos.c: Likewise.
10862 * grub-core/loader/ia64/efi/linux.c: Likewise.
10863 * grub-core/video/colors.c: Likewise.
10864 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10865
5ab3f48a
VS
108662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 AHCI support.
10869
10870 * grub-core/Makefile.core.def (ata_pthru): Removed.
10871 (ahci): New module.
10872 (pata): Likewise.
10873 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10874 on unload.
10875 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10876 readwrite.
10877 (grub_hdparm_do_check_powermode_cmd): Likewise.
10878 (grub_hdparm_do_smart_cmd): Likewise.
10879 (grub_hdparm_set_val_cmd): Likewise.
10880 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10881 * grub-core/disk/ahci.c: New file.
10882 * grub-core/disk/ata.c: Factor out the low-level part into ...
10883 * grub-core/disk/pata.c: ... here.
10884 * grub-core/disk/ata_pthru.c: Contents moved to ...
10885 * grub-core/disk/pata.c: ... here.
10886 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10887 (grub_scsi_iterate): Use grub_scsi_names.
10888 (grub_scsi_open): Likewise.
10889 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10890 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10891 (grub_ata_regs_t): New struct.
10892 (grub_disk_ata_pass_through_parms): Likewise.
10893 (grub_ata_device): Renamed to ...
10894 (grub_ata): ... this.
10895 (grub_ata_dev): New struct.
10896 Removed all low-level inline functions.
10897 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10898 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10899 iterate hooks and open. All users updated.
10900 * util/grub-install.in: Handle AHCI disk module.
10901
c31dc5f5
SJ
109022011-06-23 Szymon Janc <szymon@janc.net.pl>
10903
10904 Add support for DRI and RSTn markers in JPEG files.
10905
10906 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10907 (JPEG_MARKER_RST0): Likewise.
10908 (JPEG_MARKER_RST1): Likewise.
10909 (JPEG_MARKER_RST2): Likewise.
10910 (JPEG_MARKER_RST3): Likewise.
10911 (JPEG_MARKER_RST4): Likewise.
10912 (JPEG_MARKER_RST5): Likewise.
10913 (JPEG_MARKER_RST6): Likewise.
10914 (JPEG_MARKER_RST7): Likewise.
10915 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10916 (grub_jpeg_decode_dri): New function.
10917 (grub_jpeg_decode_sos): Move image data related part into
10918 grub_jpeg_decode_data function.
10919 (grub_jpeg_decode_data): New function.
10920 (grub_jpeg_reset): New function.
10921 (grub_jpeg_decode_jpeg): Handle new markers.
10922
fe12fd5b
VS
109232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * util/ieee1275/ofpath.c (check_sas): Close fd.
10926 (main): Free of_path.
10927 Reported by: David Volgyes <dvolgyes>.
10928
03147f46
VS
109292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10932 Reported by: David Volgyes <dvolgyes>.
10933
cad3237f
VS
109342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10937 file after stat.
10938 Reported by: David Volgyes <dvolgyes>.
10939
13548d26
VS
109402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10943
10944 Reported by: David Volgyes <dvolgyes>.
10945
e061a1b5
VS
109462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10949 Prevent memory leak.
10950
1abe47dc
VS
109512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10954 (main): Close file.
e061a1b5 10955 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10956
fbc62666
VS
109572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10960 to continue if allocation is failed.
10961
10962 Reported by: David Volgyes <dvolgyes>.
10963
e98c83e9
DV
109642011-06-23 David Volgyes <dvolgyes>
10965
10966 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10967 dereference.
10968
a199a8cd
VS
109692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Fix spurious warning.
10972
10973 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10974 (acorn_partition_map_find): Use .bin member.
10975
e2d1dba0
VS
109762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10979 /dev/root as a valid device.
10980
8a5d6919
JM
109812011-06-23 Jim Meyering <meyering@redhat.com>
10982
e2d1dba0
VS
10983 Avoid NULL deref in grub_device_open.
10984
8a5d6919
JM
10985 * grub-core/kern/device.c (grub_device_open): Don't dereference
10986 a NULL pointer upon failed grub_env_get.
10987
f7db6f4a
VS
109882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 Support non-512B sectors and agglomerate reads.
10991
10992 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10993 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10994 (disk_io_guid): Removed.
10995 (make_devices): Locate solely by BlockIO.
10996 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10997 (grub_efidisk_read): Use read_blocks.
10998 (grub_efidisk_write): Use write_blocks.
10999 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11000 log_sector_size.
11001 (get_safe_sectors): Handle non-512B sectors.
11002 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11003 sectors.
11004 (grub_biosdisk_write): Handle non-512B sectors.
11005 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11006 (grub_scsi_read): Remove special non-512B block handling (now handled
11007 one level up).
11008 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11009 and do sanity checks.
11010 (grub_disk_adjust_range): Handle non-512B sectors.
11011 (transform_sector): New function.
11012 (grub_disk_read_small): Likewise.
11013 (grub_disk_read): Rewritten.
11014 (grub_disk_write): Handle non-512B sectors.
11015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11016 log_sector_size.
11017 (open_device): Use log_sector_size.
11018 (grub_util_biosdisk_read): Likewise.
11019 (grub_util_biosdisk_write): Likewise.
11020 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11021 non-512B sectors.
11022 (pc_partition_map_embed): Likewise.
11023 * include/grub/disk.h (grub_disk): New field log_sector_size.
11024 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11025 (GRUB_DISK_CACHE_BITS): Increased to 6.
11026 * util/grub-fstest.c (fstest): New command testload.
11027 (argp_parser): Likewise.
11028
881ac815
RM
110292011-06-16 Robert Millan <rmh@gnu.org>
11030
11031 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11032 `ata' driver on kernel of FreeBSD 9.
11033
11034 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11035 (get_ataraid_disk_name): New functions.
11036 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11037 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11038 get_ataraid_disk_name() and get_ada_disk_name().
11039
1e9aef7d
CW
110402011-06-13 Colin Watson <cjwatson@ubuntu.com>
11041
11042 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11043 input format.
11044
351c7c8a
CW
110452011-05-29 Colin Watson <cjwatson@ubuntu.com>
11046
11047 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11048 `ftp.gnu.org' for `alpha.gnu.org'.
11049
6b4e6430
CW
110502011-05-27 Colin Watson <cjwatson@ubuntu.com>
11051
11052 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11053 partitions under /dev/disk/by-id/.
11054
c64db050
CW
110552011-05-27 Colin Watson <cjwatson@ubuntu.com>
11056
11057 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11058 after ten consecutive open failures. Scanning all the way up to
11059 10000 is excessive and can cause serious performance problems in
11060 some configurations.
11061 Fixes Ubuntu bug #787461.
11062
245f4aba
VS
110632011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11066 opening new one.
11067
f767c929
VS
110682011-05-21 Colin Watson <cjwatson@ubuntu.com>
110692011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 Don't stat devices unless we have to.
11072
11073 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11074 dir == /dev/mapper.
11075 (grub_guess_root_device): Use already known os_dev if possible.
11076 * grub-core/kern/emu/hostdisk.c
11077 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11078 if device is known to be a dm one.
11079
f35fa3a6
CW
110802011-05-20 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11083 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11084 Reported by: Pawel Tecza.
11085
9a79fcf2
VS
110862011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11089 (lsefisystab): Likewise.
11090 (lssal): Likewise.
11091 (lsefimmap): Likewise.
11092 (hdparm): Enable on qemu-mips.
11093 (setjmp): Add ia64 nodist.
11094 (serial): Simplify tags.
11095
63e3eea9
CW
110962011-05-18 Colin Watson <cjwatson@ubuntu.com>
11097
11098 * Makefile.util.def (grub-ofpathname): Install manual page.
11099
09728256
CW
111002011-05-18 Colin Watson <cjwatson@ubuntu.com>
11101
11102 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11103
8b63a142
CW
111042011-05-18 Colin Watson <cjwatson@ubuntu.com>
11105
11106 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11107
e775d8ed
VS
111082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11111 into dprintf.
11112
bf947d36
VS
111132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 Use full 64-bit division.
11116
11117 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11118 (grub_divmod64): ... this.
11119 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11120 version.
11121
b84f26c5
CW
111222011-05-18 Colin Watson <cjwatson@ubuntu.com>
11123
11124 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11125 `source'.
11126
5626056f
CW
111272011-05-18 Colin Watson <cjwatson@ubuntu.com>
11128
11129 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11130 to avoid accidents when debugging with 'sh -x'.
11131 * grub-core/gensyminfo.sh.in: Likewise.
11132 * tests/example_scripted_test.in: Likewise.
11133 * tests/grub_cmd_regexp.in: Likewise.
11134 * tests/grub_script_blanklines.in: Likewise.
11135 * tests/grub_script_dollar.in: Likewise.
11136 * tests/grub_script_expansion.in: Likewise.
11137 * tests/grub_script_final_semicolon.in: Likewise.
11138 * tests/partmap_test.in: Likewise.
11139 * tests/util/grub-shell-tester.in: Likewise.
11140 * tests/util/grub-shell.in: Likewise.
11141
e2965f4a
CW
111422011-05-18 Colin Watson <cjwatson@ubuntu.com>
11143
11144 Move gfxmenu color handling to video, so that gfxterm can use it
11145 too.
11146
11147 * grub-core/gfxmenu/named_colors.c: Move to ...
11148 * grub-core/video/colors.c: ... here. Rename
11149 grub_gui_get_named_color to grub_video_get_named_color.
11150 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11151 * grub-core/video/colors.c (my_isxdigit): ... here.
11152 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11153 Move to ...
11154 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11155 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11156 to ...
11157 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11158
11159 * include/grub/gui.h (grub_gui_color_t): Move to ...
11160 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11161 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11162 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11163 * include/grub/gui.h (grub_gui_map_color): Move to ...
11164 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11165 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11166 to ...
11167 * include/grub/video.h (grub_video_get_named_color): ... here.
11168 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11169 * include/grub/video.h (grub_video_parse_color): ... here.
11170
11171 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11172 video/colors.c.
11173 (gfxmenu): Remove gfxmenu/named_colors.c.
11174 (video) [videomodules]: Add video/colors.c.
11175
11176 Add a background_color command.
11177
11178 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11179 function.
11180 (GRUB_MOD_INIT): Register background_color command.
11181 (GRUB_MOD_FINI): Unregister background_color command.
11182 (redraw_screen_rect): Allow blend/replace of text layer to be
11183 controlled independently from whether there is a background bitmap.
11184 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11185 changing bitmap.
11186
1e4b4390
VS
111872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11188
26618ff0
VS
11189 Patch BPB in ntldr and chainloader --bpb.
11190
1e4b4390
VS
11191 * grub-core/fs/fat.c: Include grub/fat.h.
11192 (grub_fat_bpb): Moved to ...
11193 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11194 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11195 grub/ntfs.h.
11196 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11197 Moved from here...
11198 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11199 here.
11200 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11201 New function.
11202 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11203 (GRUB_MOD_INIT): Show --bpb.
11204 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11205 * grub-core/normal/main.c (features): New variable.
11206 (GRUB_MOD_INIT): Set feature_* variables.
11207 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11208 proto.
11209 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11210
cf02731e
VS
112112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11214 for cleanness.
11215
e3a1073f
VS
112162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 FreeDOS direct loading support.
11219
11220 * docs/grub.texi (Supported OS): Add FreeDOS.
11221 * grub-core/Makefile.core.def (freedos): New module.
11222 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11223 variable.
11224 (grub_relocator16_boot): Handle %ebx.
11225 * grub-core/lib/i386/relocator16.S: Likewise.
11226 * grub-core/loader/i386/pc/freedos.c: New file.
11227
05caa461
VS
112282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 Long Linux command line support.
11231
11232 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11233 (maximal_cmdline_size): New variable.
11234 (allocate_pages): Use maximal_cmdline_size.
11235 (grub_cmd_linux): Set and use maximal_cmdline_size.
11236 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11237 (allocate_pages): Use maximal_cmdline_size.
11238 (grub_cmd_linux): Set and use maximal_cmdline_size.
11239 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11240 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11241 and cmdline_size.
11242
a2491e23
VS
112432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
112442011-05-18 Colin Watson <cjwatson@ubuntu.com>
11245
11246 Improve devmapper support
11247
11248 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11249 (grub_util_is_lvm): New function.
11250 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11251 than lvm if not dmraid.
11252 Handle mapped md nodes.
11253 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11254 (grub_util_device_is_mapped): ... this. Make always available. All users
11255 updated.
11256 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11257 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11258 dmraid nodes.
11259 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11260
6ad6223e
VS
112612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11264
11265 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11266 * grub-core/modinfo.sh.in: New file.
11267 * grub-core/Makefile.core.def (modinfo.sh): New script.
11268 * util/grub-mknetdir.in: Use modinfo.sh.
11269 * util/grub-mkrescue.in: Likewise.
11270
543a8f6e
VS
112712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11274 Fix potential usage of Elf32 instead of Elf64 when compiling on
11275 32-bit architecture. Add endianness macros while on it.
11276
4959e111
VS
112772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 Use mipsel- rather than mips- in directories involving mipsel ports to
11280 allow both endiannesses coexist.
11281
11282 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11283 mips. All conditions adjusted.
11284 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11285 variable.
11286 * util/grub-install.in: Adjust conditions to take renaming into account.
11287 * util/grub-mkimage.c (image_targets): Likewise. New target
11288 mips-qemu_mips-elf for bigendian mips.
11289
35341bbc
VS
112902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 Avoid unnecessary copying on MIPS.
11293
11294 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11295 early if src == dest.
11296 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11297 compression is none.
11298
b772baed
VS
112992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 Reduce memory footprint on SGI by putting modules before the kernel
11302 as opposed to after.
11303
11304 * grub-core/Makefile.core.def (kernel): Increase linking address.
11305 (none_decompress): Likewise.
11306 (xz_decompress): Likewise.
11307 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11308 address.
11309 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11310 layout change.
11311 (grub_arch_modules_addr): New function.
11312 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11313 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11314 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11315 here.
11316 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11317 (grub_total_modules_size): ... this. Make global.
11318 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11319 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11320 New definition.
11321 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11322 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11323 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11324 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11325 * util/grub-mkimage.c (image_target_desc): New flag
11326 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11327 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11328 (generate_image): Handle images with modules before kernel.
11329
566a1917
VS
113302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 Prevent potential loss of memory map by overwrite on qemu-mips.
11333
11334 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11335 Save ram size in $s4.
11336 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11337 All users changed to grub_arch_memsize.
11338 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11339 Loongson.
11340 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11341 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11342 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11343 external variable.
11344
5d420cd9
CW
113452011-05-17 Colin Watson <cjwatson@ubuntu.com>
11346
11347 * .bzrignore: Remove grub-dumpbios.
11348
d064b830
CW
113492011-05-17 Colin Watson <cjwatson@ubuntu.com>
11350
11351 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11352 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11353 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11354 existing options which append).
11355 * docs/grub.texi (Simple configuration): Document new options.
11356 Reported by: Ian Jackson. Fixes Debian bug #617538.
11357
3ca2b466
CW
113582011-05-17 Colin Watson <cjwatson@ubuntu.com>
11359
11360 * util/grub-fstest.c (cmd_cat): New function.
11361 (fstest): Handle CMD_CAT.
11362 (options): Add cat.
11363 (argp_parser): Handle cat.
11364
24c9143a
CW
113652011-05-17 Colin Watson <cjwatson@ubuntu.com>
11366
11367 * Makefile.util.def (grub-bin2h): Don't install.
11368 * docs/man/grub-bin2h.h2m: Remove.
11369
90f7ac19
VS
113702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11373 place.
11374
8d4a5178
VS
113752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Reenable qemu-mips port.
11378
11379 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11380 Fix small arc bug while on it.
11381 * gentpl.py: Handle qemu_mips.
11382 * grub-core/Makefile.am: Likewise.
11383 * grub-core/Makefile.core.def: Likewise.
11384 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11385 inappropriate includes.
11386 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11387 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11388 * grub-core/kern/main.c (grub_modules_get_end)
11389 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11390 * grub-core/kern/mips/qemu-mips: Moved to ..
11391 * grub-core/kern/mips/qemu_mips: ... this.
11392 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11393 (grub_machine_init): Call terminfo_init and serial_init.
11394 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11395 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11396 New variable.
11397 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11398 parameter passing.
11399 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11400 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11401 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11402 * include/grub/mips/qemu_mips/cmos.h: New file.
11403 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11404 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11405 Removed.
11406 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11407 Use correct mips-style address.
11408 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11409 (GRUB_TICKS_PER_SECOND): Removed.
11410 (grub_get_rtc): Likewise.
11411 (grub_cpu_idle): Likewise.
11412 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11413 New definition.
11414 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11415 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11416 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11417 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11418 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11419 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11420 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11421 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11422
400b9371
VS
114232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 SGI ARCS port.
11426
11427 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11428 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11429 platforms.
11430 * configure.ac: New target mips-arc.
11431 * gentpl.py: Likewise.
11432 * grub-core/Makefile.am: Likewise.
11433 * grub-core/Makefile.core.def: Likewise.
11434 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11435 (none_decompress): Likewise.
11436 (lsdev): New module.
11437 (datetime): Use lib/arc/datetime.c on ARC.
11438 (part_dvh): New module.
11439 * grub-core/commands/arc/lsdev.c: New file.
11440 * grub-core/disk/arc/arcdisk.c: Likewise.
11441 * grub-core/kern/mips/arc/init.c: Likewise.
11442 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11443 aligned addresses.
11444 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11445 support.
11446 (grub_arch_dl_relocate_symbols): Likewise.
11447 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11448 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11449 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11450 platforms.
11451 * grub-core/lib/arc/datetime.c: New file.
11452 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11453 pci.h on non-loongson.
11454 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11455 (grub_linux_boot): Set unused registers to 0.
11456 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11457 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11458 * grub-core/mmap/mips/uppermem.c: ...here.
11459 * grub-core/partmap/dvh.c: New file.
11460 * grub-core/term/arc/console.c: Likewise.
11461 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11462 (grub_terminfo_set_current): Add terminal "arc".
11463 (grub_terminfo_readkey): Support ARC sequences.
11464 * include/grub/arc/arc.h: New file.
11465 * include/grub/arc/console.h: Likewise.
11466 * include/grub/disk.h (grub_disk_dev_id): Add
11467 GRUB_DISK_DEVICE_ARCDISK_ID.
11468 * include/grub/mips/arc/kernel.h: New file.
11469 * include/grub/mips/arc/memory.h: Likewise.
11470 * include/grub/mips/arc/time.h: Likewise.
11471 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11472 * include/grub/mips/kernel.h (grub_halt): ... here.
11473 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11474 here...
11475 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11476 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11477 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11478 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11479 proto.
11480 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11481 from here ...
11482 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11483 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11484 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11485 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11486 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11487 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11488 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11489 (grub_phys_addr_t): Moved from here ...
11490 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11491 (grub_vtop): Moved from here ...
11492 * include/grub/mips/memory.h (grub_vtop): ... here.
11493 (grub_map_memory): Moved from here ...
11494 * include/grub/mips/memory.h (grub_map_memory): ... here.
11495 (grub_unmap_memory): Moved from here ...
11496 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11497 (grub_machine_mmap_iterate): Moved from here ...
11498 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11499 (grub_mmap_get_lower): Moved from here ...
11500 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11501 (grub_mmap_get_upper): Moved from here ...
11502 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11503 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11504 here ...
11505 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11506 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11507 here ...
11508 * include/grub/mips/time.h (grub_get_rtc): ... here.
11509 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11510 here ...
11511 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11512 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11513 here ...
11514 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11515 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11516 definition.
11517 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11518 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11519 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11520 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11521 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11522 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11523 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11524 (GRUB_MACHINE_LINK_ADDR): Likewise.
11525 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11526 to 6.
11527 * util/grub-install.in: Run dvhtool on ARC.
11528 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11529 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11530
c8ecc840
VS
115312011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11534 blocks.
11535
153a4b55
VS
115362011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11539 after enabling port.
11540
ff44d107
VS
115412011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 Skip incorrect USB devices.
11544
11545 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11546 configcnt == 0.
11547 * include/grub/usb.h (grub_usb_err_t): New enum value
11548 GRUB_USB_ERR_BADDEVICE.
11549
638dbe4f
VS
115502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Fuloong video init support.
11553
11554 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11555 well.
11556 (grub_vga_read_arx): New function.
11557 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11558 definition.
11559 (framebuffer): New members io, mmioptr and mmiobase.
11560 (read_sis_cmd): New function.
11561 (write_sis_cmd): Likewise.
11562 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11563 rather than 640x400.
11564 * grub-core/video/sis315_init.c: New file.
11565
c3fc520c
VS
115662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11569 non-loongson.
11570 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11571 to grub_dl_register_symbol.
11572
67b1e5c9
VS
115732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Fix compilation errors.
11576
11577 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11578 potentially unused.
11579 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11580 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11581 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11582 to loongson machines.
11583
b756f75f
VS
115842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 Several FS mtime support.
11587
11588 * grub-core/fs/affs.c (grub_affs_time): New struct.
11589 (grub_affs_file): New field mtime.
11590 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11591 type. Removed 'size'. New field 'di'. All users updated.
11592 (grub_affs_mount): Simplify checsum checking.
11593 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11594 (grub_affs_dir): Handle mtime.
11595 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11596 (grub_cpio_dir): Likewise.
11597 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11598 (grub_hfs_filerec): New field mtime.
11599 (grub_hfs_dir): Handle mtime.
11600 (grub_hfs_mtime): New function.
11601 (grub_hfs_fs): Register grub_hfs_mtime.
11602 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11603 (grub_iso9660_dir): New field mtime.
11604 (grub_fshelp_node): New field dirent.
11605 (iso9660_to_unixtime): New function.
11606 (iso9660_to_unixtime2): Likewise.
11607 (grub_iso9660_read_symlink): Use node->dirent.
11608 (grub_iso9660_iterate_dir): Likewise.
11609 (grub_iso9660_dir): Set mtime.
11610 (grub_iso9660_mtime): New function.
11611 (grub_iso9660_fs): Register grub_iso9660_mtime.
11612 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11613 (grub_jfs_inode): New fields atime, ctime and mtime.
11614 (grub_jfs_dir): Set mtime.
11615 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11616 * grub-core/fs/ntfs.c (list_file): Set mtime.
11617 (grub_ntfs_dir): Likewise.
11618 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11619 (grub_reiserfs_iterate_dir): Set mtime.
11620 (grub_reiserfs_dir): Likewise.
11621 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11622 (grub_fshelp_node): Likewise.
11623 (grub_sfs_iterate_dir): Set mtime.
11624 (grub_sfs_dir): Likewise.
11625 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11626 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11627 (grub_xfs_inode): New fields atime, mtime, ctime.
11628 (grub_xfs_dir): Set mtime.
11629 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11630 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11631 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11632
11633 Support UDF symlinks.
11634
11635 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11636 (grub_ufs_read_symlink): New function. All users updated.
11637
11638 Check amiga partmap checksum.
11639
11640 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11641 (grub_amiga_partition): Likewise.
11642 (amiga_partition_map_checksum): New function.
11643 (amiga_partition_map_iterate): Check checksum.
11644
5470225d
VS
116452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 ROMFS support.
11648
11649 * Makefile.util.def (libgrubmods.a): Add romfs.
11650 * grub-core/Makefile.core.def (romfs): New module.
11651 * grub-core/fs/romfs.c: New file.
11652
d4680a35
VS
116532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 Squashfs v4 support.
11656
11657 * Makefile.util.def (libgrubmods.a): Add squash4.
11658 * grub-core/Makefile.core.def (squash4): New module.
11659 * grub-core/fs/squash4.c: New file.
11660 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11661 disk_input_start, disk_input.
11662 (get_byte): Handle disk_input.
11663 (grub_zlib_disk_read): New function.
11664 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11665
bcb18e74
FZ
116662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
116672011-05-15 Feiran Zheng <famcool@gmail.com>
11668
11669 * Makefile.util.def (libgrubmods.a): Add minix3.
11670 * grub-core/Makefile.core.def (minix3): New module.
11671 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11672 (GRUB_MINIX_BSIZE): Removed.
11673 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11674 (grub_minix_ino_t): New type.
11675 (grub_minix_le_to_cpu_ino): New macro.
11676 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11677 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11678 (grub_minix_data): New field block_size.
11679 (grub_minix_read_file): Handle 64-bit correctly.
11680 * grub-core/fs/minix3.c: New file.
11681
32297d5f
TG
116822011-05-15 Tristan Gingold <gingold@free.fr>
116832011-05-15 Robert Millan <rmh.grub@aybabtu.com>
116842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 IA64 support.
11687
11688 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11689 * configure.ac: Add ia64-efi target.
11690 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11691 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11692 * gentpl.py: Add ia64_efi platform.
11693 Rename x86_efi to efi and Add ia64-efi. All users updated.
11694 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11695 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11696 Remove kern/generic/rtc_get_time_ms.c on EFI.
11697 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11698 kern/ia64/dl_helper.c on ia64-efi.
11699 Add kern/emu/cache.c on emu.
11700 (linux): Use on loader/ia64/efi/linux.c on ia64.
11701 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11702 whether symbol is a function.
11703 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11704 (grub_symbol): New field 'isfunc'.
11705 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11706 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11707 (grub_dl_load_segments): Place all sections into the same region.
11708 [__ia64__]: Create trampolines and got.
11709 [GRUB_MACHINE_EMU]: Call mprotect.
11710 (grub_dl_resolve_symbols): Resolve symbol type as well.
11711 [__ia64__]: Create function descriptors.
11712 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11713 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11714 (grub_get_rtc): New function.
11715 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11716 * grub-core/kern/emu/cache.S: Renamed to ...
11717 * grub-core/kern/emu/cache_s.S: ... this.
11718 [__ia64__]: Add a nop.
11719 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11720 [__ia64__]: New function.
11721 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11722 * grub-core/kern/ia64/dl.c: New file.
11723 * grub-core/kern/ia64/dl_helper.c: Likewise.
11724 * grub-core/kern/ia64/efi/init.c: New file.
11725 * grub-core/kern/ia64/efi/startup.S: Likewise.
11726 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11727 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11728 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11729 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11730 * grub-core/loader/ia64/efi/linux.c: New file.
11731 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11732 (GRUB_MOD_DEP): Likewise.
11733 (grub_dl) [__ia64__]: New fields got and tramp.
11734 (grub_dl): New field 'base'.
11735 (grub_dl_register_symbol): New argument isfunc. All users updated.
11736 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11737 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11738 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11739 (grub_ia64_dl_get_tramp_got_size): New proto.
11740 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11741 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11742 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11743 * include/grub/efi/api.h: Skip call wrappers on ia64.
11744 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11745 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11746 * include/grub/elf.h (ELF_ST_INFO): New definition.
11747 * include/grub/ia64/efi/kernel.h: New file.
11748 * include/grub/ia64/efi/memory.h: Likewise.
11749 * include/grub/ia64/efi/time.h: Likewise.
11750 * include/grub/ia64/kernel.h: Likewise.
11751 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11752 * include/grub/ia64/time.h: New file.
11753 * include/grub/ia64/types.h: Likewise.
11754 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11755 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11756 New protos.
11757 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11758 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11759 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11760 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11761 All users updated.
11762 (EFI64_HEADER_SIZE): New definition. All users updated.
11763 (image_targets): Add ia64-efi.
11764 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11765 jumpers_addr. All users updated.
11766 Create function descriptors.
11767 (count_funcs): New function.
11768 (unaligned_uint32): New struct.
11769 (MASK20): New definition.
11770 (MASK19): Likewise.
11771 (MASKF21): Likewise.
11772 (add_value_to_slot_20b): New function.
11773 (add_value_to_slot_21_real): Likewise.
11774 (add_value_to_slot_21): Likewise.
11775 (ia64_kernel_trampoline): New struct.
11776 (nopm): New variable.
11777 (jump): Likewise.
11778 (make_trampoline): New function.
11779 (relocate_addresses): Handle ia64.
11780 (make_reloc_section): Likewise.
11781 (load_image): Likewise.
11782
983b414d
VS
117832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11786 warning. Move variables before code while on it.
11787
5d063cdc
VS
117882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 Fuloong support.
11791
11792 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11793 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11794 * grub-core/boot/mips/loongson/fuloong.S: New file.
11795 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11796 Explicitly init CS5536.
11797 [FULOONG]: Don't use serial until CS5536 is available.
11798 Set GPIO based on dumps.
11799 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11800 [FULOONG]: Handle GPIO and memory controller differences.
11801 Parse machine type in $a2.
11802 * grub-core/boot/mips/startup_raw.S: Determine and save the
11803 architecture.
11804 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11805 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11806 init on architecture type.
11807 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11808 SIS315E. Don't init at_keyboard on fuloong.
11809 (grub_halt): Support Fuloong.
11810 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11811 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11812 (loongson_machtypes): New array.
11813 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11814 type.
11815 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11816 config. All users updated. Handle CS5536 serial.
11817 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11818 default port on machine type. Register serial as inactive.
11819 * grub-core/video/sis315pro.c: New file.
11820 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11821 definition.
11822 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11823 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11824 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11825 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11826 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11827 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11828 to ...
11829 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11830 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11831 definition.
11832 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11833 (grub_arch_machine): New extern var.
11834 * include/grub/mips/loongson/serial.h
11835 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11836 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11837 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11838 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11839 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11840 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11841 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11842 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11843 * include/grub/term.h (grub_term_register_input_inactive): New inline
11844 function.
11845 (grub_term_register_output_inactive): Likewise.
11846 * include/grub/video.h (grub_video_driver_id): New value
11847 GRUB_VIDEO_DRIVER_SIS315PRO.
11848 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11849 New field "names". All users updated.
11850 New field value IMAGE_FULOONG_FLASH.
11851 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11852
6ada82d1
JU
118532011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11854
11855 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11856 and add some clarification.
11857
90c571a4
VS
118582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11861 platforms if kernel is compressed.
11862
de04eecf
VS
118632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11866 unused modules since currently referrence counter isn't reliable and
11867 there isn't much memory to recover there anyway.
11868
57688121
VS
118692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11872 rather than resetting it to allow modules to reference themselves
11873 in init.
11874
3d2c7e35
VS
118752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11878 counter on dependencies since grub_dl_unref already handles this.
11879
b25db218
VS
118802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11883 on error if not already done.
11884
25a45338
VS
118852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 Fix few potential memory misusage.
11888
11889 * grub-core/font/font.c (load_font_index): Don't free char_index to
11890 avoid double free.
b25db218
VS
11891 (grub_font_load): Zero-fill font at alloc for safety.
11892 Close file on error.
11893 (free_font): Free bmp_idx.
25a45338 11894
0cac83df
VS
118952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * docs/grub.texi (Installation): Fix several outdated claims.
11898
2217a143
VS
118992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 Handle module_license on windows.
11902
11903 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11904 sections shifted.
11905 (insert_string): Make argument const char * instead of char *.
11906 (write_section_data): Handle long section names.
11907 Handle module_license.
11908
d4de6b01
VS
119092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11912 handle class-free menuentries.
11913 (grub_normal_add_menu_entry): Add a check to be sure.
11914
4c2a3b43
VS
119152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11918 PgUp and PgDown.
11919
85c6210f
VS
119202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * configure.ac: Bump version to 1.99.
11923
36084912
VS
119242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 Give ATA device a bit more time on first try in order to allow disks
11927 to spin up.
11928
11929 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11930 if dev->present is 1. Reset dev->present on failure.
11931 (grub_ata_device_initialize): Set dev->present to 1.
11932 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11933 (grub_ata_device): New member 'present'.
11934
bda0e219
VS
119352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * util/grub-mkimage.c (generate_image): Update hash.
11938
19e1c41b
VS
119392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 Flush caches on DMA memory.
11942
11943 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11944 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11945 (grub_dma_free): Likewise.
11946 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11947
91bbcc0c
VS
119482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11951 to avoid asm treating ld and sd as macros.
11952
60ddfad3
VS
119532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11956 decompressor.
11957
a298aa04
VS
119582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11961 grub_decompress_core since later would fail if grub_decompress_core
11962 is too far.
11963
9b44feca
VS
119642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11967 R_MIPS_JALR since it's used by newer compiler.
11968
56dbe7b4
VS
119692011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11972
52856af2
VS
119732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11976 file_path to 0 for surety.
11977 (grub_chainloader_boot): Set exit_data to NULL.
11978 Unset the loader once done.
11979 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11980
9c9bfc6d
VS
119812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11984 unknown key into a dprintf.
11985
dd94a3df
VS
119862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11989 on first non-existant partition.
11990
fa68d99c
VS
119912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11994 openning fails.
11995 Reported by: Mark Korenberg.
11996
157effb7
VS
119972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12000 overflow.
12001
ea75312f
VS
120022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12005 before closing to ensure that it will be readable by grub-setup.
12006
072b5d31
VS
120072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12010 (devpath_1): Use MAKE_PIWG_PATH.
12011 (devpath_2): Likewise.
12012 (devpath_3): Likewise.
12013 (devpath_4): Likewise.
12014 (devpath_5): Likewise.
12015 (devpath_6): Likewise.
12016
12017 The appleldr.mod was checked that to be binary identical to previous
12018 version.
12019
7fae0051
Z
120202011-05-05 Zach <mikezackles>
12021
12022 Support 2010 Macbooks.
12023
12024 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12025 (devs): Add devpath_6.
12026
7c515bee
VS
120272011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12030 /dev/random. /dev/urandom is good enough for our purposes (salting).
12031
ed660bd8
VS
120322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12035
ee5614b7
VS
120362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12039 hexadecimal.
12040
664889a6
VS
120412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12044 and not 0 on failure.
12045
bd405bbc
CW
120462011-05-03 Colin Watson <cjwatson@ubuntu.com>
12047
12048 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12049 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12050 disk; otherwise grub_fs_probe will not fall back to the next
12051 filesystem.
12052 (grub_pxefs_open): Likewise, for consistency.
12053 Reported and tested by: Ezekiel Grave.
12054
4ebff753
CW
120552011-05-03 Colin Watson <cjwatson@ubuntu.com>
12056
12057 * tests/partmap_test.in: Don't hardcode path to parted.
12058 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12059
8f942553
CW
120602011-05-01 Colin Watson <cjwatson@ubuntu.com>
12061
12062 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12063 of `ls' to find out which devices are available.
12064
3c62402d
VS
120652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12068 than source address for efi mmap buffer.
12069
723f63f2
VS
120702011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12073 wrong action on non-detecting the magic.
12074
68797f92
VS
120752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12078 already supplied by another part of the module (fixes compilation on
12079 FreeBSD).
12080
6be8715d
VS
120812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12084 match the one used by mdadm.
12085
e91dba5b
CW
120862011-04-21 Colin Watson <cjwatson@ubuntu.com>
12087
12088 * po/README: Add instructions for creating po/LINGUAS.
12089
c85140b3
CW
120902011-04-21 Colin Watson <cjwatson@ubuntu.com>
12091
12092 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12093 #551428.
12094
12095 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12096 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12097 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12098 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12099 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12100 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12101 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12102 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12103 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12104 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12105 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12106 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12107 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12108 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12109 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12110 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12111 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12112 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12113 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12114 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12115 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12116 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12117
92051871
CW
121182011-04-21 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * grub-core/kern/emu/getroot.c
12121 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12122 test that was incorrectly reintroduced in r3214.
12123 Reported by: Ian Dall. Fixes Savannah bug #33133.
12124
b13f79a4
CW
121252011-04-21 Colin Watson <cjwatson@ubuntu.com>
12126
12127 Fix stack pointer handling in 16-bit relocator.
12128
12129 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12130 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12131 Fixes Ubuntu bug #683904.
12132
9b710a88
VS
121332011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * configure.ac: Bump version to 1.99~rc2.
12136
d97e7b59
VS
121372011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12140 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12141 * grub-core/lib/x86_64/setjmp.S: Likewise.
12142 * grub-core/lib/mips/setjmp.S: Likewise.
12143 * grub-core/lib/powerpc/setjmp.S: Likewise.
12144 * grub-core/lib/sparc64/setjmp.S: Likewise.
12145
0624551c
VS
121462011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12149 * grub-core/lib/efi/datetime.c: Likewise.
12150
e8f28d4c
VS
121512011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12154 New function.
12155 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12156 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12157 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12158
bba79a15
VS
121592011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12162 bitmap.
12163 (grub_gfxterm_term_init): Likewise.
12164
abc474ef
VS
121652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 Take into account the decorations the computing menu entry width.
12168
12169 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12170 (grub_gfxmenu_create_box): Register get_border_width.
12171 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12172 if available.
12173 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12174 get_border_width.
12175
e74b3947
EP
121762011-04-18 Endres Puschner <code@e7p.de>
12177
12178 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12179 Don't skip first class.
12180
34faa595
VS
121812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12184 chunks.
12185 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12186
93a777e3
VS
121872011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 Complete 64-bit division support.
12190
12191 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12192 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12193 * include/grub/misc.h (grub_divmod64): Rename to ...
12194 (grub_divmod64_full): ... this.
12195 (grub_divmod64): New inline function.
12196
a5102d94
VS
121972011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12200
f3fb7b36
VS
122012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12204 performing the necessary test.
12205
9ac718b0
VS
122062011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12209 (kfreebsd.elf): Likewise.
12210 (pc-chainloader.elf): Likewise.
12211 (ntldr.elf): Likewise.
12212
50d2cc5a
VS
122132011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Identify RAID by its UUID rather than (guessed) name.
12216
12217 * grub-core/disk/raid.c (ascii2hex): New function.
12218 (grub_raid_open): Accept mduuid/%s specification.
12219 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12220 (get_mdadm_uuid): ... this.
12221 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12222
e03f7bea
VS
122232011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12226 to negative size.
12227
e74c3112
CW
122282011-04-13 Colin Watson <cjwatson@ubuntu.com>
12229
12230 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12231 btrfs subvolume.
12232 * util/grub.d/20_linux_xen.in: Likewise.
12233
78fa584f
CW
122342011-04-13 Colin Watson <cjwatson@ubuntu.com>
12235
12236 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12237 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12238
12239 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12240 Build a list of relevant visible mounts using the mnt_id and
12241 parent_mnt_id fields, and then scan that list at the end.
12242
9d5f8162
CW
122432011-04-12 Colin Watson <cjwatson@ubuntu.com>
12244
12245 * docs/grub.texi (normal): New section.
12246 (normal_exit): New section.
12247 (Embedded configuration): Add reference to normal.
12248 (GRUB only offers a rescue shell): Likewise.
12249 * docs/grub-dev.texi (Error Handling): Fix typo.
12250
09a9d66f
CW
122512011-04-12 Colin Watson <cjwatson@ubuntu.com>
12252
12253 * NEWS: Drop obsolete entry about probe-only btrfs support.
12254
0c676933
CW
122552011-04-12 Colin Watson <cjwatson@ubuntu.com>
12256
12257 * util/import_gcry.py: Fix typo.
12258
ec9f5e0d
VS
122592011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * NEWS: Add btrfs support.
12262
fe6b2cba
VS
122632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
122642011-04-11 Colin Watson <cjwatson@ubuntu.com>
12265
12266 BtrFS support. Written by me (Vladimir) with important bugfixes and
12267 even more important testing by Colin.
12268
12269 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12270 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12271 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12272 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12273 mem_input_off and mem_input. All users updated to accept in-RAM input.
12274 (gzio_seek): New function.
12275 (test_zlib_header): Likewise.
12276 (grub_gzio_read): Likewise.
12277 (grub_zlib_decompress): Likewise.
12278 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12279 Accept partial and non-virtual mounts.
12280 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12281 avoid receiving /dev/dm-X as device.
12282 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12283 Handle bind and partial mounts.
12284 * grub-core/lib/crc.c: New file.
12285 * include/grub/deflate.h: Likewise.
12286 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12287 proto.
12288 * include/grub/lib/crc.h: New file.
12289
e745cf0c
VS
122902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Implement automatic module license checking according to new GNU
12293 guidelines.
12294
12295 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12296 (grub_dl_load_core): Use grub_dl_check_license.
12297 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12298 (GRUB_MOD_LICENSE): Likewise.
12299 (GRUB_MOD_DUAL_LICENSE): Likewise.
12300 All modules updated.
12301
2a9bc016
CW
123022011-04-11 Colin Watson <cjwatson@ubuntu.com>
12303
12304 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12305 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12306 loaders.
12307 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12308
8a3bc88e
VS
123092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12312
af869a4a
VS
123132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12316 failed.
12317
9ee8d94f
VS
123182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12321 parenthesis in the middle of the filename.
12322
b01abe3e
VS
123232011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12326 rather than trying to put initrd way too high.
12327 Reported by: Ryan Lortie <desrt@desrt.ca>
12328
335bda1e
VS
123292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12332 improperly removed string.
12333
5ca1a64d
VS
123342011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12337 is_disk.
12338 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12339 (open_device) Likewise.
12340 (grub_util_biosdisk_close): Likewise.
d8ce9995 12341 Reported by: Mark Korenberg.
5ca1a64d 12342
cbac5b1e
AK
123432011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12344
12345 * util/grub-mkconfig_lib.in: Add missing quotes.
12346
088cdb65
CW
123472011-04-10 Colin Watson <cjwatson@ubuntu.com>
12348
12349 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12350 is NULL.
12351
8b8a81fa
VS
123522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 Dynamically count the number of lines for the lower banner.
12355
12356 * grub-core/normal/menu_entry.c (per_term_screen): New member
12357 num_entries.
12358 (print_down): Use num_entries.
12359 (update_screen): Likewise.
12360 (grub_menu_entry_run): Set num_entries.
12361 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12362 num_entries.
12363 (grub_print_message_indented): Move real part to ...
12364 (grub_print_message_indented_real): ... here. Additional argument
12365 dry_run.
12366 (draw_border): Additional argument num_entries.
12367 (print_message): Additional argument dry_run.
12368 (print_entries): Receive menu viewer data.
12369 (grub_menu_init_page): New argment num_entries.
12370 (menu_text_set_chosen_entry): Use num_entries.
12371 (grub_menu_try_text): Likewise.
12372 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12373 All users updated.
12374 (grub_ucs4_count_lines): New function.
12375 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12376 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12377 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12378 (grub_term_border_height): Likewise.
12379 (grub_term_num_entries): Likewise.
12380
277f955b
VS
123812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12384 Remove now unused string.
12385
536ce85a
CW
123862011-04-09 Colin Watson <cjwatson@ubuntu.com>
12387
12388 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12389 build system.
12390 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12391
12392 (Comment): Fix typo.
12393 (Getting started): General copy-editing.
12394 (Typical Development Experience): Likewise.
12395 (Error Handling): Likewise.
12396 (Video API): Likewise.
12397
2cf09e32
CW
123982011-04-09 Colin Watson <cjwatson@ubuntu.com>
12399
12400 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12401 throughout.
12402
1ec652f4
VS
124032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12406 directory.
12407
2c583728
CW
124082011-04-08 Colin Watson <cjwatson@ubuntu.com>
12409
12410 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12411 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12412 "development".
12413
d7a565e9
VS
124142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12417 grub_strcpy since the lines aren't necessarily 0-terminated.
12418
7c2e4909
VS
124192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12422 root on legacy.
12423
34c09785
VS
124242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12427 (GRUB_MOD_INIT): DEVICE isn't optional.
12428
6a6f8058
VS
124292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12432 word on new line if it's too long anyway. Fixes a hang.
12433
2e335e90
VS
124342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12437 const.
12438 * util/grub-setup.c (main): Reuse md device name if available.
12439 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12440 not GRUB name as argument.
12441 Based on patch by: Florian Wagner <fwagner>.
12442
10a7a867
VS
124432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12446 Place mbi on low memory for better compatibility.
12447
7a3d6cd9
VS
124482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12451
18dd6b47
VS
124522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
124532011-04-08 Colin Watson <cjwatson@ubuntu.com>
12454
12455 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12456 * conf/Makefile.common: Likewise.
18dd6b47 12457
3c0e3f14
VS
124582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12459
f7148863
VS
12460 * grub-core/normal/menu.c: Add missing include.
12461
124622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12465
6d1fa41f
MZ
124662011-04-08 Martin Zuther <mzuther@mzuther.de>
12467
12468 * util/grub-mkconfig.in: Ignore emacsen backup.
12469
478182a8
VS
124702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12473 on open.
12474 (grub_util_biosdisk_close): Likewise.
12475
72a89a54
VS
124762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12479 const attribute and use grub_isdigit.
12480
b5ebecfa
A
124812011-04-06 Andrey <dev_null@ukr.net>
12482
12483 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12484 gcc warning.
12485
7755f66e
VS
124862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12489 useful grub_dprintf's.
12490
461121ff
VS
124912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12494
2a961775
VS
124952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12498
adf594cc
VS
124992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 Output errors if theme loading failed.
12502
12503 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12504 grub_gfxterm_fullscreen on error paths to ...
12505 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12506 theme loading error.
12507
665900a3
VS
125082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12511 space for older compilers.
12512 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12513
a562b479
VS
125142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12517 and report them as not RAID members since they are useless for GRUB.
12518 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12519
850e9373
VS
125202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Increase LVM implementation robustness in order not to crash on
12523 configurations like pvmove. Previously code assumed that in some places
12524 only lvs or only pvs are used whereas it seems that they are used
12525 interchangeably.
12526
12527 * grub-core/disk/lvm.c (read_node): New function.
12528 (read_lv): Use read_node.
12529 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12530 Match volumes only at the end when all lvs are found. Take both
12531 pvs (first) and lvs (second) into account.
12532 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12533 mirror_* into node_*. All users updated.
12534 (grub_lvm_stripe): Merge this ...
12535 (grub_lvm_mirror): ... and this ...
12536 (grub_lvm_node): ... into this. All users updated.
12537
6f332153
VS
125382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12541 of function to allow further scanning for LVMs.
12542
829ea451
VS
125432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12546 on failed seek as it breaks open fd reusage.
12547
09ceb9a5
VS
125482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * util/grub-install.in: Add a recommendation to use --recheck before
12551 reporting bugs.
12552
67e11623
VS
125532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12556 are obtained.
12557
caee5efd
VS
125582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 GRUB developper manual based on existing Internals section and
12561 contributions by the various authors with active copyright assignment.
12562
12563 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12564 * docs/font_char_metrics.png: New file.
12565 * docs/font_char_metrics.txt: Likewise.
12566 * docs/grub-dev.texi: Likewise.
12567 * docs/grub.texi (Internals): Move from here ...
12568 * docs/grub-dev.texi: ... here.
12569
2cccc747
CW
125702011-04-01 Colin Watson <cjwatson@ubuntu.com>
12571
12572 Store the loopback device as data on loopback grub_disk structures,
12573 rather than the file it points to. This fixes use of freed memory
12574 if an existing loopback device is replaced.
12575
12576 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12577 disk->data, not dev->file.
12578 (grub_loopback_read): Adjust file assignment to match.
12579 Fixes Ubuntu bug #742967.
12580
186ae367
CW
125812011-04-01 Colin Watson <cjwatson@ubuntu.com>
12582
12583 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12584 when replacing an existing device.
12585
cfed2ad0
VS
125862011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12589 memory corruptions.
12590
12591 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12592 unsigned.
12593 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12594 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12595 (grub_jfs_read_inode): Likewise.
12596 (grub_jfs_opendir): Likewise. Remove now useless casts.
12597 (grub_jfs_getent): Likewise.
12598 Make ino a grub_uint32_t rather than int.
12599 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12600 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12601 division and module with bit operations.
12602 (grub_jfs_find_file): Make ino a grub_uint32_t.
12603 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12604
05d2ed32
CW
126052011-04-01 Colin Watson <cjwatson@ubuntu.com>
12606
12607 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12608 warning. (This was in fact always initialised before use, but GCC
12609 wasn't smart enough to prove that.)
12610 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12611
91dc6073
VS
126122011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12615 stack alignment.
12616 (efi_wrap_1): Likewise.
12617 (efi_wrap_2): Likewise.
12618 (efi_wrap_3): Likewise.
12619 (efi_wrap_4): Likewise.
12620 (efi_wrap_5): Likewise.
12621 (efi_wrap_6): Likewise.
12622 (efi_wrap_10): Likewise.
12623 Based on information by: Red Hat/Peter Jones.
12624
a8afc1d1
CW
126252011-03-31 Colin Watson <cjwatson@ubuntu.com>
12626
12627 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12628 set-but-not-used variable.
12629
a826cc7d
CW
126302011-03-31 Colin Watson <cjwatson@ubuntu.com>
12631
12632 * docs/grub.texi (Simple configuration): Be more explicit about
12633 GRUB_DEFAULT, and add an example.
12634 Reported by: Leslie Rhorer.
12635
875b67ba
CW
126362011-03-30 Colin Watson <cjwatson@ubuntu.com>
12637
12638 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12639 shell".
12640
fd7cd914
AS
126412011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12642
12643 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12644 * util/grub.d/20_linux_xen.in: Likewise.
12645
090b1b6a
VS
126462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * util/grub.d/10_linux.in: Try alternative config filenames where
12649 we parse config file.
12650 * util/grub.d/20_linux_xen.in: Likewise.
12651
baad885c
AS
126522011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12653
12654 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12655 * util/grub.d/20_linux_xen.in: Likewise.
12656
241e41f5
VS
126572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/disk/raid.c (insert_array): Add few potentially
12660 useful grub_util_info.
12661 (grub_raid_register): Likewise.
12662
56445fb2
VS
126632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12666 Preserve partition number in mdadm code path.
12667
c871b1c6
VS
126682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12671 few potentially useful grub_util_info.
12672
5e631b4f
CW
126732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12676
2d5d0333
CW
126772011-03-30 Colin Watson <cjwatson@ubuntu.com>
12678
12679 * docs/grub.texi (default): Use @example rather than nested
12680 itemized lists to avoid breaking gendocs.
12681
3d7ed04e
CW
126822011-03-30 Colin Watson <cjwatson@ubuntu.com>
12683
12684 * docs/grub.texi (Future): Update.
12685
abf04200 126862011-03-30 Colin Watson <cjwatson@ubuntu.com>
12687
12688 * docs/grub.texi (Environment): New chapter.
12689 (Changes from GRUB Legacy): Link to "Environment block" section for
12690 details of limitations.
12691 (Simple configuration): Likewise. Link to documentation of gfxmode
12692 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12693 respectively.
12694 (Shell-like scripting): Note that normal variables are stored in the
12695 environment.
12696 (gettext): Link to documentation of lang and locale_dir.
12697 (list_env): New section.
12698 (load_env): New section.
12699 (save_env): New section.
12700
12701 (Reporting bugs): Fix typo.
12702
e1ad0edd
VS
127032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12706 the example.
12707
5d803174
VS
127082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * grub-core/term/at_keyboard.c (set_scancodes)
12711 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12712
2a2da1d0
CW
127132011-03-30 Colin Watson <cjwatson@ubuntu.com>
12714
12715 * docs/grub.texi (Menu-specific commands): Remove some semantics
12716 that were true in GRUB Legacy but not in GRUB 2.
12717 (submenu): New section.
12718 (false): New section.
12719 (read): New section.
12720 (true): New section.
12721
a7527639
CW
127222011-03-30 Colin Watson <cjwatson@ubuntu.com>
12723
12724 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12725
127262011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12727
12728 * docs/grub.texi (Simple configuration): Explain some of the
12729 current limitations of grub-mkconfig.
8a748df2 12730 Reported by: Leslie Rhorer.
e30af029 12731
fc858482
VS
127322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Old macs search for boot.efi rather than for bootia32.efi.
12735
12736 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12737 * util/grub-mkrescue.in: Likewise.
12738 Suggested by: Peter Jones.
12739
e1eb511d
VS
127402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12743
70e75364
VS
127442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12747 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12748 (grub_lvm_mirror): New struct.
12749 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12750 (grub_lvm_iterate): Iterate only visible volumes.
12751 (grub_lvm_read): Factor out to ..
12752 (read_lv): ... this. Support mirrors.
12753 (grub_lvm_read): New wrapper function.
12754 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12755 stripped or mirrored.
12756
fc18f6a3
VS
127572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12760
5c650f4c
CW
127612011-03-29 Colin Watson <cjwatson@ubuntu.com>
12762
12763 * docs/grub.texi (loopback): New section.
12764
61d7156b
CW
127652011-03-29 Colin Watson <cjwatson@ubuntu.com>
12766
12767 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12768 removed -p option.
12769
994b8264
CW
127702011-03-29 Colin Watson <cjwatson@ubuntu.com>
12771
12772 * docs/grub.texi (BIOS installation): New section, partly based on
12773 previous text in other sections.
12774 (Installing GRUB using grub-install): Replace BIOS discussion with a
12775 cross-reference.
12776 (Images): Likewise.
12777
9e4d19e0
VS
127782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12781 [HAVE_DIOCGDINFO]: Add safety checks.
12782
a307c0b2
VS
127832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12786 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12787
b4db4f39
CW
127882011-03-29 Colin Watson <cjwatson@ubuntu.com>
12789
12790 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12791 real_sb->size is zero (e.g. RAID-0), get the disk size from
12792 real_sb->data_size instead.
12793 Fixes Ubuntu bug #743136.
12794
35e5f84c
VS
127952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12798 printf clauses for printing size and start.
12799
d2e29d81
VS
128002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12803 Reported and tested by: Timothy Nikkel.
12804
ed5587af
VS
128052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12808 (dirty_region_add_real): ... this.
12809 (dirty_region_add): Don't discard margin refresh when performing
12810 scheduled repaint.
12811
a1dc717c
VS
128122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * grub-core/lib/relocator.c (allocate_regstart)
12815 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12816 terminals are capabple of malloc-free operation.
12817 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12818 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12819
9f3677d3
VS
128202011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12821
12822 * util/grub-setup.c: Copy the partition table zone if floppy support
12823 is disabled, even if no partition table is found.
12824
12825 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12826 during POST if an invalid partition table is contained in the PBR
12827 of the active partition when GRUB is installed to a partition.
12828
24148725
CW
128292011-03-28 Colin Watson <cjwatson@debian.org>
12830
12831 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12832 comment.
12833
f329eda7
CW
128342011-03-28 Colin Watson <cjwatson@debian.org>
12835
12836 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12837 to be specific about what kind of RAID device we're scanning for.
12838
c482ad98
SG
128392011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12840
12841 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12842 return freed string.
12843
5ee04984
VS
128442011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12847
f4727da9
VS
128482011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 Use libgeom on FreeBSD to detect partitions.
12851
12852 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12853 (grub-mkrelpath): Likewise.
12854 (grub-script-check): Likewise.
12855 (grub-editenv): Likewise.
12856 (grub-mkpasswd-pbkdf2): Likewise.
12857 (grub-fstest): Likewise.
12858 (grub-mkfont): Likewise.
12859 (grub-mkdevicemap): Likewise.
12860 (grub-probe): Likewise.
12861 (grub-setup): Likewise.
12862 (grub-ofpathname): Likewise.
12863 (grub-mklayout): Likewise.
12864 (example_unit_test): Likewise.
12865 (grub-menulst2cfg): Likewise.
12866 * grub-core/Makefile.core.def (grub-emu): Likewise.
12867 (grub-emu-lite): Likewise.
12868 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12869 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12870 define HAVE_DIOCGDINFO.
12871 (follow_geom_up) [FreeBSD]: New function.
12872 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12873 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12874 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12875 unconditionally of HAVE_DIOCGDINFO.
12876
82fe6c75
VS
128772011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 Fix FreeBSD compilation problem.
12880
12881 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12882 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12883
4c6c9431
CW
128842011-03-24 Colin Watson <cjwatson@ubuntu.com>
12885
12886 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12887 Switch back to page zero before loading a kernel, since some kernel
12888 drivers expect that.
12889 Thanks to: Felix Kuehling.
12890
c7064d94
VS
128912011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12894 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12895 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12896
3f71cded
VS
128972011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12900 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12901
ef6de21a
VS
129022011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12905 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12906 malloc is disabled.
12907
8bc66a2c
VS
129082011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12911 for modules headers when counting the needed allocation size.
12912
5657722c
VS
129132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12916 if no ASCII character is found to prevent crash.
12917
41a85f55
AK
129182011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12919
12920 * grub-core/video/bitmap.c (match_extension): Ignore case.
12921
59e1e5f1
VS
129222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12925
bd4d051a
VS
129262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * grub-core/script/parser.y: Declare "time" as valid argument.
12929
bae7fcc1
PJ
129302011-03-23 Peter Jones <pjones@redhat.com>
12931
12932 Fix incorrect assert failure reporting.
12933
12934 * grub-core/tests/example_functional_test.c (example_test): Add
12935 a failure comment.
12936 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12937 (failure_start): ...this. Check that malloc succeeded.
12938 Don't call xvasprintf. Return failure struct.
12939 (failure_append_vtext): New function.
12940 (failure_append_text): Likewise.
12941 (add_failure): Likewise.
12942 (grub_test_assert_helper): Likewise.
12943 * include/grub/test.h (grub_test_assert_helper): New declaration.
12944 (grub_test_assert): Macro rewritten.
12945
537dc9be
VS
129462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12949
fa3e01bf
VS
129502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12953
b1d28404
VS
129542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12957 into GRUB-style one.
12958
2e3e2e09
VS
129592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12962 error and not grub_errno.
12963 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12964
ed57e557
VS
129652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12968 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12969
d1611f01
VS
129702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * grub-core/efiemu/i386/pc/cfgtables.c
12973 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12974 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12975 (grub_xnu_unlock): Likewise.
12976 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12977
7d4e39d6
VS
129782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12981 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12982 * grub-core/commands/hashsum.c (aliases): Likewise.
12983 * grub-core/commands/setpci.c (pci_registers): Likewise.
12984 * grub-core/disk/usbms.c (attach_hook): Likewise.
12985 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12986 (zio_checksum_table): Likewise.
12987 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12988 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12989 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12990 * grub-core/lib/relocator.c (leftovers): Likewise.
12991 (extra_blocks): Likewise.
12992 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12993 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12994 (modules_last): Likewise.
12995 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12996 (devices): Likewise.
12997 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12998 (modules_last): Likewise.
12999 * grub-core/normal/auth.c (users): Likewise.
13000 * grub-core/normal/context.c (initial_menu): Likewise.
13001 (current_menu): Likewise.
13002 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13003 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13004 (grub_serial_terminfo_input_template): Likewise.
13005 (grub_serial_terminfo_output_template): Likewise.
13006 (grub_serial_terminfo_input): Likewise.
13007 (grub_serial_terminfo_output): Likewise.
13008 (registered): Likewise.
13009 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13010
40fc4659
VS
130112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13014 grub_video_mode_type_t.
13015 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13016 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13017 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13018
2da48d28
VS
130192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * util/grub-install.in: Correct the x86-64 name as x86_64.
13022
9b43bf39
CW
130232011-03-11 Colin Watson <cjwatson@ubuntu.com>
13024
13025 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13026 initial chunk read from the kernel always includes GRUB's multiboot
13027 header, which is now outside the first sector.
13028
be1a7ce0
CW
130292011-03-09 Colin Watson <cjwatson@ubuntu.com>
13030
13031 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13032 cached mmap_size, so that this works correctly when called multiple
13033 times.
13034 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13035
83a3c48d
CW
130362011-03-09 Colin Watson <cjwatson@ubuntu.com>
13037
13038 * docs/grub.texi (Simple configuration): Tidy up formatting.
13039
57d75699
SJ
130402011-03-07 Szymon Janc <szymon@janc.net.pl>
13041
13042 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13043 Set-but-not-used variable removed.
13044
028501a0
VS
130452011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 Workaround yet another IEEE1275 bug.
13048
13049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13050 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13051 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13052 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13053 is set.
13054 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13055 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13056
d998657d
VS
130572011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13060 error.
13061
fee7cdd4
CW
130622011-02-11 Colin Watson <cjwatson@ubuntu.com>
13063
13064 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13065 empty, since in that case we can only generate either nothing or a
13066 syntactically invalid configuration file.
13067 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13068
97286eb5
CW
130692011-02-09 Colin Watson <cjwatson@ubuntu.com>
13070
13071 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13072 (Making a GRUB bootable CD-ROM): Likewise.
13073 (Invoking grub-mkrescue): New section.
13074 Reported by: Yann Dirson. Fixes Debian bug #612585.
13075
22b28eb3
CW
130762011-02-09 Colin Watson <cjwatson@ubuntu.com>
13077
13078 * util/grub-install.in: Remove unnecessary brackets from tr
13079 arguments.
13080 * util/grub.d/10_hurd.in: Likewise.
13081 * util/grub.d/10_kfreebsd.in: Likewise.
13082 * util/grub.d/10_linux.in: Likewise.
13083 * util/grub.d/20_linux_xen.in: Likewise.
13084 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13085
7e735e43
CW
130862011-02-08 Colin Watson <cjwatson@ubuntu.com>
13087
13088 * include/grub/file.h (not_easly_seekable): Rename to ...
13089 (not_easily_seekable): ... this. Update all users.
13090
800f1881
CW
130912011-01-28 Colin Watson <cjwatson@ubuntu.com>
13092
13093 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13094 grub-mkrescue.
13095
3281d3d6
VS
130962011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * util/grub-mkimage.c (generate_image): Refuse to create the images
13099 bigger than the actual flash (512K) in Loongson machines. 512K is also
13100 the biggest chip supported by them.
13101
3533413c
VS
131022011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13105
73ae4f4f
VS
131062011-01-22 Anthony DeRobertis <anthony@derobert.net>
13107
13108 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13109 super_offset field.
13110
37f4f608
VS
131112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * util/grub-install.in: Ignore install device on platforms
13114 where it doesn't make sense. Always use UUIDs except on pc, efi and
13115 sparc64.
13116 Reported by: Daniel Kahn Gillmor.
13117
03a4ccb5
VS
131182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13121
ffc8f4d8
VS
131222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13125 (iterate_real): Don't rely on partition being non-NULL.
13126
80f23be7
VS
131272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13130 supported platforms. Put a compile time assert for this rather than
13131 generate a warning with 32-bit shift.
13132
5d4f4dd5
VS
131332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13136 logical expression more readable.
13137
e489601a
VS
131382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13141 even if some elements have a name.
13142 Reported by: Alexander GQ Gerasiov.
13143
96e0a6ea
CW
131442011-01-22 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13147 path unreadable if `grub-probe -t abstraction' fails, for example if
13148 memberlist fails on an LVM volume group.
13149 Reported by: Darius Jahandarie.
13150
81431e2b
CW
131512011-01-22 Colin Watson <cjwatson@ubuntu.com>
13152
13153 * docs/grub.texi (Simple configuration): Document
13154 GRUB_PRELOAD_MODULES.
13155
5e79d66a
CW
131562011-01-17 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * .bzrignore: Remove nonexistent grub-pbkdf2.
13159
646ada34
VS
131602011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * configure.ac: Bump version to 1.99~rc1.
13163
04360337
VS
131642011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13167 for safety.
13168
46c9db88
VS
131692011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13172 module.
13173
131742011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13175
13176 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13177
4fbf1852
VS
131782011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13181 diskdevid.
13182
f1632d4d
VS
131832011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Fix compilation on cygwin.
13186
13187 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13188 -R .drectve on cygwin.
13189 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13190 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13191 (COND_CYGWIN): New condition.
13192 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13193 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13194 not @TARGET_OBJ2ELF@.
13195 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13196 type to determine whether aux is to be used.
13197
0b5e127b
VS
131982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13201 realpath'ed device string.
13202 Handle floppy (somewhat).
13203 Issue error in unknown case rather than garbage.
13204 Reported by: Axel Beckert.
13205
173b71e9
VS
132062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * util/grub.d/00_header.in (load_video): Handle the case when no video
13209 drivers available.
13210 Thanks to: Axel Beckert.
13211
f8f479db
VS
132122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13215 variable. Fixes problem on big endian platforms.
13216
8fc0a245
VS
132172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13220 It doesn't work well there.
13221
b8494fbe
VS
132222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13225 warning.
13226 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13227 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13228 counter.
13229
b44a558c
VS
132302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 Use alias->path rather than buggy "canon".
13233
13234 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13235 (ofdisk_hash_add): New argument curcan. All users updated.
13236
51fa856c
CW
132372011-01-11 Colin Watson <cjwatson@ubuntu.com>
13238
13239 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13240
9da068a5
VS
132412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13244 loadmask before doing any calculations. Use correct type for offset.
13245 (grub_linux_load64): Likewise.
13246
86205c94
CW
132472011-01-11 Colin Watson <cjwatson@ubuntu.com>
13248
13249 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13250 with NULL.
13251 (console_grub_equivalences_unshift): Likewise.
13252 Reported by: Daniel Dehennin.
13253
4531a206
VS
132542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13257 (set_env_limn_ro): Likewise.
13258 (GRUB_MOD_INIT): Likewise.
13259 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13260 ARRAY_SIZE while on it.
13261 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13262 * grub-core/normal/context.c (grub_env_export): Move from here ...
13263 * grub-core/kern/env.c (grub_env_export): ... here.
13264 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13265 prefix.
13266 * grub-core/kern/main.c (grub_main): Export root and prefix.
13267 * include/grub/env.h (grub_env_export): Export.
13268 Reported by: Seth Goldberg.
13269
45146057
VS
132702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13273 Take into account space used by ELF sections and multiboot palette.
13274 Reported by: Grégoire Sutre.
13275
f093110b
VS
132762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * BUGS: New file.
13279
3395fe52
VS
132802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 Pass more appropriate video id to Linux.
13283
13284 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13285 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13286 fill have_vga.
13287 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13288 shift params->lfb_size.
13289 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13290
c2fa6cbb
VS
132912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13294
b3ff6ff0
VS
132952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13298 separator and pass bootpath/devid even if only one of them is available.
13299 Reported by: Seth Goldberg.
13300
ae67942e
VS
133012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13304 implementations bug on them.
13305
13306 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13307 memory.
13308 (filter_memory_map): Likewise.
13309
d570097a
VS
133102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13313 Reported by: nebuchadnezzar.
13314
a508e776
VS
133152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13318 Reported by: nebuchadnezzar.
13319
dcb883b1
VS
133202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Submenu default support.
13323
13324 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13325 auto_boot. All users updated.
13326 Declared static.
13327 Handle chosen and default with submenus.
13328 (grub_menu_execute_with_fallback): Declared static.
13329 Don't notify failure if autobooted. Upper level does it.
13330 (menuentry_eq): New function.
13331 (get_entry_number): Use menuentry_eq.
13332 (show_menu): New parameter "autobooted". All users updated.
13333 (grub_show_menu): Likewise.
13334 * include/grub/normal.h (grub_show_menu): Likewise.
13335 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13336 (grub_menu_execute_with_fallback): Likewise.
13337
6fef99b4
VS
133382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * util/grub-mklayout.c (usage): Update help text.
13341
47a77af5
VS
133422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13345
ce6bb3ee
VS
133462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * util/grub-menulst2cfg.c (main): Trim the line.
13349
db87be2a
VS
133502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13353 (grub_machine_init): Don't check amount of low memory as reportedly
13354 INT 12h can be broken and if low memory is too low we wouldn't have
13355 gotten into grub_machine_init anyway.
13356
c49849cc
VS
133572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13360 (grub_machine_mmap_iterate): Take low memory into account
13361
b1969b30
VS
133622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13365 badfs.
13366 Reported by: TiCPU.
13367
cf0eaf13
VS
133682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13371 members errors.
13372
1f060f39
GS
133732011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13374
13375 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13376 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13377
a21e5672
GS
133782011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13379
13380 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13381 openbsd and netbsd types being in part_bsd module.
13382
c88172fa
VS
133832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13386 (_FILE_OFFSET_BITS): Likewise.
13387 Reported by: Seth Goldberg.
13388
53798c4b
GS
133892011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13390
13391 * configure.ac: Check for libdevmapper header.
13392
e7121b69
VS
133932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13396 avoid aliasing.
13397 (fzap_lookup): Likewise.
13398 (dnode_get): Likewise.
13399 (make_mdn): Likewise.
13400 (zfs_mount): Likewise.
13401 (fzap_iterate): Use temporary pointer to avoid aliasing.
13402 (grub_zfs_read): Likewise.
13403 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13404 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13405 pointers to avoid aliasing.
13406 (grub_cmd_xnu_kernel64): Likewise.
13407 (grub_xnu_load_driver): Likewise.
13408
fc836af9
VS
134092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13412 aliasing warning.
13413 (grub_cmd_terminal_output): Likewise.
13414 Reported and tested by: Grégoire Sutre.
13415
f9f37648
VS
134162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13419 warning.
13420 Reported and tested by: Grégoire Sutre.
13421
ec1dfd63
VS
134222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * configure.ac: Do CPU substitution even if it's specified explicitly.
13425 Reported and tested by: Alain Greppin.
13426
9462775a
VS
134272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13430 Reported and tested by: Alain Greppin.
13431
0fd48e35
VS
134322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 Satisfy some bison versions need for inttypes.h.
13435
13436 * grub-core/lib/posix_wrap/inttypes.h: New file.
13437 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13438 (int16_t): Likewise.
13439 (int32_t): Likewise.
13440 (int64_t): Likewise.
13441 Reported and tested by: Alain Greppin.
13442
43f1bc83
VS
134432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13446 Silence spurious warning.
13447 Reported and tested by: Alain Greppin.
13448
64d1f041
SJ
134492011-01-07 Szymon Janc <szymon@janc.net.pl>
13450
13451 * docs/grub.texi (Support automatic decompression): Update with xz
13452 decompression support.
13453
25953e10
SJ
134542011-01-07 Szymon Janc <szymon@janc.net.pl>
13455
13456 Improve loaders' kernel command line handling.
13457
13458 * grub-core/lib/cmdline.c: New file.
13459 * include/grub/lib/cmdline.h: Likewise.
13460 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13461 grub_create_loader_cmdline to create kernel command line.
13462 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13463 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13464 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13465 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13466 (linux): Add lib/cmdline.c on common.
13467
e72d259f
VS
134682011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13471 inopos might be unaligned.
13472
c0cf26da
VS
134732011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13476 endian transformations.
13477 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13478 Based on report by: Doug Nazar.
13479
0ca09e6c
DN
134802011-01-07 Doug Nazar <nazard.michi@gmail.com>
13481
13482 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13483 array->members[i].start_sector.
13484 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13485
014b6806
VS
134862011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13489 Reported and tested by: Grégoire Sutre.
13490
415502c2
CW
134912011-01-06 Colin Watson <cjwatson@ubuntu.com>
13492
13493 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13494 avoid causing test failures by clearing the screen.
13495
71b6a2b7
CW
134962011-01-06 Colin Watson <cjwatson@ubuntu.com>
13497
13498 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13499 Fix prefix check to handle the case where dir ends with a slash
13500 (most significantly, "/" itself).
13501 Reported by: Michael Vogt.
13502
b3f8d28a
VS
135032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Run terminfo_cls on initing terminfo output to clear the screen and
13506 move the cursor to (0,0).
13507
13508 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13509 Call grub_terminfo_output_init.
13510 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13511 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13512 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13513
4c3e4f37
VS
135142011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13517 only when needed.
13518
488f71f1
VS
135192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13522 CTRL.
13523
18a38098
VS
135242011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 The E820 type 5 is BADRAM, not EXEC_CODE.
13527
13528 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13529 (GRUB_E820_BADRAM): New define.
13530 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13531 into reserved. Propagate BADRAM.
13532 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13533 (GRUB_E820_BADRAM): New define.
13534
9eae2084
VS
135352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13536
13537 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13538 Ignore the memory post-4G.
13539 (grub_relocator_firmware_alloc_region): Additional debug statement.
13540
ebc71d28
VS
135412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13544 names.
13545 Reported by: David Pravec.
13546
446fa400
VS
135472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13550 BIOSes.
13551
a0159f37
VS
135522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13555 Prevent overflow.
13556 (grub_reed_solomon_recover): Likewise.
13557
e5146ca1
VS
135582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13561
135622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13563
13564 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13565 variable.
13566
5b1bdf12
CW
135672011-01-04 Colin Watson <cjwatson@ubuntu.com>
13568
13569 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13570 descriptions of extract_legacy_entries_source and
13571 extract_legacy_entries_configfile.
13572 Reported by: Seung Soo, Ha.
13573
99d925aa
CW
135742011-01-03 Colin Watson <cjwatson@ubuntu.com>
13575
13576 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13577 on devices that do not implement function 0.
13578
4af0504b
DV
135792011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13580
13581 * grub-core/fs/hfsplus.c: Make parent unsigned.
13582 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13583 overflows.
13584 (grub_hfsplus_cmp_extkey): Likewise
13585
469ee10a
VS
135862011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * util/grub-install.in: Correctly use bootloader_id and not
13589 GRUB_DISTRIBUTOR on efibootmgr line.
13590
323a8e9c
VS
135912011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13594
1b394975
IC
135952010-12-31 Ian Campbell <ijc@hellion.org.uk>
13596
13597 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13598 Xen and reorder menu item wording to make it clearer that this entry
13599 will launch Xen. Print separate messages when loading Xen and
13600 Linux.
13601
275bff5f
VS
136022010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13605 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13606 loop in case of incorrect amiga partmap.
13607
307806cb
VS
136082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13611 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13612 Reported by:EHeM.
13613
b12b923e
VS
136142010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13617 spurious warning.
13618 Reported by: crocket
13619
14b48a19
VS
136202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13623 Preload EFIemu.
13624 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13625
693db2df
VS
136262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13629 is loaded
13630 (grub_cmd_xnu_kextdir): Likewise.
13631 (grub_cmd_xnu_splash): Likewise.
13632
c7638645
VS
136332010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 Avoid using Reed-Solomon with 0 redundancy.
13636
13637 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13638 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13639 or 0 redundancy.
13640 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13641 (grub_reed_solomon_recover): Likewise.
13642
25dd4780
VS
136432010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 Don't use disk subsystem in freebsd_boot.
13646
13647 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13648 (freebsd_biosdev): Likewise.
13649 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13650 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13651
0b2db943
VS
136522010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 Handling of files of unknown size is currently limited. They can't be
13655 used e.g. for initrd or modules. Moreover gzip handling of not
13656 easily seekable files is buggy. Disable unknown file size for now. May
13657 be inefficient but works.
13658
13659 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13660 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13661
5c408d0f
MP
136622010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13663
13664 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13665 floppy probe.
13666
190a011a
JD
136672010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13668
13669 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13670
022d01b8
SL
136712010-12-25 Shea Levy <shlevy>
13672
13673 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13674
c4855fdc
VS
136752010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13678 Windows Server 2008.
13679 Reported by: Devin Giddings.
13680
0354b867
VS
136812010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13684 writing an error message because of async power management.
13685 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13686 (grub_reboot): Likewise.
13687
ab66c69f
JU
136882010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13689
13690 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13691 keep unit tests from failing when they shouldn't.
13692
1426ef35
CW
136932010-12-21 Colin Watson <cjwatson@ubuntu.com>
13694
13695 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13696 previous patch increased the size of the RS code by 20 bytes (at
13697 least with gcc-4.4), so increase this by 20 bytes to match.
13698 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13699
20641b6b
CW
137002010-12-21 Colin Watson <cjwatson@ubuntu.com>
13701
13702 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13703 scratch area. Make sure to initialise chosen in standalone mode as
13704 well as non-standalone.
13705 Reported by: Robert Hooker and Andy Whitcroft.
13706 Tested by: Andy Whitcroft.
13707
d060ad60
CW
137082010-12-21 Colin Watson <cjwatson@ubuntu.com>
13709
13710 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13711 constructing a new unescaped string and passing it to grub_xputs in
13712 one go, rather than passing characters to grub_printf one at a time.
13713
b889cfad
CW
137142010-12-21 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13717 initialising utf16.
13718
4e01b6c8
CW
137192010-12-21 Colin Watson <cjwatson@ubuntu.com>
13720
13721 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13722 comment. Add an extra layer of quotation, requiring the output of
13723 this function to be used in a printf format string.
13724 (gettext_printf): New function.
13725 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13726 Extract translatable strings from here-documents and use a temporary
13727 variable instead, so that xgettext can find them.
13728 * util/grub.d/10_kfreebsd.in: Likewise.
13729 * util/grub.d/10_linux.in: Likewise.
13730 * util/grub.d/20_linux_xen.in: Likewise.
13731
13732 * po/grub.d.sed: New file.
13733 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13734 arguments. Set c-format flags on all strings extracted from
13735 util/grub.d/ (xgettext refuses to include these itself for strings
13736 it extracted from a shell file, but these really are c-format).
13737
5318fe98
VS
137382010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13741 Avoid next pointing to nowhere.
13742
6c85b743
VS
137432010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13746 rather than assuming than rootblock is exactly in the middle.
13747 (grub_affs_label): Likewise.
13748
a2a08a35
VS
137492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13752 reserved_first_sector to 0.
13753 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13754 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13755 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13756
7059d1ec
VS
137572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 Fix handling of UTF-16 UDF labels.
13760
13761 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13762 (read_string): .. here.
13763 (grub_udf_label): Use read_string.
13764
30aff4cb
BC
137652010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13766
13767 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13768 editor under argument scope.
13769 Reported by: Jordan Uggla
13770
5cf86f4b
VS
137712010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13774
32570200
CW
137752010-12-18 Colin Watson <cjwatson@ubuntu.com>
13776
13777 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13778 line, and other keys scroll an entire page (previous handling was
13779 for \r and \n to scroll a page and other keys to scroll two lines).
13780
e1dffcf2
VS
137812010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13784 Set ptrdest to correct get_physical_target_address rather than
13785 incorrect get_virtual_current_address.
13786
b04298cf 137872010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13788
13789 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13790 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13791
5367ecd3
CW
137922010-12-10 Colin Watson <cjwatson@ubuntu.com>
13793
13794 * .bzrignore: Ignore grub-core/rs_decoder.S.
13795
1fb430f8
CW
137962010-12-10 Colin Watson <cjwatson@ubuntu.com>
13797
13798 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13799 .mo/.mo.gz opening sequence to ...
13800 (grub_mofile_open_lang): ... here.
13801 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13802 * util/grub.d/00_header.in (grub_lang): Include country part of
13803 locale.
13804 Reported by: Mario Limonciello.
13805
a94a6671
RM
138062010-12-09 Robert Millan <rmh@gnu.org>
13807
13808 * NEWS: Document addition of ZFS support.
13809
24b7938b
CW
138102010-12-04 Colin Watson <cjwatson@ubuntu.com>
13811
13812 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13813 rather than `/ 2', as the latter requires -Wa,--divide which would
13814 require bumping our minimum binutils version.
13815
bddc3ef6
BC
138162010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13817
13818 * util/grub-script-check.c (main): Print script line number on
13819 error.
13820
bf78d5b2
RM
138212010-12-01 Robert Millan <rmh@gnu.org>
13822
13823 * grub-core/fs/zfs/zfs.c: New file.
13824 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13825 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13826 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13827 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13828
13829 * include/grub/zfs/dmu.h: Likewise.
13830 * include/grub/zfs/dmu_objset.h: Likewise.
13831 * include/grub/zfs/dnode.h: Likewise.
13832 * include/grub/zfs/dsl_dataset.h: Likewise.
13833 * include/grub/zfs/dsl_dir.h: Likewise.
13834 * include/grub/zfs/sa_impl.h: Likewise.
13835 * include/grub/zfs/spa.h: Likewise.
13836 * include/grub/zfs/uberblock_impl.h: Likewise.
13837 * include/grub/zfs/vdev_impl.h: Likewise.
13838 * include/grub/zfs/zap_impl.h: Likewise.
13839 * include/grub/zfs/zap_leaf.h: Likewise.
13840 * include/grub/zfs/zfs.h: Likewise.
13841 * include/grub/zfs/zfs_acl.h: Likewise.
13842 * include/grub/zfs/zfs_znode.h: Likewise.
13843 * include/grub/zfs/zil.h: Likewise.
13844 * include/grub/zfs/zio.h: Likewise.
13845 * include/grub/zfs/zio_checksum.h: Likewise.
13846
13847 * Makefile.util.def: Build ZFS into libgrubmods.
13848 * grub-core/Makefile.core.def: Build zfs.mod.
13849
3f0f3831
SJ
138502010-11-30 Szymon Janc <szymon@janc.net.pl>
13851
13852 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13853 variable.
13854 * grub-core/commands/wildcard.c (match_files): Likewise.
13855
3a4253b2
RM
138562010-11-30 Robert Millan <rmh@gnu.org>
13857
13858 * grub-core/loader/i386/bsd.c
13859 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13860 whether kernel is loaded using grub_loader_is_loaded(), rather
13861 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13862 certain error conditions.
13863
8c317b27
RM
138642010-11-30 Robert Millan <rmh@gnu.org>
13865
c5c9cd3e
RM
13866 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13867 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13868
49d3ab46
VS
138692010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 Avoid using tricks for initialising endian variables.
13872
13873 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13874 Make const.
13875 (GRUB_MOD_INIT): Don't byte-swap.
13876 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13877 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13878 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13879 (grub_swap_bytes32_compile_time): Likewise.
13880 (grub_cpu_to_le32_compile_time): Likewise.
13881 (grub_cpu_to_le16_compile_time): Likewise.
13882
f420a804
VS
138832010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * util/grub-setup.c (setup): Stop recommending --force. People who
13886 understand the dangers of blocklists are able to find this option
13887 anyway and the ones who don't shouldn't use it anyway.
13888
4e7db17b
RM
138892010-11-26 Robert Millan <rmh@gnu.org>
13890
13891 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13892 Update all users.
13893
9be57a0d
CW
138942010-11-26 Colin Watson <cjwatson@ubuntu.com>
13895
13896 Fix LVM-on-RAID probing.
13897
13898 * util/grub-probe.c (probe): Remember which disk was detected as
13899 RAID (perhaps an LVM physical volume). Use that disk's raidname
13900 rather than that of the top-level disk.
13901
2c7859b3 139022010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13903
d7647bb6
BC
13904 Fix cmdline argument quotes for setparams command of menuentry
13905 definitions.
7e623b0d
BC
13906
13907 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13908 quotes for arguments.
f866fe80 13909 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13910 grub_strchrsub function instead.
f866fe80 13911
7955bea0 13912 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13913
74f72a64
CW
139142010-11-24 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13917 effort by skipping "." and ".." entries up-front.
13918 Suggested by: Michael Lazarev.
13919
5a407278
CW
139202010-11-24 Colin Watson <cjwatson@ubuntu.com>
13921
13922 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13923 ldflags to ldadd, to fix link line ordering.
13924 (none_decompress): Likewise.
13925
3030d8ec
CW
139262010-11-24 Colin Watson <cjwatson@ubuntu.com>
13927
13928 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13929 platforms.
13930 (grub-emu-lite): Remove kern/emu/cache.S.
13931
b7fbac12
CW
139322010-11-23 Colin Watson <cjwatson@ubuntu.com>
13933
13934 * util/deviceiter.c (compare_devices): If the by-id link for a
13935 device couldn't be resolved, fall back to sorting by the by-id link
13936 rather than segfaulting.
13937 Reported and tested by: Daniel Mierswa.
13938
5225f328
CW
139392010-11-23 Colin Watson <cjwatson@ubuntu.com>
13940
13941 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13942 ldflags, to fix link line ordering.
13943
038b3ce8
CW
139442010-11-23 Colin Watson <cjwatson@ubuntu.com>
13945
13946 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13947 linkers are picky about this.
13948
bf16e98e
CW
139492010-11-23 Colin Watson <cjwatson@ubuntu.com>
13950
13951 * grub-core/Makefile.am (command.lst): Adjust sed expression
13952 ordering so that extended and priority commands aren't treated as
13953 ordinary commands.
13954
7242bab6
CW
139552010-11-23 Colin Watson <cjwatson@ubuntu.com>
13956
13957 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13958 Remove byte-swapping function calls, which are not valid in
13959 structure initialisers.
13960 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13961 non-const.
13962 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13963 grub_gpt_partition_type_bios_boot.
13964
14e8b279
CW
139652010-11-22 Colin Watson <cjwatson@ubuntu.com>
13966
13967 Fix test program build on GNU/kFreeBSD.
13968
13969 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13970 $(LIBNVPAIR)' library dependencies.
13971
e6f63338 139722010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13973
13974 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13975
cf8ffc38
CW
139762010-11-22 Colin Watson <cjwatson@ubuntu.com>
13977
13978 * util/grub-install.in: Remove excessive quoting that broke
13979 installations to RAID devices.
13980
7f8b0fd7
VS
139812010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13984 bootloader version instead of 0.
13985
dfd240b1
VS
139862010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13989 warning.
13990
7b61e609
VS
139912010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13994 retrieve the metadat sector if size isn't known.
13995 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13996
9dfe92d0
RM
139972010-11-18 Robert Millan <rmh@gnu.org>
13998
13999 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14000 with grub_memcmp().
14001
41cc919e
VS
140022010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14005 arrow.
14006 Reported by: Jordan Uggla.
14007
1afcc914
VS
140082010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 Make better UTF compliant.
14011
14012 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14013 sequences as incorrect.
14014 (grub_is_valid_utf8): Likewise.
14015 (grub_utf8_to_ucs4): Likewise.
14016 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14017 (grub_ucs4_to_utf8_alloc): Likewise.
14018 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14019
f1808884
VS
140202010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 Make legacy_source behave like source.
14023
14024 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14025 grub_show_menu.
14026 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14027
24ec575b
CW
140282010-11-16 Colin Watson <cjwatson@debian.org>
14029
14030 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14031 (-Wunused implies -Wunused-parameter, but not vice versa).
14032
72b7c7aa
CW
140332010-11-16 Colin Watson <cjwatson@ubuntu.com>
14034
14035 * configure.ac: Make error messages less confusing by testing for
14036 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14037 accepted, but produces a diagnostic if something else is wrong).
14038
e98937aa
VS
140392010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14042 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14043 (now unused).
14044 (grub_keyboard_controller_init)
14045 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14046 read the initial state since controller isn't inited yet.
14047
f6bbabc3
VS
140482010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14051 allocate_regbeg may need to create new chunk header.
14052
22e7dbb2
VS
140532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 Fix quoting in legacy parser.
14056
14057 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14058 single quotes.
14059 (grub_legacy_parse): Likewise.
14060 Reported by: Jordan Uggla.
14061 Tested by: Jordan Uggla.
14062
03f80960
VS
140632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 Don't add -lgcc on i386 and x86_64.
14066
14067 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14068 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14069 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14070
779dc15b
VS
140712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * configure.ac: Add -Wno-trampolines when supported.
14074
d20a3b37
MV
140752010-11-14 Modestas Vainius <modax@debian.org>
14076
14077 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14078 fakeraid.
14079
e5360933
GC
140802010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14081
14082 Add generic logical block size support for UDF.
14083
14084 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14085 (GRUB_UDF_BLKSZ): Removed.
14086 (struct grub_udf_data): New field "lbshift" to hold the logical block
14087 size of the file system in log2 format. All users updated.
14088 (sblocklist): Change type to unsigned.
14089 (grub_udf_mount): Change type of "sblklist" to unsigned.
14090 Move AVDP search before VRS recognition, because the latter requires
14091 knowledge of the logical block size, which is detected during the
14092 former.
14093 Detect and validate logical block size during AVDP search, adding
14094 support for block sizes 512, 1024 and 4096.
14095 Make VRS recognition independent of block size.
14096
cb0229c5
GC
140972010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14098
14099 Properly handle deleted files on UDF.
14100
14101 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14102 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14103 set.
14104
406858a8
GC
141052010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14106
14107 Support reading files larger than 2 GiB.
14108
14109 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14110 "offset" to grub_off_t.
14111 (grub_udf_read_file): Likewise for parameter "pos".
14112
130da6a7
VS
141132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14116 unavailable.
14117 (Simple configuration): Refer to Changes from GRUB Legacy about
14118 save_env availability.
14119
65e93f6b
VS
141202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * util/grub-install.in: Ignore empty partition table detection
14123 instead of trying to include part_ module.
14124
1fd08bf1
VS
141252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14128 LVM on RAID support.
14129
de1a024f
VS
141302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 Properly define WORDS_BIGENDIAN in wrapped environments.
14133
14134 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14135 definition.
14136 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14137
14138 Reported by: Manoel Rebelo Abranches.
14139 Tested by: Manoel Rebelo Abranches.
14140
bc5dd0b9
VS
141412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 * util/grub-mkconfig.in: Fix quoting.
14144
58c184be
VS
141452010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 Support big ext2 files.
14148
14149 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14150 (grub_ext2_read_block): Support triple indirect blocks.
14151 (grub_ext2_read_file): Use 64-bit types and read size_high.
14152 (grub_ext2_open): Read size_high.
14153 Reported by: Ximin Luo.
14154 Tested by: Manoel Rebelo Abranches.
14155
5f0c02b3
VS
141562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * util/grub-install.in: Handle filenames containing spaces.
14159 Reported by: Jordan Uggla.
14160 Tested by: Jordan Uggla.
14161
4417aae6
VS
141622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * util/grub-mkconfig.in (grub_script_check): New variable.
14165 Use grub_script_check instead of grub-script-check.
14166 Reported by: Barry Jackson.
14167
7625a68e
VS
141682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * docs/grub.texi (menu): Correct the order.
14171 Reported by: D. Hugh Redelmeier.
14172
10001ac5
VS
141732010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14176 jump.
14177
9c4cf53b
MRA
141782010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14179
10001ac5
VS
14180 * include/grub/elfload.h (grub_elf32_size): New parameter.
14181 All users updated.
9c4cf53b
MRA
14182 Return maximum segments alignment.
14183 (grub_elf64_size): Likewise.
14184 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14185 Return maximum segments alignment.
14186 (grub_elf64_size): Likewise.
14187 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14188 (grub_linux_claimmap_iterate): New function. Uses the
14189 "available" property in the "memory" node for memory allocation
14190 for kernel in the PowerPC loader.
9c4cf53b
MRA
14191 (grub_linux_load32): Correctly find linux entry point offset.
14192 (grub_linux_load64): Likewise.
14193
d2bf06bf
RM
141942010-11-07 Robert Millan <rmh@gnu.org>
14195
14196 On mips-yeeloong, build with -march=loongson2f when this flag is
14197 available (GCC >= 4.4).
14198 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14199 `-march=mips3'.
14200 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14201 or otherwise add -march=mips3.
14202
898c99a2
BC
142032010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14204
87220a68
BC
14205 Suppress shell expansion on echo '*' and echo "*" like cases.
14206 Reported by: Jordan Uggla.
898c99a2
BC
14207
14208 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14209 string arguments before shell expansion.
14210 * tests/grub_cmd_echo.in: New testcases.
14211
4f9b406a
RM
142122010-11-07 Robert Millan <rmh@gnu.org>
14213
14214 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14215 transition.
14216
80c6d25e
VS
142172010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * grub-core/kern/emu/hostdisk.c
14220 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14221
4a1a0153
VS
142222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14225 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14226 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14227
34706ddc
VS
142282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14231
6972dea9
VS
142322010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * util/grub-install.in: Replace useless recomendation to pass
14235 --modules with a recomendation to report a bug.
14236
9c693bd6
VS
142372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 Properly register serial terminfo.
14240 Reported by: Jordan Uggla
14241
14242 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14243 const.
14244 (grub_serial_terminfo_output_template): Likewise.
14245 (grub_cmd_serial): Register "serial" with terminfo.
14246 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14247 grub_serial_terminfo_output.
14248
6c9e4c0c
RM
142492010-11-05 Robert Millan <rmh@gnu.org>
14250
14251 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14252 needed).
14253
b9b3839f
RM
142542010-11-05 Robert Millan <rmh@gnu.org>
14255
14256 On Yeeloong, pass machine type information to Linux.
14257
14258 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14259 (LOONGSON_MACHTYPE): New macro, set to
14260 "machtype=lemote-yeeloong-2f-8.9inches".
14261 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14262 additional argument to Linux.
14263
1a3aaff4
RM
142642010-11-04 Robert Millan <rmh@gnu.org>
14265
14266 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14267 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14268 (its SATA disks are detected as slaveless IDE master drives on
14269 kFreeBSD).
14270 Reported by Carsten Aulbert.
14271
a75f4f62
CW
142722010-11-02 Colin Watson <cjwatson@ubuntu.com>
14273
14274 * util/bin2h.c (main): Fix spelling error in generated output.
14275
33b4b0c6
GS
142762010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14277
14278 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14279
2b36fbf4
VS
142802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14283 vga= option is supplied.
14284
74aaf558
VS
142852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14286
14287 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14288 * util/grub.d/10_kfreebsd.in: Likewise.
14289 * util/grub.d/10_linux.in: Likewise.
14290 * util/grub.d/20_linux_xen.in: Likewise.
14291
6428dec3
VS
142922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14295 argument as an argument to no-argument option.
14296
f8729d98
VS
142972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * util/grub.d/10_linux.in: Add missing load_video with explicit
14300 GRUB_GFXPAYLOAD_LINUX.
14301
89d68fa6
VS
143022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14305
3a1197cd
VS
143062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14309 elements with invlid index.
14310 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14311 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14312 members.
14313 * include/grub/raid.h (grub_raid_member): New struct.
14314 (grub_raid_array): Transform devices and start_sector into usage of
14315 grub_raid_member. All users updated
14316 (allocated_devs): New member.
14317
71574288
VS
143182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14321 is modified
14322
8d40ec65
BC
143232010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14324
14325 NetBSD build fix for getline function conflict from gnulib.
14326
14327 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14328 components that depend on gnulib headers.
14329 (libgrubmods.a): Renamed from earlier libgrub.a.
14330 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14331
95b9257e
VS
143322010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14335 install rather than creating a broken install.
14336
26c53dc6
VS
143372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * util/grub-setup.c (argp): Remove misleading example of installing to
14340 a partition.
14341
4171b3c5
VS
143422010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * util/grub-setup.c (setup): Clarify the error message.
14345
18568d18
VS
143462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14349
4f6a2e21
VS
143502010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * grub-core/kern/emu/misc.c
14353 (grub_make_system_path_relative_to_its_root)
14354 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14355
143562010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14357
14358 * grub-core/kern/emu/misc.c
14359 (grub_make_system_path_relative_to_its_root): Revert r2882.
14360
e138c458
VS
143612010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14364 useless field head. All users updated.
14365 (free_subchunk): Correct handling of IN_REGION subchunk.
14366
0cbcdf0e
CW
143672010-10-22 Colin Watson <cjwatson@ubuntu.com>
14368
14369 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14370 (Supported kernels): Likewise.
14371
b65ea155
GS
143722010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14373
14374 Make mktemp invocations portable.
14375
14376 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14377 exit if mktemp fails.
14378 * tests/grub_script_blockarg.in: Likewise.
14379 * tests/partmap_test.in: Likewise.
14380 * tests/util/grub-shell-tester.in: Likewise.
14381 * tests/util/grub-shell.in: Likewise.
14382 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14383 * Makefile.am: Likewise, and chain shell commands with `&&'
14384 instead of ';'.
14385 * util/grub-mkrescue.in: Use the same explicit template as above, and
14386 exit if mktemp fails.
14387
05f43cdd
BC
143882010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14389
14390 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14391 Linux kernel, reported by Dennis Schridde.
14392
800e6a9b
SJ
143932010-10-17 Szymon Janc <szymon@janc.net.pl>
14394
14395 * grub-core/normal/auth.c (grub_auth_check_authentication):
14396 Set-but-not-used variable removed.
14397
d82df574
VS
143982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14401 32-bit linux protocol.
14402
7bced458
VS
144032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14406 cursor shape for sanity.
14407
5b027690
VS
144082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * docs/grub.texi (Installation): Document buggy BIOS install.
14411
ba5f65cf
VS
144122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * docs/grub.texi (Installation): Indent.
14415
fdf2ec9c
VS
144162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * util/grub-setup.c (setup): New parameter allow_floppy.
14419 (arguments): New member allow_floppy.
14420 (argp_parser): Handle --allow-floppy.
14421 (main): Pass allow_floppy.
14422 * util/grub-install.in: New option --allow-floppy passed though to
14423 grub-setup.
14424
861dfd4c
VS
144252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * util/grub-install.in: Handle partitionless disks.
14428
f77a8c24
VS
144292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * util/grub-setup.c (setup): Don't clean blocklists before readability
14432 verfification.
14433
27d9ee32
VS
144342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 * docs/grub.texi (Installation): Document embedding zone. Remove
14437 obsolete grub-install example.
14438
6bdda8f8
SJ
144392010-10-16 Szymon Janc <szymon@janc.net.pl>
14440
14441 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14442 Set-but-not-used variable ifdef'ed.
14443 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14444 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14445 variable removed.
14446 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14447 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14448 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14449 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14450 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14451 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14452 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14453 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14454 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14455 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14456 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14457 Likewise.
14458
e19b016b
VS
144592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14462 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14463 enum value.
14464
6c8d3002
VS
144652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14468 synonym to _S5_. Needed for some DSDTs.
14469
c32b51c9
VS
144702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 Userspace ACPI parser debugging.
14473
14474 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14475 headers and add relevant defines. Don't include standard headers.
14476 (main) [GRUB_DSDT_TEST]: New function.
14477 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14478 Don't declare functions.
14479
fbfbeb39
VS
144802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Remove dead grub_efi_mm_fini.
14483
14484 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14485 (ALLOCATED_PAGES_SIZE): Likewise.
14486 (MAX_ALLOCATED_PAGES): Likewise.
14487 (allocated_pages): Likewise.
14488 (grub_efi_allocate_pages): Don't record allocated pages.
14489 (grub_efi_free_pages): Likewise.
14490 (grub_efi_mm_init): Likewise.
14491 (grub_efi_mm_fini): Removed.
14492
65f7ed7c
VS
144932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14496 (grub_efi_mm_init): Take into account the memory map size increase.
14497
24977b44
VS
144982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14501 (serial_hw_put): Wait based on real time rather than port reads. Don't
14502 roken ports.
14503 * include/grub/serial.h (grub_serial_port): New field broken.
14504
1eb01cd2
RM
145052010-10-16 Robert Millan <rmh@gnu.org>
14506
14507 * grub-core/kern/emu/misc.c
14508 (grub_make_system_path_relative_to_its_root): Fix premature return
14509 when processing non-root ZFS filesystems.
5f8b440b 14510 Reported by Sergio Talens-Oliag.
1eb01cd2 14511
2d5fed60
RM
145122010-10-15 Robert Millan <rmh@gnu.org>
14513
14514 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14515 guarantee compressed ones are processed first.
14516
d0f4c1ea
VS
145172010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14520 grub_efiemu_autocore.
14521
d87c681f
VS
145222010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14525 rather than 0x1b.
14526 (grub_console_getkey): Use correct jae opcode rather than ja.
14527
219b3564
RM
145282010-10-12 Robert Millan <rmh@gnu.org>
14529
14530 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14531 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14532 variable. All references updated.
14533
14534 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14535
20c6bb7e
VS
145362010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 Correctly distinguish mdraid flavours.
14539
14540 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14541 (insert_array): New argument raid.
14542 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14543 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14544 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14545
74baff84
VS
145462010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14549 handling of special keys.
14550
3ef068df 145512010-10-02 Aleš Nesrsta <starous@volny.cz>
14552
c7980ad9
VS
14553 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14554 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14555
a9455194 145562010-10-02 Aleš Nesrsta <starous@volny.cz>
14557
c7980ad9
VS
14558 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14559 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14560 users updated.
a9455194 14561 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14562 Use right endpoint when querying descriptor.
a9455194 14563
441cfe65
VS
145642010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 Clear out 0x80 color bit on EFI.
14567 Tested by: decoder
14568 Reported by: decoder and meta tech.
14569
14570 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14571 (grub_console_setcolorstate): Clear out 0x80 bit.
14572 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14573 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14574 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14575
bf26bcc4
VS
145762010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14579 Set to "auto".
14580
6e3c515d
VS
145812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14584 mo_file after freeing.
14585
e6d983ba
VS
145862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14589
74ccb5b5
VS
145902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14593 flags.
14594
17821956
VS
145952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14598 usage.
14599
ee74fa48
VS
146002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14603
14604 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14605 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14606 and terminfo.h when needed.
14607 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14608 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14609 (terminfo): Enable only on terminfokernel.
14610 (extcmd): Likewise.
14611 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14612 * include/grub/lib/arg.h: Likewise.
14613 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14614 incorrect usage of ->.
14615
aa438e68
VS
146162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14619 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14620
57994012
VS
146212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 Fix coreboot compilation.
14624
14625 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14626 Take VBE info into account even if only text is supported.
14627 (fill_vbe_info): Take into account the case when only VGA text
14628 is supported.
14629 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14630 on coreboot, multiboot and qemu.
14631
2a406611
VS
146322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14635 debug messages.
14636 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14637
d33613fc
VS
146382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14641 parameters.
14642
44a1b432
VS
146432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14646 if they were BSD-style.
14647
edde54e6
VS
146482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * grub-core/boot/i386/pc/lnxboot.S: Replace
14651 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14652 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14653
b65830fa
VS
146542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 Write embedding zone using Reed-Solomon.
14657
14658 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14659 * grub-core/Makefile.am (rs_decoder.S): New target.
14660 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14661 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14662 (multiboot): Move to RS part.
14663 (post_reed_solomon): New label.
14664 (grub_boot_drive): Move to non-RS part since it's modified in memory
14665 on boot.
14666 Include rs_decoder.S.
14667 * grub-core/lib/reed_solomon.c: New file.
14668 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14669 New definition.
14670 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14671 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14672 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14673 * include/grub/partition.h (grub_partition_map): Change prototype of
14674 embed to allow returning additional sectors.
14675 * include/grub/reed_solomon.h: New file.
14676 * util/grub-setup.c (setup): Handle Reed-Solomon.
14677
0b4b227f
CW
146782010-09-28 Colin Watson <cjwatson@ubuntu.com>
14679
14680 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14681 i386 and x86-64 definedness tests.
14682
f772623b
YB
146832010-09-27 Yves Blusseau <blusseau@zetam.org>
14684
14685 Fix generation of kernel_syms.lst
14686
14687 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14688 ASM_PREFIX
14689
8e57a6ca
RM
146902010-09-26 Robert Millan <rmh@gnu.org>
14691
14692 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14693
14694 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14695 the pool is an array of devices, iterate through it and return the
14696 first device that passes a stat() test (instead of blindly returning
14697 the first one).
14698
f9130836
RM
146992010-09-26 Robert Millan <rmh@gnu.org>
14700
14701 Build fixes for GNU/kFreeBSD.
14702
14703 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14704 to programs that require ZFS conversion.
14705 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14706 kernels that don't have FLOPPY_MAJOR.
14707
96510faf
BC
147082010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14709
14710 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14711
449333eb
BC
147122010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14713
14714 Fix grub-emu build.
14715
14716 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14717 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14718 mdraid09 and mdraid1x.
14719
e1fd1939
CW
147202010-09-24 Colin Watson <cjwatson@ubuntu.com>
14721
14722 Re-enable grub-extras.
14723
14724 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14725 avoid confusing Automake. Run autogen only twice, once for the top
14726 level and once for grub-core. Add Makefile.util.def and
14727 Makefile.core.def from extra modules to the appropriate autogen
14728 invocations. If Makefile.common exists in an extra module, include
14729 it in both Makefile.util.am and grub-core/Makefile.core.am;
14730 similarly, include any Makefile.util.common file in Makefile.util.am
14731 and any Makefile.core.common file in grub-core/Makefile.core.am.
14732 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14733 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14734 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14735 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14736
14737 * gentpl.py (gvar_add): Turn GVARS into a set.
14738 (global_variable_initializers): Sort global variables on output.
14739 (vars_init): New function.
14740 (first_time): Likewise.
14741 (library): Ensure that non-global variable initialisations are
14742 emitted before the first time we emit code for a library block.
14743 Append to variables rather than setting them. Only emit
14744 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14745 each conditional path.
14746 (program): installdir() emits an Autogen macro, so must be passed to
14747 var_add rather than gvar_add.
14748 (data): Likewise.
14749 (script): Likewise.
14750 (rules): New function, centralising handling for different target
14751 types. Set up Guile association lists for first_time and vars_init,
14752 and send most output to a diversion so that variable initialisations
14753 can be emitted first.
14754 (module_rules): Use new rules function.
14755 (kernel_rules): Likewise.
14756 (image_rules): Likewise.
14757 (library_rules): Likewise.
14758 (program_rules): Likewise.
14759 (script_rules): Likewise.
14760 (data_rules): Likewise.
14761
14762 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14763
14764 * .bzrignore: Add contrib and grub-core/contrib. Remove
14765 grub-core/Makefile.gcry.am.
14766
1d12cf29
YB
147672010-09-24 Yves Blusseau <blusseau@zetam.org>
14768
14769 * grub-core/lib/LzFind.c: Add missing include.
14770 * grub-core/lib/LzmaEnc.c: Likewise.
14771 * grub-core/script/lexer.c: Likewise.
14772 * grub-core/script/yylex.l: Likewise.
14773 * util/grub-macho2img.c: Likewise.
14774 * util/grub-menulst2cfg.c: Likewise.
14775 * util/grub-mklayout.c: Likewise.
14776 * util/grub-mkpasswd-pbkdf2.c
14777 * util/grub-mkrelpath.c: Likewise.
14778 * util/resolve.c: Likewise.
14779
dd363028
BC
147802010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14781
14782 * Makefile.util.def (example_unit_test): Add
14783 grub-core/gnulib/libgnu.a.
14784
f5a109e2
GS
147852010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14786
14787 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14788
6d0fa83c
VS
147892010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Support xz compression on yeeloong.
14792
14793 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14794 * configure.ac: Check for LZMA.
14795 * grub-core/Makefile.core.def (xz_decompress): New target.
14796 (none_decompress): Likewise.
14797 * grub-core/boot/decompressor/minilib.c: New file.
14798 * grub-core/boot/decompressor/none.c: Likewise.
14799 * grub-core/boot/decompressor/xz.c: Likewise.
14800 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14801 * grub-core/kern/mips/cache_flush.S: Likewise.
14802 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14803 * grub-core/kern/mips/startup.S: Move first stage to ...
14804 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14805 nomacro.
14806 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14807 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14808 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14809 Allocate statically.
14810 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14811 Allocate statically or use scratch. Don't check CRC32.
14812 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14813 Allocate statically. Don't check CRC32.
14814 * include/grub/decompressor.h: New file.
14815 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14816 Removed.
14817 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14818 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14819 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14820 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14821 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14822 * util/grub-mkimage.c (grub_compression_t): New type.
14823 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14824 (image_target_desc): New field default_compression.
14825 (image_targets): Adjust yeeloong targets.
14826 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14827 (compress_kernel): New parameter comp.
14828 (generate_image): Likewise. Handle new compression case.
14829 (options): New option --compression
14830 (help): Likewise.
14831 (main): Handle new option.
14832
1b655af6
GS
148332010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14834
14835 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14836
8f03f0b5
CW
148372010-09-22 Colin Watson <cjwatson@ubuntu.com>
14838
14839 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14840 typo in __i386__ conditional.
14841
7835dfd3
VS
148422010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14845 include.
14846
e255597e
VS
148472010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14848
6d0fa83c 14849 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14850
14851 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14852 new tags as supported.
14853 (acpiv2_size): New function.
14854 (grub_multiboot_get_mbi_size): Take new tags into account.
14855 (grub_multiboot_make_mbi): Add new tags.
14856 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14857
6cc14051 148582010-09-21 Aleš Nesrsta <starous@volny.cz>
14859
14860 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14861 Added missing configuration of USB device.
14862
df7769d8
CW
148632010-09-21 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * grub-core/normal/menu_entry.c (run): Make sure we always return
14866 a value.
14867
b031012d
CW
148682010-09-21 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14871 NumberOfPages is UINT64 according to the UEFI specification, not
14872 UINTN. Fix printf format.
14873
174de8f3
CW
148742010-09-21 Colin Watson <cjwatson@ubuntu.com>
14875
14876 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14877 `err' to grub_usb_err_t.
14878 Reported and tested by: KESHAV P.R.
14879
d7dbe923
CW
148802010-09-21 Colin Watson <cjwatson@ubuntu.com>
14881
14882 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14883 tpart non-const, so that we can assign to it. (Since this is a
14884 typedef, the constness refers to the pointer rather than what it
14885 points to.)
14886
8d5e2af3
CW
148872010-09-21 Colin Watson <cjwatson@ubuntu.com>
14888
14889 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14890 $(top_srcdir)/grub-core/gnulib as well as
14891 $(top_builddir)/grub-core/gnulib.
14892 Reported by: KESHAV P.R.
14893
5c527783
CW
148942010-09-21 Colin Watson <cjwatson@ubuntu.com>
14895
14896 * util/grub-install.in: Fix the bootloader ID option to be
14897 consistently --bootloader-id, not --bootloader_id.
14898 Reported by: KESHAV P.R.
14899
d309a16e
CW
149002010-09-21 Colin Watson <cjwatson@ubuntu.com>
14901
14902 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14903 check hash checksum." consistently translatable.
14904
b830cd16
YB
149052010-09-21 Yves Blusseau <blusseau@zetam.org>
14906
14907 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14908 $(top_builddir).
14909
c4fe27a8
CW
149102010-09-21 Colin Watson <cjwatson@ubuntu.com>
14911
14912 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14913 (GRUB_MOD_INIT): Register sha1sum command.
14914 (GRUB_MOD_FINI): Unregister sha1sum command.
14915
a4c1d277
YB
149162010-09-21 Yves Blusseau <blusseau@zetam.org>
14917
14918 Keep boot and grub directory names in sync with utils scripts
14919
14920 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14921 * config.h.in: Add previous macros.
14922 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14923 * util/grub-install.in: Use $bootdir and $grubdir variables.
14924
4eff79d2
CW
149252010-09-21 Colin Watson <cjwatson@ubuntu.com>
14926
14927 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14928 convert partition names to disk names if the new `convert' parameter
14929 is set.
14930 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14931 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14932 disk in its own right. This can happen with Xen disk images.
14933
934d7e44
YB
149342010-09-21 Yves Blusseau <blusseau@zetam.org>
14935
14936 * util/grub-editenv.c: Update strings to avoid warnings when generating
14937 grub.pot file.
14938 * util/grub-setup.c: Likewise.
934d7e44 14939
df3367cc
VS
149402010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * configure.ac: Change version to 1.99~beta0.
14943
77a94e98
VS
149442010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14947 Add BADRAM.
14948 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14949 Likewise.
14950 * include/multiboot.h: Resynced with specification.
14951 * include/multiboot2.h: Likewise.
14952
269004c1
CW
149532010-09-21 Colin Watson <cjwatson@ubuntu.com>
14954
14955 Fix po directory handling.
14956
14957 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14958 * grub-core/gnulib/Makefile.am: Import gettext module.
14959 * m4/gnulib-cache.m4: Likewise.
14960 * m4/gnulib-comp.m4: Likewise.
14961 * m4/gettext.m4: New file, from gnulib.
14962 * m4/glibc2.m4: Likewise.
14963 * m4/iconv.m4: Likewise.
14964 * m4/intdiv0.m4: Likewise.
14965 * m4/intl.m4: Likewise.
14966 * m4/intldir.m4: Likewise.
14967 * m4/intlmacosx.m4: Likewise.
14968 * m4/intmax.m4: Likewise.
14969 * m4/inttypes-pri.m4: Likewise.
14970 * m4/lcmessage.m4: Likewise.
14971 * m4/lib-ld.m4: Likewise.
14972 * m4/lib-link.m4: Likewise.
14973 * m4/lib-prefix.m4: Likewise.
14974 * m4/lock.m4: Likewise.
14975 * m4/nls.m4: Likewise.
14976 * m4/po.m4: Likewise.
14977 * m4/printf-posix.m4: Likewise.
14978 * m4/progtest.m4: Likewise.
14979 * m4/threadlib.m4: Likewise.
14980 * m4/uintmax_t.m4: Likewise.
14981 * m4/visibility.m4: Likewise.
14982 * po/Makefile.am: Remove.
14983 * po/Makefile.in.in: New file, from gettext.
14984 ($(DOMAIN).pot-update): Support POTFILES-shell.
14985 * po/Makevars: New file.
14986 * po/POTFILES-shell: Rename to ...
14987 * po/POTFILES-shell.in: ... this. Update.
14988 * po/POTFILES: Rename to ...
14989 * po/POTFILES.in: ... this. Update.
14990 * po/Rules-quot: New file, from gettext.
14991 * po/boldquot.sed: Likewise.
14992 * po/en@boldquot.header: Likewise.
14993 * po/en@quot.header: Likewise.
14994 * po/insert-header.sin: Likewise.
14995 * po/quot.sed: Likewise.
14996 * po/remove-potcdate.sin: Likewise.
14997
3e0fa5d0
VS
149982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15001
ade9bd66
VS
150022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * util/grub.d/20_linux_xen.in: Use submenus.
15005
fc55cc4c
VS
150062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 Support submenus.
15009
15010 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15011 parameter submenu. All users updated.
15012 * grub-core/normal/main.c (free_menu): Rename to ...
15013 (grub_normal_free_menu): ... this. Made global.
15014 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15015 if requested.
15016 * grub-core/normal/menu_entry.c (screen): New field submenu.
15017 (make_screen): Set submenu.
15018 (run): Open new context if requested.
15019 * include/grub/menu.h (grub_menu_entry): New field submenu.
15020 * include/grub/normal.h (grub_normal_free_menu): New proto.
15021
600cedf7
VS
150222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Menu entries extractor.
15025
15026 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15027 variants.
15028 (GRUB_MOD_INIT): Register new variants.
15029 (GRUB_MOD_FINI): Unregister new variants.
15030 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15031 into grub_cmd_legacy_source.
15032 (grub_cmd_legacy_source): Implement extractor variants.
15033 (GRUB_MOD_INIT): Register new variants.
15034 (GRUB_MOD_FINI): Unregister new variants.
15035 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15036 as an extractor.
15037 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15038 search as an extractor.
15039 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15040 test as an extractor.
15041 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15042 as an extractor.
15043 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15044 (grub_env_new_context): New function.
15045 (grub_env_context_open): Likewise.
15046 (grub_env_extractor_open): Likewise.
15047 (grub_env_extractor_close): Likewise.
15048 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15049 grub_extractor_level.
15050 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15051 * include/grub/env.h (grub_env_extractor_open): New proto.
15052 (grub_env_extractor_close): Likewise.
15053 * include/grub/normal.h (grub_extractor_level): New external variable.
15054
7bda3a87
VS
150552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 Make cutmem accept a region specification.
15058 Suggested by: Samuel Thibault
15059
15060 * grub-core/mmap/mmap.c (parsemem): New function.
15061 (grub_cmd_cutmem): Handle new arguments.
15062
2ea57f88
VS
150632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 New command cutmem.
15066
15067 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15068 (GRUB_MOD_INIT): Register new command.
15069 (GRUB_MOD_FINI): Unregister new command.
15070
74342e31
VS
150712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 Support some annoying BSD and Minix subpartitions.
15074
15075 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15076 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15077 Properly handle concatenation.
15078 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15079 * grub-core/normal/completion.c (iterate_partition): Likewise.
15080 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15081 contain partition. All users updated.
15082 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15083 struct.
15084 (grub_openbsdlabel_partition_map): Likewise.
15085 (bsdlabel_partition_map_iterate): Rename to ..
15086 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15087 (bsdlabel_partition_map_iterate): New function.
15088 (netopenbsdlabel_partition_map_iterate): Likewise.
15089 (netbsdlabel_partition_map_iterate): Likewise.
15090 (openbsdlabel_partition_map_iterate): Likewise.
15091 (GRUB_MOD_INIT): Register new partmaps.
15092 (GRUB_MOD_FINI): Unregister new partmaps.
15093 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15094 (grub_partition_msdos_iterate): ... this. All users updated.
15095 Don't support embedding other than in a minix partition.
15096 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15097 proto.
15098 * include/grub/partition.h (grub_partition): New field msdostype.
15099 * util/grub-install.in: Handle openbsd and netbsd types being in
15100 part_bsd module.
15101
1e8d555b
VS
151022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15105
15106 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15107 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15108 (mdraid09): ... this.
15109 (mdraid1x): New module.
15110 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15111 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15112
899d8af4
VS
151132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15116 vsprintf.
15117
40901acd
CW
151182010-09-20 Colin Watson <cjwatson@ubuntu.com>
15119
15120 * grub-core/commands/efi/lsefimmap.c: Correct header.
15121 * NEWS: Update.
15122
dfe3b247
CW
151232010-09-20 Colin Watson <cjwatson@ubuntu.com>
15124
15125 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15126 as printf format strings; the translations might contain '%' which
15127 could cause a crash.
15128 (main): Likewise.
15129 * util/grub-fstest.c (argp_parser): Likewise.
15130 * util/grub-setup.c (argp_parser): Likewise.
15131 (main): Likewise.
15132
3286a4b4
VS
151332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 Use argp in grub-fstest.
15136
15137 * util/grub-fstest.c: Don't include getopt.h.
15138 Include argp.h.
15139 (root): New variable.
15140 (args_count): Likewise.
15141 (nparm): Likewise.
15142 (num_disks): Likewise.
15143 (images): Likewise.
15144 (cmd): Likewise.
15145 (debug_str): Likewise.
15146 (args): Likewise.
15147 (options): Transformed to argp.
15148 (usage): Removed.
15149 (main): Split argument parsing into ...
15150 (argp_parser): ... this. Changed to argp format.
15151 (argp): New variable.
15152 (main): Use argp_parse.
15153
3dccbe4b
TG
151542010-09-20 Tristan Gingold <gingold@free.fr>
151552010-09-20 Robert Millan <rmh.grub@aybabtu.com>
151562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15157
15158 * grub-core/commands/efi/lsefimmap.c: New file.
15159 * grub-core/Makefile.core.def (lsefimmap): New module.
15160 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15161
38c259a7
VS
151622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Pause the execution (10s max) if any errors are displayed so the user
15165 has a chance to see them.
15166
15167 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15168 (grub_print_error): Increment grub_err_printed_errors.
15169 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15170 execution if any errors were displayed.
15171 (show_menu): Remove old code for pause.
15172 * grub-core/normal/menu_entry.c (run): Likewise.
15173 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15174 users updated.
15175 (grub_normal_get_char_counter): Likewise.
15176 * include/grub/err.h (grub_err_printed_errors): New external variable.
15177 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15178
f218b09c
VS
151792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 Support multiboot VBE info.
15182
15183 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15184 Take VBE info into account.
15185 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15186 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15187 Call fill_vbe_info when appropriate.
15188 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15189 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15190 as supported.
15191 (grub_multiboot_get_mbi_size): Take new tags into account.
15192 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15193 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15194 Call fill_vbe_tag when appropriate.
15195 (grub_multiboot_make_mbi): Properly align tags.
15196 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15197 function.
15198 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15199 proto.
15200 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15201
a9cc5438
VS
152022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 Suport manual terminal geometry specification.
15205
15206 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15207 Save state in grub_ofconsole_terminfo_output.
15208 (grub_ofconsole_term): Use grub_terminfo_getwh.
15209 (grub_ofconsole_getwh): Removed.
15210 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15211 (grub_serial_term): Use grub_terminfo_getwh.
15212 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15213 (options): New struct.
15214 (OPTION_*): New enum.
15215 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15216 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15217 width and height.
15218 (grub_terminfo_getwh): New proto.
15219 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15220
1a8fed20
VS
152212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 Handle legacy "terminal" command.
15224
15225 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15226 and FLAG_TERMINAL.
15227 (legacy_commands): Add terminal and title.
15228 (grub_legacy_parse): Handle terminal. Simplify title handling.
15229
41e9c57d
VS
152302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15233 parameters overflow.
15234
61c874c5
CW
152352010-09-20 Colin Watson <cjwatson@ubuntu.com>
15236
15237 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15238 widthspec.h.
15239
15240 * docs/grub.texi (Shell-like scripting): Document `!'.
15241 (Network): Simplify using new i386-pc-pxe format. Mention
15242 grub-mknetdir.
15243
15244 * NEWS: Update.
15245
943682b4
CW
152462010-09-20 Colin Watson <cjwatson@ubuntu.com>
15247
15248 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15249 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15250 when needed.
15251
6d3d698d
CW
152522010-09-20 Colin Watson <cjwatson@ubuntu.com>
15253
15254 * grub-core/commands/efi/lsefisystab.c: Correct header.
15255 * grub-core/commands/efi/lssal.c: Likewise.
15256 * grub-core/commands/testload.c: Likewise.
15257
c982589f
CW
152582010-09-20 Colin Watson <cjwatson@ubuntu.com>
15259
15260 * util/grub-mkrescue.in: Add explicit root argument to --set to
15261 prevent the UUID being interpreted as an argument to --set (matches
15262 previous change to prepare_grub_to_access_device).
15263
a63c31b6
CW
152642010-09-20 Colin Watson <cjwatson@ubuntu.com>
15265
15266 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15267 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15268 the verbosity of later #ifs.
15269 (find_partition_start): Define this function on FreeBSD too.
15270 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15271 function.
15272 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15273 on FreeBSD.
15274
6439b8ee
YB
152752010-09-20 Yves Blusseau <blusseau@zetam.org>
15276
15277 * util/grub-editenv.c: Use argp instead of getopt.
15278
c5930ec8
YB
152792010-09-20 Yves Blusseau <blusseau@zetam.org>
15280
15281 * util/grub-setup.c: Use argp instead of getopt.
15282
15c69261
YB
152832010-09-20 Yves Blusseau <blusseau@zetam.org>
15284
15285 Use gnulib-tool to create gnulib source files.
15286
15287 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15288 grub-core/gnulib directories
15289 * .bzignore: Add **/.deps and autogenerated gnulib files
15290 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15291 of gnulib macros, add grub-core/gnulib/Makefile
15292 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15293 include m4 directory to aclocal.
15294 * Makefile.util.def: Remove direct compilation of gnulib source files
15295 and use the new grub-core/gnulib/libgnu.a.
15296 * build-aux/config.rpath: move config.rpath from top directory to
15297 build-aux
15298 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15299 in gnulib headers
15300 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15301 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15302 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15303 header.
15304 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15305 string.
15306
e511c9f5
YB
153072010-09-20 Yves Blusseau <blusseau@zetam.org>
15308
15309 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15310 grub-core/genmod.sh and grub-core/gensyminfo.sh
15311
c2dede05
BC
153122010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15313
15314 Add a test for echo command options.
15315
15316 * tests/grub_cmd_echo.in: New test.
15317 * Makefile.util.def: Rules for new test.
15318
c55f5018
SJ
153192010-09-20 Szymon Janc <szymon@janc.net.pl>
15320
15321 Remove crc.mod and move crc command to hashsum.mod.
15322 Remove lib/crc.c - users updated to use gcrypt implementation.
15323
15324 * grub-core/commands/crc.c: Removed.
15325 * grub-core/Makefile.core.def (crc): Module removed.
15326 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15327 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15328 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15329 * grub-core/lib/crc.c: Removed.
15330 * include/grub/lib/crc.h: Removed.
15331 * Makefile.util.def (crc): Remove lib/crc.c
15332 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15333 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15334 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15335 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15336 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15337 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15338
e0337366
VS
153392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15342
742f9232
VS
153432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Split config.h for util and core.
15346
15347 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15348 (ADDR32): Likewise.
15349 (DATA32): Likewise.
15350 (BSS_START_SYMBOL): Likewise.
15351 (END_SYMBOL): Likewise.
15352 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15353 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15354 * config.h.in: New file.
15355 * configure.ac: Use config-util.h as config define file.
15356 Rename MACHINE into GRUB_MACHINE. All users updated.
15357 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15358 updated.
15359 (NESTED_FUNC_ATTR): Likewise.
15360 Substitue new variables.
15361 (COND_HAVE_ASM_USCORE): New conditional.
15362 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15363 (kernel_syms.lst): Use ASM_PREFIX.
15364 * grub-core/kern/emu/console.c: Include config-util.h.
15365 * grub-core/kern/emu/misc.c: Likewise.
15366 * grub-core/kern/emu/mm.c: Likewise.
15367 * include/grub/emu/misc.h: Likewise.
15368 * include/grub/libgcc.h: Likewise.
15369
39feb0e8
VS
153702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15373 constants usage.
15374 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15375 Fix GRUB_TERM_KEY_* constants usage.
15376 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15377
9af6dac3
VS
153782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15381 print pointer.
15382 * grub-core/bus/usb/uhci.c: Remove empty define.
15383 (grub_uhci_check_transfer): Add missing cast.
15384 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15385 print pointer.
15386 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15387 PRIuGRUB_SIZE.
15388 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15389
d6d94820
VS
153902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/Makefile.core.def (legacycfg): Add
15393 lib/i386/pc/vesa_modes_table.c on emu.
15394
3572f2b6
BC
153952010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15396
15397 Reduce number of temporary files generated by build system.
15398
15399 * grub-core/gencmdlist.sh: Removed.
15400 * grub-core/genfslist.sh: Removed.
15401 * grub-core/genhandlerlist.sh: Removed.
15402 * grub-core/genmodsrc.sh: Removed.
15403 * grub-core/genpartmaplist.sh: Removed.
15404 * grub-core/genparttoollist.sh: Removed.
15405 * grub-core/gentermiinallist.sh: Removed.
15406 * grub-core/genvideolist.sh: Removed.
15407
15408 * grub-core/genmod.sh.in: New file.
15409 * grub-core/gensyminfo.sh.in: New file.
15410
15411 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15412 * conf/Makefile.extra-dist: Update with new files.
15413 * gentpl.py: Remove rules related to unnecessary temporary files.
15414 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15415 and und-* files.
15416 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15417 genmod.sh scripts.
15418 * grub-core/bus/usb/uhci.c: Remove empty #define.
15419 * grub-core/genmoddep.awk: Updated with new syminfo format.
15420 * util/bash-completion.d/Makefile.am: Add config.log to
15421 CLEANFILES.
15422
c836b030
YB
154232010-09-19 Yves Blusseau <blusseau@zetam.org>
15424
15425 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15426
2f4e8053
BC
154272010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15428
15429 * util/grub-mkconfig.in: Check the config script for syntax errors
15430 before saving.
15431
75831c34
CW
154322010-09-19 Colin Watson <cjwatson@ubuntu.com>
154332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15436 platforms.
15437 * util/grub-install.in: Add EFI and IEEE1275 support.
15438 * util/i386/efi/grub-install.in: Removed.
15439 * util/ieee1275/grub-install.in: Likewise.
15440
eaf41b25
VS
154412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15444 (grub_cmd_cmosclean): Likewise.
15445 (GRUB_MOD_INIT): Register command cmosclean.
15446 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15447 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15448
1a9130dd
CPE
154492010-09-18 Carles Pina i Estany <carles@pina.cat>
154502010-09-18 Aleš Nesrsta <starous@volny.cz>
154512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 Add keyboard layouts support.
15454
15455 * Makefile.util.def (grub-mklayout): New file.
15456 (grub-kbdcomp): New script.
15457 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15458 Add keyboard_layouts.h.
15459 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15460 commands/boot.c on yeeloong.
15461 (keylayouts): New module.
15462 * grub-core/bus/usb/ohci.c
15463 * grub-core/bus/usb/uhci.c
15464 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15465 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15466 (attach_root_port): Likewise.
15467 (poll_nonroot_hub): Likewise.
15468 (grub_usb_poll_devices): Likewise.
15469 (detach_device): Close transfer.
15470 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15471 function.
15472 (grub_usb_bulk_setup_readwrite): Likewise.
15473 (grub_usb_bulk_finish_readwrite): Likewise.
15474 * grub-core/commands/keylayouts.c: New file.
15475 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15476 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15477 aliases.
15478 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15479 support scancode 2.
15480 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15481 * include/grub/keyboard_layouts.h: New file.
15482 * util/grub-mklayout.c: New file.
15483 * util/grub-kbdcomp.in: Likewise.
15484
a1d84a5e
VS
154852010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 Unify memory types.
15488
15489 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15490 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15491 types.
15492 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15493 (grub_upper_mem): Likewise.
15494 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15495 * include/grub/memory.h (grub_memory_type_t): New enum.
15496 All users updated.
15497
9696382e
VS
154982010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/Makefile.core.def (lsapm): New module.
15501 * grub-core/commands/i386/pc/lsapm.c: New file.
15502 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15503 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15504 Likewise.
15505 * include/grub/i386/pc/apm.h: New file.
15506 * include/multiboot.h (multiboot_apm_info): New struct.
15507
155082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 GRUB-legacy configuration file support.
15511
15512 * Makefile.util.def (grub-menulst2cfg): New util.
15513 * docs/man/grub-menulst2cfg.h2m: New file.
15514 * grub-core/Makefile.core.def (legacycfg): New module.
15515 * grub-core/commands/legacycfg.c: New file.
15516 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15517 (grub_normal_add_menu_entry): ... this.
15518 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15519 (grub_normal_set_password): ...this.
15520 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15521 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15522 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15523 * grub-core/lib/legacy_parse.c: New file.
15524 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15525 * include/grub/i386/pc/vesa_modes_table.h: New file.
15526 * include/grub/legacy_parse.h: Likewise.
15527 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15528 * util/grub-menulst2cfg.c: New file.
15529
bf8d1338
CW
155302010-09-17 Colin Watson <cjwatson@ubuntu.com>
15531
15532 * grub-core/kern/emu/hostdisk.c
15533 (convert_system_partition_to_system_disk): Initialise node.
15534
9c0bad2e
CW
155352010-09-17 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * grub-core/kern/emu/hostdisk.c
15538 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15539 leak.
15540 Reported and based on patch by: Modestas Vainius.
15541
a939d135
CW
155422010-09-17 Colin Watson <cjwatson@ubuntu.com>
15543
15544 Fix DM-RAID probing with recent versions of device-mapper udev
15545 rules.
15546
15547 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15548 canonicalise device paths under /dev/mapper/.
15549 (convert_system_partition_to_system_disk): Compare the
15550 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15551 path, since device nodes under /dev/mapper/ are often symlinks.
15552
0f7ee3c9
YB
155532010-09-17 Yves Blusseau <blusseau@zetam.org>
15554
15555 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15556
10854d0d
YB
155572010-09-16 Yves Blusseau <blusseau@zetam.org>
15558
15559 * configure.ac: Avoid some annoying error messages if freetype-config
15560 program is not found.
15561
108538d8
CW
155622010-09-16 Colin Watson <cjwatson@ubuntu.com>
15563
15564 Support RAID on virtio devices, and others.
15565
15566 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15567 Rename to ...
15568 [__MINGW32__] (grub_find_device): ... this.
15569 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15570 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15571 reasonable default if dir is NULL.
15572 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15573 ...
15574 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15575 (grub_guess_root_device): Update callers.
15576 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15577
15578 * util/raid.c (grub_util_getdiskname): Remove.
15579 (grub_util_raid_getmembers): Use grub_find_device rather than
15580 grub_util_getdiskname.
15581
e5bfc130
CW
155822010-09-16 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15585 needing to be compiled with serial support.
15586 (ls): Indicate that multiple files are accepted.
15587 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15588 indicate that multiple files are accepted.
15589
be458ae2
CW
155902010-09-16 Colin Watson <cjwatson@ubuntu.com>
15591
15592 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15593 libgrub_a_init.c, and util/bash-completion.d/grub.
15594
cb731b5e
VS
155952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * util/grub-setup.c (setup): Fix incorrect container semantics.
15598
35139e8a
VS
155992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15602 misusage.
15603 Reported by: J. Nick Terry
15604
e50fca4a
VS
156052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 Move embedding routines to partmap sources files.
15608
15609 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15610 [GRUB_UTIL]: New variable.
15611 (gpt_partition_map_iterate): Set part.parent.
15612 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15613 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15614 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15615 New function.
15616 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15617 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15618 (grub_partition_map) [GRUB_UTIL]: New field embed.
15619 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15620 (setup): Use ->embed.
15621
f00478b7
VS
156222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15625 function.
15626 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15627 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15628
2b94e3ff
YB
156292010-09-15 Yves Blusseau <blusseau@zetam.org>
15630
15631 Add function to get completions from usage.
15632
15633 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15634 completions from usage. Use LC_ALL=C to get options properly.
15635
2e04a006
VS
156362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/gnulib/basename-lgpl.c: Imported.
15639 * grub-core/gnulib/basename.c: Likewise.
15640 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15641 * grub-core/gnulib/dirname.c: Likewise.
15642 * grub-core/gnulib/dirname.h: Likewise.
15643 * grub-core/gnulib/stripslash.c: Likewise.
15644
5dcdf93a
VS
156452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/gnulib/error.c: Resynced.
15648 * grub-core/gnulib/getopt.c: Likewise.
15649 * grub-core/gnulib/getopt_int.h: Likewise.
15650 * grub-core/gnulib/regex.h: Likewise.
15651 * grub-core/gnulib/regex_internal.c: Likewise.
15652 * grub-core/gnulib/regex_internal.h: Likewise.
15653
014f47b7
SJ
156542010-09-15 Szymon Janc <szymon@janc.net.pl>
15655
15656 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15657 CRC calculations and validity checks.
15658 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15659 calculations.
15660
dd521a4a
SJ
156612010-09-15 Szymon Janc <szymon@janc.net.pl>
15662
15663 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15664
79c4eeb9
VS
156652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Fix incorrect echo options handling.
15668 Reported by: Yves Blusseau.
15669
15670 * include/grub/command.h (grub_command_flags_t): New flags
15671 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15672 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15673 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15674
ed80f7d5
VS
156752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15678 users updated.
15679 (GRUB_COMMAND_FLAG_MENU): Likewise.
15680 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15681 (GRUB_COMMAND_FLAG_TITLE): Removed.
15682 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15683 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15684 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15685 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15686 (grub_command_flags_t): New enum. All users updated.
15687
5fe7620a
SG
156882010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15689
15690 Fix solaris compilation.
15691
15692 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15693 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15694 (grub-emu-list): Likewise.
15695
545b752f
VS
156962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Remove deprecated root command.
15699
15700 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15701 updated.
15702
6c1a338c
VS
157032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * util/i386/pc/grub-setup.c: Merge this ...
15706 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15707 * util/grub-setup.c: ... into this.
15708 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15709 New struct.
15710
157112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15714 possible.
15715
d2ea4551
VS
157162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15719 allocate p.
15720
3c3b5040
VS
157212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15724 explicit root argument to set to prevent UUID to be interpreted as
15725 argument to set.
15726
b71c3fae
VS
157272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15730
275433e6
VS
157312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 Don't export grub_gate_a20.
15734
15735 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15736 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15737 to ...
15738 (grub_gate_a20): ... this. All users updated.
15739 * include/grub/i386/pc/init.h: Removed. All users updated.
15740
a5dbb1f1
VS
157412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 Create euro.pf2 which supports most European languages.
15744
15745 * Makefile.am (grubdata_DATA): Add euro.pf2.
15746 (euro.pf2): New target.
15747 (CLEANFILES): Add euro.pf2.
15748
62a747cb
VS
157492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * configure.ac: Disable emu-usb by default to prevent inadvertent
15752 device takeover.
15753
608e43b1
VS
157542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Disable usbserial on grub-emu since our libusb code isn't good enough
15757 yet.
15758
15759 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15760 (usbserial_pl2303): Likewise.
15761 (usbserial_ftdi): Likewise.
15762
94564f81
VS
157632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * include/grub/disk.h (grub_disk): Remove has_partitions.
15766 All users updated.
15767 * disk/loopback.c (grub_loopback): Remove has_partitions.
15768 All users updated.
15769 (options): Remove partitions. All users updated.
15770 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15771 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15772 actual partition table is found.
15773
3352800b
VS
157742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 Remove readability checks (too many false negatives).
15777
15778 * util/grub-install.in: Remove readability checks.
15779 * util/grub-mkconfig.in: Likewise.
15780 * util/grub.d/10_hurd.in: Likewise.
15781 * util/grub.d/10_kfreebsd.in: Likewise.
15782 * util/grub.d/10_linux.in: Likewise.
15783 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15784 way.
15785
2419f17a
VS
157862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 Enable acpi shutdown on all ACPI platforms.
15789
15790 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15791 on coreboo, multiboot and EFI.
15792 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15793 (grub_acpi_halt): Likewise.
15794 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15795 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15796 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15797 * grub-core/lib/i386/halt.c (grub_halt)
15798 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15799
0575c7c3
VS
158002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15803 context.
15804
54ac3cd1
VS
158052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15808 * grub-core/video/efi_uga.c: Likewise.
15809
b2a30ac5
VS
158102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 Filter devaliases and never open same device twice.
15813
15814 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15815 (last_ihandle): Likewise.
15816 (ofdisk_hash_ent): New member shortest.
15817 (ofdisk_hash_add): Add canonical path too.
15818 (scan): New function.
15819 (grub_ofdisk_iterate): Iterate over hashed entries.
15820 (compute_dev_path): Don't add :0.
15821 (grub_ofdisk_open): Don't really open the disk.
15822 (grub_ofdisk_close): Avoid closing unrelated disk.
15823 (grub_ofdisk_read): Implement reopen logic.
15824 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15825 New function.
15826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15827 New proto.
15828
fb53b340
VS
158292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 Fix sparc64.
15832
15833 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15834 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15835 right address. Add sparc64_ieee1275_ldflags.
15836 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15837 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15838 to grub_host_to_target_addr
15839 (load_image): Likewise.
15840
f452b040
VS
158412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * grub-core/normal/completion.c (complete_file): Handle device
15844 containing slash.
15845 Fix based on patch by Doug Nazar.
15846
9b5b2541
VS
158472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 grub-mknetdir script.
15850
15851 * Makefile.util.def (grub-mknetdir): New module.
15852 * tests/util/grub-shell.in: Support boot=net
15853 * util/grub-mknetdir.in: New file.
15854
9d2be652
VS
158552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 videoinfo on non-vbe.
15858
15859 * grub-core/Makefile.core.def (vbeinfo): Removed.
15860 (vbetest): Removed.
15861 (videoinfo): New module.
15862 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15863 * grub-core/commands/i386/pc/vbetest.c: Removed.
15864 * grub-core/commands/videoinfo.c: New file.
15865 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15866 specification.
15867 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15868 as vbetest.
15869 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15870 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15871 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15872 mode_number. New parameter mode. All users updated.
15873 (grub_video_gop_iterate): New function.
15874 (grub_video_efi_gop): New member iterate.
15875 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15876 (grub_vbe_set_video_mode): Remove setting useless fields.
15877 (vbe2videoinfo): New function.
15878 (grub_video_vbe_iterate): Likewise.
15879 (grub_video_vbe_setup): Use vbe2videoinfo.
15880 (grub_video_vbe_print_adapter_specific_info): New function.
15881 (grub_video_vbe_adapter): New fields iterate and
15882 print_adapter_specific_info.
15883 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15884 All users updated.
15885 (grub_video_mode_info): New field mode_number.
15886 (grub_video_adapter): New fields iterate and
15887 print_adapter_specific_info.
15888
179503f5
TG
158892010-09-13 Tristan Gingold <gingold@free.fr>
158902010-09-13 Robert Millan <rmh.grub@aybabtu.com>
158912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/commands/efi/lsefisystab.c: New file.
15894 * grub-core/commands/efi/lssal.c: Likewise.
15895 * grub-core/Makefile.core.def (lsacpi): New module.
15896 (lsefisystab): Likewise.
15897 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15898 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15899 (grub_efi_sal_system_table): New struct.
15900 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15901 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15902 (grub_efi_sal_system_table_platform_features): Likewise.
15903 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15904 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15905 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15906 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15907
cf9827de
VS
159082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 Support explicit user claim that a device is BIOS-visible.
15911
15912 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15913 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15914 * grub-core/kern/emu/hostdisk.c
15915 (convert_system_partition_to_system_disk): Support mdX.
15916 (find_system_device): New parameter add. All users updated.
15917 (grub_util_biosdisk_is_present): New function.
15918 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15919 proto.
15920
53f0eb1f
VS
159212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 Search hints support.
15924
15925 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15926 All users updated.
15927
b23ffd70
YB
159282010-09-13 Yves Blusseau <blusseau@zetam.org>
15929
15930 Bash completion script for util commands
15931
15932 * Makefile.am: Add util/bash-completion.d directory
15933 * configure.ac: Likewise.
15934 * util/bash-completion.d/Makefile.am: New file.
15935 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15936
d547dc28
VS
159372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15940 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15941 Reported by: Yves Blusseau.
15942
2fc8ccb9
VS
159432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15946 partition size and offset.
15947
d8a84076
VS
159482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15951
84fb3b3d
VS
159522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15955
768ec2e2
VS
159562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15959 (grub_xvasprintf): Likewise.
15960
4870900f
VS
159612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15964
faca6bec
VS
159652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15966
15967 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15968 args ending with NULL.
15969
159702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15971
15972 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15973 pointer.
15974
3c70f225
SJ
159752010-09-11 Szymon Janc <szymon@janc.net.pl>
15976
15977 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15978
4df7996d
VS
159792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 Shutdown using ACPI.
15982
15983 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15984 * grub-core/commands/acpihalt.c: New file.
15985 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15986 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15987 (grub_acpi_halt): New proto.
15988 (GRUB_ACPI_SLP_EN): New const.
15989 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15990 (GRUB_ACPI_OPCODE_*): New enum.
15991 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15992
126b4c32
TG
159932010-09-11 Tristan Gingold <gingold@free.fr>
159942010-09-11 Robert Millan <rmh.grub@aybabtu.com>
159952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * commands/lsacpi.c: New file.
15998 * grub-core/Makefile.core.def (lsacpi): New module.
15999 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16000 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16001 (grub_acpi_madt_entry_header): New struct.
16002 (grub_acpi_madt): Likewise.
16003 (grub_acpi_madt_entry_interrupt_override): Likewise.
16004 (grub_acpi_madt_entry_sapic): Likewise.
16005 (grub_acpi_madt_entry_lsapic): Likewise.
16006 (grub_acpi_madt_entry_platform_int_source): Likewise.
16007 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16008 (PRIuGRUB_UINT32_T): Likewise.
16009 (PRIxGRUB_UINT64_T): Likewise.
16010
1aa4fe88
VS
160112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 Implement loading palette on ieee1275_fb.
16014
16015 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16016 (have_setcolors): Likewise.
16017 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16018 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16019 (grub_video_ieee1275_set_palette): Implement.
16020
25761e13
VS
160212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
160222010-09-11 Colin Watson <cjwatson@ubuntu.com>
16023
16024 * util/grub-install.in (grub_partition): New variable.
16025 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16026 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16027 Fixes a bug reported by Yves Blusseau.
16028
050abaea
VS
160292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 Fix emu on mipsel.
16032
16033 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16034 =grub_cpu_flush_cache on all mips and not only yeeloong.
16035 * configure.ac (COND_mips): New conditional.
16036 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16037 platforms.
16038 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16039 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16040 [GRUB_LINKER_HAVE_INIT]: New function.
16041 (grub_emu_post_init): Likewise.
16042 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16043 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16044 * include/grub/cache.h (_mips): Include mips/cache.h.
16045 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16046 LVM and RAID prototypes.
16047 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16048 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16049 function.
16050
5ed7d816
CW
160512010-09-10 Colin Watson <cjwatson@ubuntu.com>
16052
16053 * util/grub-install.in: Don't try to verify core.img until after
16054 running grub-mkimage to create it.
16055
90367e04
RM
160562010-09-10 Robert Millan <rmh@gnu.org>
16057
16058 * util/grub.d/10_hurd.in: Add misc readability checks.
16059 * util/grub.d/10_kfreebsd.in: Likewise.
16060 * util/grub.d/10_linux.in: Likewise.
16061
c452fa66
CW
160622010-09-10 Colin Watson <cjwatson@ubuntu.com>
16063
16064 * util/grub-install.in: ${imgext} won't be defined here until the
16065 install branch is merged. For the meantime, only verify core.img on
16066 i386-pc and sparc64-ieee1275 platforms.
16067
c38fe9f4
RM
160682010-09-10 Robert Millan <rmh@gnu.org>
16069
16070 Solaris support in grub_find_zpool_from_dir(). Thanks
16071 Seth Goldberg for referring to getextmntent() facility.
16072
16073 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16074 `sys/mkdev.h'.
16075 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16076 `<sys/mnttab.h>'.
16077 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16078 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16079 method for finding zpool name.
16080
905f7773
CW
160812010-09-10 Colin Watson <cjwatson@ubuntu.com>
16082
16083 grub-fstest needs the host and hostfs modules while other utilities
16084 actively require those modules to be absent, so grub-fstest needs
16085 its own initialisation and finalisation code.
16086
16087 * Makefile.am (grub_fstest.pp): New target.
16088 (grub_fstest_init.lst): Likewise.
16089 (grub_fstest_init.c): Likewise.
16090 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16091
fb90b546
RM
160922010-09-10 Robert Millan <rmh@gnu.org>
16093
16094 * configure.ac: Check for `struct statfs.f_fstypename' and
16095 `struct statfs.f_mntfromname'.
16096
16097 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16098 kFreeBSD-specific code.
16099
66d4bea5
RM
161002010-09-10 Robert Millan <rmh@gnu.org>
16101
16102 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16103 on ZFS. Now non-main filesystems are supported as / too.
16104
b6a690ee
CW
161052010-09-09 Colin Watson <cjwatson@ubuntu.com>
16106
16107 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16108 and grub-core/disk/host.c to ...
16109 (grub-fstest): ... here. Having the host disk implementation
16110 present confuses grub-probe and other utility programs.
16111
16112 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16113 when writing to a file, not when writing to stdout.
16114
8901b00c 161152010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16116
16117 * tests/partmap_test.in: New test for partitions.
16118 * Makefile.util.def: Rules for new test.
16119
7bf45fdd
RM
161202010-09-09 Robert Millan <rmh@gnu.org>
16121
16122 * util/grub-probe.c (probe): Fix a pair of unhandled error
16123 conditions.
16124
4dfbc574
RM
161252010-09-09 Robert Millan <rmh@gnu.org>
16126
16127 Basic Btrfs support (detection and UUID).
16128
16129 * grub-core/fs/btrfs.c: New file.
16130 * Makefile.util.def (library): Register btrfs.c.
16131 * grub-core/Makefile.core.def: Likewise.
16132
6b8e78ae
RM
161332010-09-08 Robert Millan <rmh@gnu.org>
16134
16135 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16136 with (optional) parameters to specify device and relative path.
16137 * util/grub-install.in: Use is_path_readable_by_grub() to
16138 verify readability of a few critical files.
16139 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16140 verify readability of grub.cfg.new.
16141
27f21a8b
VS
161422010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 Split minix.mod into minix.mod and minix2.mod.
16145
16146 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16147 * grub-core/Makefile.core.def (minix2): New module.
16148 * grub-core/fs/minix.c: Use definitions instead of runtime version
16149 checking.
16150 * grub-core/fs/minix2.c: New file.
16151
c0e53ea5
YB
161522010-09-08 Yves Blusseau <blusseau@zetam.org>
16153
16154 Add new --boot-directory option to replace --root-directory
16155
16156 * util/grub-install.in: Add new --boot-directory option
16157 * util/grub-reboot.in: Likewise.
16158 * util/grub-set-default.in: Likewise.
16159
b9fe6ea2
YB
161602010-09-08 Yves Blusseau <blusseau@zetam.org>
16161
16162 * util/grub-mkconfig.in: Use new variable.
16163
d87aedff
YB
161642010-09-08 Yves Blusseau <blusseau@zetam.org>
16165
16166 * configure.ac: Define some useful variables.
16167
e55e8495
VS
161682010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16171 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16172 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16173 Use terminfo and don't use cursor-on/cursor-off unless it's known
16174 to work.
16175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16176 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16177
6fa6d675
CW
161782010-09-08 Colin Watson <cjwatson@ubuntu.com>
16179
16180 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16181 starts with "(,", fill the drive containing the loaded image in
16182 between those two characters, but expect that a full partition
16183 specification including partition map names will follow.
16184
92f2aef0
RM
161852010-09-08 Robert Millan <rmh@gnu.org>
16186
16187 * configure.ac: Remove `--enable-grub-fstest' option.
16188 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16189
16190 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16191 `grub-fstest' instead of `grub-probe' for readability verification.
16192 * util/grub-probe.c (probe): Remove readability verification kludge.
16193
99fd620d
RM
161942010-09-08 Robert Millan <rmh@gnu.org>
16195
16196 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16197 initializing `GRUB_FS'.
16198
058e30ac 161992010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16200
16201 Not command (!) support to GRUB script.
16202
16203 * tests/grub_script_not.in: New test.
16204 * Makefile.util.def: Rules for new test.
16205
16206 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16207 ! command as a special case.
16208 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16209
b61d05ed 162102010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16211
058e30ac 16212 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16213 grub_free.
b61d05ed 16214
4d69c786 162152010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16216
16217 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16218
aa3119c4 162192010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16220
16221 * docs/grub.texi (Shell-like scripting): Documentation for break,
16222 continue, shift and return commands.
16223
db0f7e3d
VS
162242010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 Rename CD-ROM to cd on BIOS.
16227
16228 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16229 "cd".
16230 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16231
88b87c93
VS
162322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16235 * util/grub-probe.c (main): Likewise.
16236 * util/i386/pc/grub-setup.c (main): Likewise.
16237 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16238 Reported and debugged by: alexxy
16239
294f324d
VS
162402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16243 diagnostic info.
16244
d7ee3441
JS
162452010-09-05 Jo Shields <directhex@apebox.org>
16246
16247 * util/grub.d/30_os-prober.in: Add missing classes.
16248
d7e06c1f
VS
162492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * docs/grub.texi (Theme file format): Document new position format.
16252
fc157e53
VS
162532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16256 a table. Use @code instead of @verbatim.
16257
506e9a1c
CB
162582010-09-05 Colin D Bennett <colin@gibibit.com>
16259
16260 Gfxmenu documentation.
16261
16262 * docs/grub.texi (Theme file format): New chapter.
16263
f0aff67c
SJ
162642010-09-05 Szymon Janc <szymon@janc.net.pl>
16265
16266 * grub-core/Makefile.core.def (xzio): New module.
16267 * grub-core/io/xzio.c: New file.
16268 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16269 * grub-core/lib/xzembed/xz_config.h: Likewise.
16270 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16271 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16272 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16273 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16274 * grub-core/lib/xzembed/xz_private.h: Likewise.
16275 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16276 * include/grub/file.h (grub_file_filter_id): New compression filter
16277 GRUB_FILE_FILTER_XZIO.
16278
82a85062
VS
162792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16282 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16283 size.
16284
3579415d
VS
162852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16288 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16289
5124ae6d
VS
162902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 Uncompressed checksum support.
16293
16294 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16295 (check_list): New parameter uncompress.
16296 (grub_cmd_hashsum): Handle --uncompress.
16297
9aadb3d1
VS
162982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 Reintroduce testload.
16301
16302 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16303 from here ...
16304 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16305 (GRUB_MOD_INIT): New function.
16306 (GRUB_MOD_FINI): Likewise.
16307 * grub-core/Makefile.core.def (testload): New module.
16308
a17792c3
SJ
163092010-09-05 Szymon Janc <szymon@janc.net.pl>
16310
16311 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16312 (uint8_t): New type.
16313 (uint16_t): Likewise.
16314 (uint32_t): Likewise.
16315 (uint64_t): Likewise.
16316
b81e40a3
SJ
163172010-09-05 Szymon Janc <szymon@janc.net.pl>
16318
16319 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16320
fc2ef117
VS
163212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16324 Made static.
16325 (grub_gzfile_open): Removed. All users updated.
16326 (GRUB_MOD_INIT): New function.
16327 (GRUB_MOD_FINI): Likewise.
16328 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16329 (grub_file_filters_enabled): Likewise.
16330 (grub_file_open): Handle filters.
16331 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16332 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16333 * include/grub/file.h (grub_file_filter_id_t): New type.
16334 (grub_file_filter_t): Likewise.
16335 (grub_file_filters_all): New extern variable.
16336 (grub_file_filters_enabled): Likewise.
16337 (grub_file_filter_register): New inline function.
16338 (grub_file_filter_unregister): Likewise.
16339 (grub_file_filter_disable): Likewise.
16340 (grub_file_filter_disable_compression): Likewise.
16341 * include/grub/gzio.h: Removed.
16342
35ee15e0
BC
163432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16344
16345 Filename expansion support for wildcards in GRUB script.
16346
16347 * tests/grub_script_expansion.in: New test.
16348 * Makefile.util.def: Rule for new test.
16349
16350 * grub-core/commands/wildcard.c: New file, implements filename
16351 expansion support for GRUB script.
16352 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16353 * grub-core/script/argv.c: Cosmetic changes.
16354 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16355 Refactored to perform wildcard expansion on arguments.
16356 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16357 struct.
16358
16359 * tests/util/grub-shell.in: Fix quoting for read input.
16360
5f0c4aca
BC
163612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16362
16363 Support for updating environment variables with matched substrings
16364 of regexp.
16365
16366 * tests/grub_cmd_regexp.in: New test.
16367 * Makefile.util.def: Rule for new test.
16368
16369 * grub-core/commands/regexp.c: New option -s to update environment
16370 variables with regexp matches.
16371
3759a35f
SJ
163722010-09-04 Szymon Janc <szymon@janc.net.pl>
16373
16374 * include/grub/file.h (grub_file): New member not_easly_seekable.
16375 (grub_file_seekable): New inline function.
16376 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16377 easily seekable.
16378 (grub_gzio_open): Set not_easly_seekable.
16379 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16380 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16381
ed8c6dec
BC
163822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16383
16384 Support for options to appear multiple times on cmdline.
16385
16386 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16387 * grub-core/commands/extcmd.c: Support for repeatable option.
16388 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16389 repeatable option support.
16390
16391 Refactor menuentry into a regular command.
16392
16393 * grub-core/commands/menuentry.c: New file, menuentry command
16394 implementation.
16395 * grub-core/Makefile.core.def: Rule update for normal.mod.
16396 * grub-core/normal/main.c: Moved menuentry creation to
16397 grub-core/commands/menuentry.c.
16398 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16399 (grub_menu_execute_entry_real): Removed.
16400 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16401 function.
16402 (grub_script_execute_menuentry): Removed.
16403 * grub-core/script/parser.y (menuentry): Removed.
16404 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16405 * grub-core/script/yylex.l (menuentry): Removed.
16406 * include/grub/menu.h (grub_menu_init): New prototype.
16407 (grub_menu_fini): New prototype.
16408 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16409 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16410 (grub_script_execute_sourcecode): New prototype.
16411
dacd0cf0
BC
164122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16413
16414 "return" command for GRUB script functions.
16415
16416 * tests/grub_script_return.in: New test.
16417 * Makefile.util.def: Rules for new test.
16418
16419 * grub-core/script/execute.c (grub_script_return): New function.
16420 * grub-core/script/main.c: Register/unregister return commaond.
16421 * include/grub/script_sh.h (grub_script_return): New prototype.
16422
52e72f9d
BC
164232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16424
16425 "setparams" command to update positional parameters.
16426
16427 * tests/grub_script_setparams.in: New test.
16428 * Makefile.util.def: Rules for new test.
16429
16430 * grub-core/script/argv.c (grub_script_argv_make): New function.
16431 * grub-core/script/execute.c (replace_scope): New function.
16432 (grub_script_setparams): New function.
16433 * grub-core/script/lexer.c: Remove unused variables.
16434 * grub-core/script/main.c: Register/unregister setparams command.
16435 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16436 (grub_script_setparams): New prototype.
16437
25b60c91
BC
164382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16439
16440 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16441 grub_free order.
16442
37e7bf68
BC
164432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16444
16445 Support for passing block of commands as an argument to extcmds.
16446
16447 * Makefile.util.def: Rules for new test.
16448 * tests/grub_script_blockarg.in: New test.
16449 * grub-core/tests/test_blockarg.c: New file, block argument
16450 command used in the test.
16451
16452 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16453 (grub_register_extcmd_prio): New function prototype.
16454 (grub_extcmd_dispatcher): New function prototype.
16455 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16456 type.
16457 * include/grub/script_sh.h (struct grub_script): New members
16458 `children', `next_siblings' and `refcnt' for block arguments and
16459 reference counting.
16460 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16461 (grub_script_arg): New member `script' for block argument.
16462 (grub_script_argv): New member `script' for block argument.
16463 (grub_parser_param): New member `scripts' for block argument.
16464 (grub_script_mem_free): New extern function prototype.
16465 (grub_script_ref): New function prototype.
16466 (grub_script_unref): New function prototype.
16467
16468 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16469 extcmd form to support block arguments.
16470 * grub-core/script/argv.c: Block arguments support.
16471 * grub-core/script/execute.c: Likewise.
16472 * grub-core/script/lexer.c: Likewise.
16473 * grub-core/script/main.c: Likewise.
16474 * grub-core/script/script.c: Likewise.
16475 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16476 non-terminals.
16477
16478 * grub-core/commands/acpi.c: Update extcmd implementations with
16479 grub_extcmd_context_t.
16480 * grub-core/commands/cat.c: Likewise.
16481 * grub-core/commands/echo.c: Likewise.
16482 * grub-core/commands/extcmd.c: Likewise.
16483 * grub-core/commands/hashsum.c: Likewise.
16484 * grub-core/commands/hdparm.c: Likewise.
16485 * grub-core/commands/help.c: Likewise.
16486 * grub-core/commands/hexdump.c: Likewise.
16487 * grub-core/commands/i386/cpuid.c: Likewise.
16488 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16489 * grub-core/commands/i386/pc/halt.c: Likewise.
16490 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16491 * grub-core/commands/iorw.c: Likewise.
16492 * grub-core/commands/keystatus.c: Likewise.
16493 * grub-core/commands/loadenv.c: Likewise.
16494 * grub-core/commands/ls.c: Likewise.
16495 * grub-core/commands/lspci.c: Likewise.
16496 * grub-core/commands/memrw.c: Likewise.
16497 * grub-core/commands/probe.c: Likewise.
16498 * grub-core/commands/search_wrap.c: Likewise.
16499 * grub-core/commands/setpci.c: Likewise.
16500 * grub-core/commands/sleep.c: Likewise.
16501 * grub-core/disk/loopback.c: Likewise.
16502 * grub-core/hello/hello.c: Likewise.
16503 * grub-core/loader/i386/bsd.c: Likewise.
16504 * grub-core/loader/xnu.c: Likewise.
16505 * grub-core/term/gfxterm.c: Likewise.
16506 * grub-core/term/serial.c: Likewise.
16507 * grub-core/tests/lib/functional_test.c: Likewise.
16508
888d1500
BC
165092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16510
16511 Multi-line quoted strings support.
16512
16513 * grub-core/script/lexer.c (append_newline): Removed.
16514 (grub_script_lexer_yywrap): Refactored.
16515 (grub_script_lexer_init): Refactored.
16516 * grub-core/script/yylex.l (yywrap): New function.
16517 (grub_lexer_resplit): New function.
16518 (grub_lexer_unput): New function.
16519 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16520 and resplit.
16521 * tests/grub_script_echo1.in: Added few more testcases.
16522
dda060dd
VS
165232010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * grub-core/kern/misc.c: Don't add abort alias in utils.
16526 Reported by: echoline.
16527
6556eba9
BC
165282010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16529
16530 Add missing files into "make dist" tarball for other platforms.
16531
16532 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16533 * conf/Makefile.common (dist_noinst_DATA): New variable.
16534 * conf/Makefile.extra-dist: Added missing make dist files.
16535 * grub-core/Makefile.core.def: Likewise.
16536
c8e7bf5f
VS
165372010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Compress grub_prefix.
16540
16541 * grub-core/boot/i386/pc/lnxboot.S: Use
16542 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16543 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16544 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16545 GRUB_MACHINE_PREFIX_END. All users updated.
16546 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16547 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16548 + 0x40.
16549 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16550 * util/grub-mkimage.c (image_target_desc): Change data_end to
16551 prefix_end. All users updated.
16552
a7c00cdb
VS
165532010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16556 value.
16557 (grub_openbsd_boot): Likewise.
16558 (grub_netbsd_boot): Likewise.
16559 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16560 (grub_xnu_boot): Likewise.
16561
9f915872
VS
165622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * configure.ac: Clean LIBS variable after tests.
16565
efa1bee7
CW
165662010-09-02 Colin Watson <cjwatson@ubuntu.com>
16567
16568 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16569
61d720e5
VS
165702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16573 echo if libdevmapper will be used.
16574
ef8e0ec8
IT
165752010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16576
16577 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16578 constant for the same file.
16579
03e261d8
VS
165802010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16583
c2a4eba6
CW
165842010-09-02 Colin Watson <cjwatson@ubuntu.com>
16585
16586 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16587 grub-core/*.pp.
16588
9056cbf3
CW
165892010-09-02 Colin Watson <cjwatson@ubuntu.com>
16590
16591 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16592 required by the boot protocol.
16593
16594 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16595 ebp and edi members.
16596 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16597 state.ebp and state.edi.
16598 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16599 %ebp and %edi according to grub_relocator32_ebp and
16600 grub_relocator32_edi respectively.
16601 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16602 and state.edi.
16603
529cc99a
VS
166042010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 Add i386-pc-pxe image target.
16607
16608 * util/grub-mkimage.c (image_target_desc): New enum value
16609 IMAGE_I386_PC_PXE.
16610 (image_targets): New target i386-pc-pxe.
16611 (generate_image): Handle i386-pc-pxe image.
16612
9a093920
VS
166132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 Fix grub_pxe_scan.
16616
16617 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16618 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16619 All users updated.
16620 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16621 (grub_pxe_pxenv): Correct type.
16622
f9cefc4e
CW
166232010-09-01 Colin Watson <cjwatson@ubuntu.com>
16624
16625 * NEWS: Document most of the important changes since 1.98.
16626
4066f57f
CW
166272010-09-01 Colin Watson <cjwatson@ubuntu.com>
16628
16629 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16630 generated manual page) a little.
16631
da2891f9
CW
166322010-09-01 Colin Watson <cjwatson@ubuntu.com>
16633
16634 * docs/grub.texi: Add myself as an author.
16635
ad717fae
VS
166362010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * Makefile.util.def (libgrub.a): Add missing sunpc.
16639 Reported by: Seth Goldberg.
16640
eefe8abd
VS
166412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Interrupt wrapping and code simplifications.
16644
9494ef9a
VS
16645 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16646 x86_noieee1275 which are functionaly equivalent in this case.
16647 (grub-install): Make source on each platform explicit. Enable on
16648 all noemu.
16649 * gentpl.py (x86_efi_pc): Removed group.
16650 (x86_noefi): Likewise.
16651 (i386_noefi): Likewise.
16652 (x86_noieee1275): Likewise.
16653 (i386_noieee1275): Likewise.
16654 (i386_noefi_noieee1275): Likewise.
16655 (i386_pc_qemu_coreboot): Likewise.
16656 (i386_coreboot_multiboot): Likewise.
16657 (i386_pc_coreboot_multiboot_qemu): Likewise.
16658 (x86_noefi_mips): Likewise.
16659 (noieee1275): Likewise.
16660 (ieee1275_mips): Likewise.
16661 (noemu_noieee1275): Likewise.
16662 (cmos): New group.
16663 (usb): Likewise.
16664 (videoinkernel): Likewise.
16665 (videomodules): Likewise.
eefe8abd 16666 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16667 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16668 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16669 include/grub/loader.h, include/grub/msdos_partition.h,
16670 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16671 include/grub/machine/console.h, include/grub/machine/vga.h,
16672 include/grub/machine/vbe.h, include/grub/machine/init.h,
16673 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16674 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16675 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16676 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16677 * grub-core/Makefile.core.def (kernel): Explicit the source for
16678 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16679 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16680 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16681 Use videoinkernel tag.
16682 (usb): Enable on all usb.
16683 (usbserial_common): Likewise.
16684 (usbserial_pl2303): Likewise.
16685 (usbserial_ftdi): Likewise.
16686 (uhci): Enable on all x86.
16687 (ohci): Enable on all pci.
16688 (cmostest): Enable on all CMOS.
16689 (acpi): Include commands/acpi.c on all platforms.
16690 (halt): Add relevant lib/*/halt.c.
16691 (hdparm): Enable on all pci.
16692 (lspci): Likewise.
16693 (usbtest): Enable on all usb.
16694 (ata): Enable on all pci.
16695 (ata_pthru): Likewise.
16696 (usbms): Enable on all usb.
16697 (usb_keyboard): Likewise.
16698 (font): Use tag videomodules.
16699 (bufio): Likewise.
16700 (datetime): Use tag cmos. Enable on all noemu.
16701 (mmap): Use tags common and x86.
16702 (gfxterm): Use tag videomodules.
16703 (bitmap): Likewise.
16704 (bitmap_scale): Likewise.
16705 (video_fb): Likewise.
16706 (video): Likewise.
16707 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16708 adjust padding accordingly. All users updated.
16709 (grub_ohci_transaction): Fix bad format specification.
16710 (GRUB_MOD_INIT): Add asserts for struct size.
16711 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16712 (grub_alloc_td): Likewise.
16713 (grub_free_queue): Likewise.
16714 (grub_uhci_transfer): Likewise.
16715 (grub_uhci_transaction): Fix bad format specification.
16716 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16717 (grub_usb_bulk_readwrite): Likewise.
16718 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16719 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16720 Made static.
16721 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16722 Made static.
16723 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16724 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16725 Transformed into C.
16726 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16727 Moved from here ...
16728 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16729 ... here. Transformed into C. Made static.
16730 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16731 Moved from here ...
16732 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16733 ... here. Transformed into C. Made static.
16734 * grub-core/kern/i386/pc/startup.S
16735 (grub_biosdisk_check_int13_extensions): Moved from here ...
16736 * grub-core/disk/i386/pc/biosdisk.c
16737 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16738 Made static.
16739 * grub-core/kern/i386/pc/startup.S
16740 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16741 * grub-core/disk/i386/pc/biosdisk.c
16742 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16743 Transformed into C. Made static.
16744 * grub-core/kern/i386/pc/startup.S
16745 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16746 * grub-core/disk/i386/pc/biosdisk.c
16747 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16748 Transformed into C. Made static.
16749 * grub-core/kern/i386/pc/startup.S
16750 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16751 * grub-core/disk/i386/pc/biosdisk.c
16752 (grub_biosdisk_get_diskinfo_standard): ... here.
16753 Transformed into C. Made static.
16754 * grub-core/kern/i386/pc/startup.S
16755 (grub_biosdisk_get_num_floppies): Moved from here ...
16756 * grub-core/disk/i386/pc/biosdisk.c
16757 (grub_biosdisk_get_num_floppies): ... here.
16758 Transformed into C. Made static.
16759 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16760 New function.
16761 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16762 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16763 Transformed into C. Made static.
16764 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16765 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16766 Transformed into C. Made static.
16767 * grub-core/kern/i386/ieee1275/init.c: Removed.
16768 * grub-core/kern/i386/misc.S: Likewise.
16769 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16770 Splitted from here ...
16771 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16772 Transformed into C. Made static. All users updated.
16773 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16774 Transformed into C. Made static. All users updated.
16775 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16776 Moved from here...
16777 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16778 Transformed into C. Made static. All users updated.
16779 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16780 Moved from here...
16781 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16782 Transformed into C. Made static. All users updated.
16783 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16784 Removed (replaced by C version).
16785 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16786 Moved from here...
16787 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16788 Transformed into C. Made static.
16789 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16790 Moved from here...
16791 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16792 ... here. Transformed into C.
16793 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16794 Moved from here...
16795 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16796 ... here. Transformed into C.
16797 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16798 Moved from here...
16799 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16800 ... here. Transformed into C. Made static.
16801 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16802 Moved from here...
16803 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16804 ... here. Transformed into C.
21ed554b
VS
16805 * grub-core/kern/i386/pc/startup.S
16806 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16807 * grub-core/video/i386/pc/vbe.c
16808 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16809 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16810 Moved from here...
16811 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16812 ... here. Transformed into C.
16813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16814 Moved from here...
16815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16816 ... here. Transformed into C.
16817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16818 Moved from here...
16819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16820 ... here. Transformed into C.
16821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16822 Moved from here...
16823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16824 ... here. Transformed into C.
16825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16826 Moved from here...
16827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16828 ... here. Transformed into C. Made static.
16829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16830 Moved from here...
16831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16832 ... here. Transformed into C. Made static.
16833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16834 Moved from here...
16835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16836 ... here. Transformed into C. Made static.
16837 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16838 pxe_rm_entry as third argument.
16839 (grub_bios_interrupt): New function.
16840 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16841 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16842 of calling grub_stop.
16843 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16844 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16845 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16846 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16847 * grub-core/lib/i386/halt.c: Moved from here ...
16848 * grub-core/lib/i386/halt.c: ... here.
16849 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16850 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16851 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16852 grub_stop_floppy.
16853 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16854 * include/grub/i386/coreboot/init.h: Removed.
16855 * include/grub/i386/multiboot/init.h: Likewise.
16856 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16857 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16858 * include/grub/i386/pc/int.h: New file.
16859 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16860 (grub_pxe_scan): Removed.
16861 (grub_pxe_call): Update prototype.
16862 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16863 prototypes.
16864 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16865 * include/grub/i386/qemu/init.h: Removed.
16866 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16867 noreturn.
16868 (grub_halt): Likewise.
16869 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16870 (grub_reboot): Likewise.
16871 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16872 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16873 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16874
215dd471
RM
168752010-08-30 Robert Millan <rmh@gnu.org>
16876
16877 * NEWS: Document addition of ZFS support in `grub-install' and
16878 `grub-mkconfig'.
16879
ebd65b82
BC
168802010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16881
16882 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16883 dprintf output.
16884
11721d19
VS
168852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 Remove leftover embedding of font objects.
16888
16889 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16890 * util/grub-install.in (font): Removed.
16891 * util/grub-mkimage.c (generate_image): Remove font support. All users
16892 updated.
16893
37837d4e
VS
168942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 Remove leftover embedding of font objects.
16897
16898 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16899 * util/grub-install.in (font): Removed.
16900 * util/grub-mkimage.c (generate_image): Remove font support. All users
16901 updated.
16902
b4c1aae0
VS
169032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16906 Reported by: Ian Turner
b4c1aae0 16907
8920a08d
VS
169082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16911 timeout to avoid indefinite boot stalling.
16912
f21db033
VS
169132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16914
16915 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16916 (grub_env_write_color_highlight): Likewise.
16917
9a9de209
VS
169182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * grub-core/normal/term.c (print_more): Return to normal and not
16921 to standard state after printing "---MORE---".
16922
3dca01d7
VS
169232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16926 Mask out the bit 0x80 since it has other meaning that specifiing color.
16927
0b986c40
VS
169282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 New relocator. Allows for more kernel support and more straightforward
16931 loader writing.
16932
16933 * Makefile.am (BOOTTARGET): New variable.
16934 (QEMU32): Likewise.
16935 (linux.init.x86_64): New target.
16936 (linux.init.i386): Likewise.
16937 (multiboot.elf): Likewise.
16938 (kfreebsd.elf): Likewise.
16939 (kfreebsd.aout): Likewise.
16940 (pc-chainloader.elf): Likewise.
16941 (pc-chainloader.bin): Likewise.
16942 (ntldr.elf): Likewise.
16943 (ntldr.bin): Likewise.
16944 (multiboot2.elf): Likewise.
16945 (kfreebsd.init.x86_64): Likewise.
16946 (kfreebsd.init.i386): Likewise.
16947 (knetbsd.init.i386): Likewise.
16948 (kopenbsd.init.i386): Likewise.
16949 (knetbsd.init.x86_64): Likewise.
16950 (kopenbsd.init.x86_64): Likewise.
16951 (linux-initramfs.i386): Likewise.
16952 (linux-initramfs.x86_64): Likewise.
16953 (kfreebsd-mfsroot.i386.img): Likewise.
16954 (knetbsd.image.i386): Likewise.
16955 (kopenbsd.image.i386): Likewise.
16956 (kopenbsd.image.x86_64): Likewise.
16957 (knetbsd.miniroot-image.i386.img): Likewise.
16958 (kfreebsd-mfsroot.x86_64.img): Likewise.
16959 (knetbsd.image.x86_64): Likewise.
16960 (knetbsd.miniroot-image.x86_64.img): Likewise.
16961 (kfreebsd-mfsroot.i386.gz): Likewise.
16962 (bootcheck-kfreebsd-i386): Likewise.
16963 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16964 (bootcheck-kfreebsd-x86_64): Likewise.
16965 (knetbsd.miniroot-image.i386.gz): Likewise.
16966 (bootcheck-knetbsd-i386): Likewise.
16967 (bootcheck-kopenbsd-i386): Likewise.
16968 (bootcheck-kopenbsd-x86_64): Likewise.
16969 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16970 (bootcheck-knetbsd-x86_64): Likewise.
16971 (bootcheck-linux-i386): Likewise.
16972 (bootcheck-linux-x86_64): Likewise.
16973 (bootcheck-linux16-i386): Likewise.
16974 (bootcheck-linux16-x86_64): Likewise.
16975 (bootcheck-multiboot): Likewise.
16976 (bootcheck-multiboot2): Likewise.
16977 (bootcheck-kfreebsd-aout): Likewise.
16978 (bootcheck-pc-chainloader): Likewise.
16979 (bootcheck-ntldr): Likewise.
16980 (CLEANFILES): Add new targets.
16981 (BOOTCHECKS): New variable.
16982 (.PHONY): Add bootchecks.
16983 (SUCCESSFUL_BOOT_STRING): New variable.
16984 (BOOTCHECK_TIMEOUT): Likewise.
16985 (bootcheck): New target
16986 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16987 * configure.ac: Correct efiemu excuse.
16988 * docs/grub.texi (Supported kernels): New chapter.
16989 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16990 include/grub/mm_private.h. Simplify inclusion of
16991 include/grub/boot.h, include/grub/loader.h
16992 and include/grub/msdos_partition.h
16993 (KERNEL_HEADER_FILES) [i386_coreboot]:
16994 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16995 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16996 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16997 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16998 include/grub/machine/loader.h.
16999 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17000 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17001 extra_dist.
17002 (pci.mod): Enable on i386-multiboot.
17003 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17004 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17005 i386-qemu.
17006 (relocator.mod): Rewritten.
17007 (aout.mod): Enable on all x86.
17008 (bsd.mod): Likewise.
17009 (ntldr.mod): New module.
17010 (linux.mod): Use loader/i386/linux.c on all x86.
17011 (xnu.mod): Enable on all x86.
17012 (vga_text.mod): disable on EFI and QEMU.
17013 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17014 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17015 * grub-core/efiemu/loadcore.c: Likewise.
17016 * grub-core/efiemu/main.c: Likewise.
17017 (grub_efiemu_exit_boot_services): Removed.
17018 (grub_efiemu_finish_boot_services): Likewise.
17019 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17020 function.
17021 * grub-core/efiemu/i386/nocfgtables.c: New file.
17022 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17023 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17024 (grub_efi_finish_boot_services): Moved from here ...
17025 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17026 Fille finish memory map and related data.
17027 (finish_mmap_buf): New variable.
17028 (grub_efi_uintn_t finish_mmap_size): Likewise.
17029 (grub_efi_uintn_t finish_key): Likewise.
17030 (grub_efi_uintn_t finish_desc_size): Likewise.
17031 (grub_efi_uint32_t finish_desc_version): Likewise.
17032 (grub_efi_is_finished): Likewise.
17033 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17034 finished.
17035 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17036 (grub_elf64_phdr_iterate): Likewise.
17037 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17038 (grub_os_area_size): Likewise.
17039 (grub_machine_init): Don't reserve os area.
17040 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17041 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17042 * grub-core/kern/i386/loader.S: Removed.
17043 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17044 (grub_os_area_size): Likewise.
17045 (grub_machine_init): Don't reserve os area.
17046 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17047 Don't call grub_dl_unload_all.
17048 Don't include loader.S.
17049 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17050 Declare the memory after _end as available.
17051 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 17052 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 17053 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
17054 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17055 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17056 * include/grub/mm_private.h (grub_mm_header): ... here.
17057 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17058 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
17059 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17060 (grub_mm_region): ..here. Removed addr. Added pre_size.
17061 All users updated.
17062 * grub-core/kern/mm.c (base): Renamed to ...
17063 (grub_mm_base): ... this. Made global.
17064 (grub_real_malloc): Alloc from end of region.
17065 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17066 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17067 * grub-core/kern/powerpc/cache_flush.S: ... here.
17068 * grub-core/lib/efi/relocator.c: New file.
17069 * grub-core/lib/i386/relocator.c: Rewritten.
17070 * grub-core/lib/i386/relocator16.S: New file.
17071 * grub-core/lib/i386/relocator32.S: Likewise.
17072 * grub-core/lib/i386/relocator64.S: Likewise.
17073 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17074 * grub-core/lib/i386/relocator_common.S: New file.
17075 * grub-core/lib/ieee1275/relocator.c: Likewise.
17076 * grub-core/lib/mips/relocator.c: Rewritten.
17077 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17078 stylistic adjustments.
17079 * grub-core/lib/powerpc/relocator.c: New file.
17080 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17081 * grub-core/lib/relocator.c: Rewritten.
17082 * grub-core/lib/x86_64/relocator_asm.S: New file.
17083 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17084 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17085 (bsd_tag): New struct.
17086 (tags): New variable.
17087 (tags_last): Likewise.
17088 (netbsd_module): New struct.
17089 (netbsd_mods): New variable.
17090 (netbsd_mods_last): Likewise.
17091 (openbsd_opts): New parameter "serial".
17092 (OPENBSD_SERIAL_ARG): New definition.
17093 (netbsd_opts): New parameter "serial".
17094 (NETBSD_SERIAL_ARG): New definition.
17095 (grub_freebsd_add_meta): Reorganised into ...
17096 (grub_bsd_add_meta): ...this. All users updated.
17097 (grub_freebsd_add_mmap): Reorganised into ...
17098 (generate_e820_mmap): ...this...
17099 (grub_bsd_add_mmap): ...and this. All users updated.
17100 (grub_freebsd_list_modules): Use tags.
17101 (grub_netbsd_add_meta_module): New function.
17102 (grub_netbsd_list_modules): Likewise.
17103 (grub_freebsd_boot): Use relocator and finish EFI.
17104 (grub_openbsd_boot): Likewise.
17105 (grub_netbsd_setup_video): New function.
17106 (grub_netbsd_add_modules): Likewise.
17107 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17108 and finish EFI.
17109 (grub_bsd_unload): Unload tags.
17110 (grub_bsd_load_aout): Use relocator.
17111 (grub_bsd_elf32_size_hook): New function.
17112 (grub_bsd_elf32_hook): Use relocator.
17113 (grub_bsd_elf64_size_hook): New function.
17114 (grub_bsd_elf64_hook): Use relocator.
17115 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17116 (grub_bsd_load): Zero-out openbsd_ramdisk.
17117 (grub_bsd_load): Use relocator.
17118 (grub_cmd_openbsd): Support serial.
17119 (grub_cmd_netbsd): Support modules.
17120 (grub_cmd_freebsd_module): Use relocator.
17121 (grub_netbsd_module_load): New function.
17122 (grub_cmd_netbsd_module): Likewise.
17123 (grub_cmd_openbsd_ramdisk): Likewise.
17124 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17125 kopenbsd_ramdisk.
17126 (GRUB_MOD_FINI): Unregister new commands.
17127 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17128 (grub_freebsd_load_elfmodule_obj): Use relocator.
17129 (grub_freebsd_load_elfmodule): Likewise.
17130 (grub_freebsd_load_elf_meta): Likewise.
17131 (grub_netbsd_load_elf_meta): New function.
17132 (grub_openbsd_find_ramdisk): Likewise.
17133 * grub-core/loader/i386/bsd_helper.S: Removed.
17134 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17135 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17136 * grub-core/loader/i386/efi/linux.c: Likewise.
17137 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17138 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17139 (DEFAULT_VIDEO_MODE): Likewise.
17140 (real_mode_target): New variable.
17141 (prot_mode_target): Likewise.
17142 (initrd_mem_target): Likewise.
17143 (relocator): Likewise.
17144 (efi_mmap_buf): Likewise.
17145 (efi_mmap_size): Likewise.
17146 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17147 (free_pages): Use relocator.
17148 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17149 (grub_linux_setup_video): Return error.
17150 (grub_linux_trampoline_start): Removed.
17151 (grub_linux_trampoline_end): Likewise.
17152 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17153 andd video parameters depending on firmware.
17154 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17155 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17156 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17157 (grub_cmd_initrd): Use relocator.
17158 * grub-core/loader/i386/linux_trampoline.S: Removed.
17159 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17160 (elf_sec_entsize): Likewise.
17161 (elf_sec_shstrndx): Likewise.
17162 (elf_sections): Likewise.
17163 (grub_multiboot_load): Use relocator.
17164 (grub_multiboot_get_mbi_size): Account for sections.
17165 (grub_multiboot_make_mbi): Use relocator and support sections.
17166 (grub_multiboot_add_elfsyms): New function.
17167 (grub_multiboot_free_mbi): Free sections.
17168 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17169 (grub_linux_real_target): Likewise.
17170 (grub_linux_real_chunk): Likewise.
17171 (grub_linux16_prot_size): Likewise.
17172 (grub_linux16_boot): Use relocator.
17173 (grub_linux_unload): Unload relocator.
17174 (grub_cmd_linux): Use relocator.
17175 (grub_cmd_initrd): Likewise.
17176 * grub-core/loader/i386/pc/ntldr.c: New file.
17177 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17178 Don't try to guess CPU frequency.
17179 (grub_xnu_set_video): Stretch bitmap.
17180 (grub_xnu_boot): Use relocator.
17181 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17182 (grub_linux_unload): Free relocator.
17183 (grub_linux_load32): Use relocator.
17184 (grub_linux_load64): Likewise.
17185 (grub_cmd_initrd): Likewise.
17186 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17187 (grub_multiboot_unload): Unload relocator.
17188 (grub_cmd_multiboot): Use relocator.
17189 (grub_cmd_module): Likewise.
17190 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17191 Use relocator and support sections.
17192 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17193 (elf_sec_entsize): Likewise.
17194 (elf_sec_shstrndx): Likewise.
17195 (elf_sections): Likewise.
17196 (grub_multiboot_load): Use relocator.
17197 (grub_multiboot_get_mbi_size): Account for sections.
17198 (grub_multiboot_make_mbi): Use relocator and support sections.
17199 (grub_multiboot_add_elfsyms): New function.
17200 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17201 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17202 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17203 Prototype changed. All users updated.
17204 (grub_xnu_align_heap): Simplified.
17205 (grub_xnu_writetree_toheap): Likewise.
17206 (grub_xnu_unload): Unload relocator.
17207 (grub_cmd_xnu_kernel): Use relocator.
17208 (grub_cmd_xnu_kernel64): Likewise.
17209 (grub_xnu_register_memory): Simplified.
17210 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17211 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17212 EFI is finished.
17213 (grub_console_checkkey): Likewise.
17214 (grub_console_getkey): Likewise.
17215 (grub_console_getwh): Likewise.
17216 (grub_console_getxy): Likewise.
17217 (grub_console_gotoxy): Likewise.
17218 (grub_console_cls): Likewise.
17219 (grub_console_setcolorstate): Likewise.
17220 (grub_console_setcursor): Likewise.
17221 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17222 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17223 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17224 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17225 * grub-core/tests/boot/kernel-8086.S: Likewise.
17226 * grub-core/tests/boot/kernel-i386.S: Likewise.
17227 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17228 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17229 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17230 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17231 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17232 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17233 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17234 * grub-core/tests/boot/linux.cfg: Likewise.
17235 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17236 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17237 * grub-core/tests/boot/linux16.cfg: Likewise.
17238 * grub-core/tests/boot/multiboot.cfg: Likewise.
17239 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17240 * grub-core/tests/boot/ntldr.cfg: Likewise.
17241 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17242 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17243 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17244 New definition.
17245 * include/grub/dl.h (grub_dl_unload_all): Removed.
17246 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17247 (grub_efi_finish_boot_services): Change prototype.
17248 (grub_efi_is_finished): New variable.
17249 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17250 Changed prototype.
17251 (grub_efiemu_finish_boot_services): Removed.
17252 (grub_machine_efiemu_init_tables): New prototype.
17253 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17254 (grub_elf64_phdr_iterate): Likewise.
17255 * include/grub/i386/bsd.h: Include relocator.h.
17256 (freebsd_tag_header): New struct.
17257 (grub_openbsd_bios_mmap): Removed.
17258 (grub_unix_real_boot): Removed.
17259 (grub_freebsd_load_elfmodule32): Changed prototype.
17260 (grub_freebsd_load_elfmodule_obj64): Likewise.
17261 (grub_freebsd_load_elf_meta32): Likewise.
17262 (grub_freebsd_load_elf_meta64): Likewise.
17263 (grub_freebsd_add_meta): Removed.
17264 (grub_netbsd_load_elf_meta32): New prototype.
17265 (grub_netbsd_load_elf_meta64): Likewise.
17266 (grub_bsd_add_meta): Likewise.
17267 (grub_openbsd_ramdisk_descriptor): New struct.
17268 (grub_openbsd_find_ramdisk32): New prototype.
17269 (grub_openbsd_find_ramdisk64): Likewise.
17270 * include/grub/i386/coreboot/loader.h: Removed.
17271 * include/grub/i386/efi/loader.h: Likewise.
17272 * include/grub/i386/ieee1275/loader.h: Likewise.
17273 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17274 to grub_uint32_t.
17275 * include/grub/i386/loader.h: Removed.
17276 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17277 value.
17278 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17279 (grub_phys_addr_t): New type.
17280 (grub_vtop): New inline function.
17281 (grub_map_memory): Likewise.
17282 (grub_unmap_memory): Likewise.
17283 * include/grub/i386/multiboot/loader.h: Removed.
17284 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17285 (NETBSD_BTINFO_CONSOLE): New definition.
17286 (NETBSD_BTINFO_SYMTAB): Likewise.
17287 (NETBSD_BTINFO_MODULES): Likewise.
17288 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17289 (grub_netbsd_bootinfo): New struct.
17290 (grub_netbsd_btinfo_common): Use explicit bitsize.
17291 (grub_netbsd_btinfo_mmap_entry): Removed.
17292 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17293 (grub_netbsd_btinfo_bootdisk): New struct.
17294 (grub_netbsd_btinfo_symtab): Likewise.
17295 (grub_netbsd_btinfo_serial): Likewise.
17296 (grub_netbsd_btinfo_modules): Likewise.
17297 (grub_netbsd_btinfo_framebuf): Likewise.
17298 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17299 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17300 Likewise.
17301 (grub_openbsd_bootargs): Use explicit bitsize.
17302 (grub_openbsd_bootarg_console): New struct.
17303 (GRUB_OPENBSD_COM_MAJOR): New definition.
17304 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17305 * include/grub/i386/pc/efiemu.h: Removed.
17306 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17307 * include/grub/i386/qemu/loader.h: Removed.
17308 * include/grub/i386/relocator.h: Rewritten.
17309 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17310 * include/grub/mips/memory.h: New file.
17311 * include/grub/mips/multiboot.h: Rewritten.
17312 * include/grub/mips/relocator.h: Rewritten.
17313 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17314 (grub_vtop): New function.
17315 (grub_map_memory): Likewise.
17316 (grub_unmap_memory): Likewise.
17317 * include/grub/misc.h (ALIGN_DOWN): New definition.
17318 * include/grub/mm.h (grub_mm_check_real): New proto.
17319 (GRUB_MM_CHECK): New definition.
17320 * include/grub/mm_private.h: New file.
17321 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17322 (grub_multiboot_get_mbi_size): Removed.
17323 (grub_multiboot_make_mbi): Change prottype.
17324 (grub_multiboot_set_accepts_video): New proto.
17325 (grub_multiboot_add_elfsyms): Likewise.
17326 (grub_multiboot_payload_eip): New variable.
17327 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17328 New prototype.
17329 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17330 New definition.
17331 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17332 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17333 * include/grub/powerpc/ieee1275/loader.h: Removed.
17334 * include/grub/powerpc/memory.h: New file.
17335 * include/grub/powerpc/relocator.h: Likewise.
17336 * include/grub/relocator.h: Likewise.
17337 * include/grub/relocator_private.h: Likewise.
17338 * include/grub/sparc64/ieee1275/loader.h: Removed.
17339 * include/grub/x86_64/memory.h: New file.
17340 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17341 (grub_xnu_heap_malloc): Likewise.
17342 (grub_xnu_heap_real_start): Removed.
17343 (grub_xnu_heap_start): Likewise.
17344 (grub_xnu_relocator): New variable.
17345 (grub_xnu_heap_target_start): Likewise.
17346 * tests/util/grub-shell.in: Support non-pc.
17347 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17348
5303b85d
VS
173492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17352 on malloc error.
17353 (grub_bidi_logical_to_visual): Check that malloc succeded.
17354 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17355 puts.
17356 (grub_xputs_normal): Likewise.
17357
d768d159
VS
173582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17361 extra_dist.
17362
173632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17366
5bf84df4
VS
173672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17370
3626810e
VS
173712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17374 dprintf.
17375
a7363f53
BC
173762010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17377
17378 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17379
902f75f6
VS
173802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * grub-core/normal/term.c (print_more): Fix a memory leak.
17383 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17384 (grub_xputs_normal): Likewise.
17385
3c707967
VS
173862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17389 the begining of the string
17390
2053cc07
VS
173912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * grub-core/script/script.c (grub_script_parse): Free parsed on
17394 failure.
17395
46422ebf
VS
173962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17399 on failure.
17400
9e0fa3f6
VS
174012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17404 return.
17405
3393cf16
VS
174062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17409 (scroll_up): Fix a memory leak.
17410
b17540cb
VS
174112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17414 errors.
17415
67140446
VS
174162010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 Handle USB pendrives exposed as floppies.
17419
17420 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17421 floppy.
17422 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17423 Check for partitions on all devices.
17424
e35e46fc
VS
174252010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17428 (readkey): Likewise.
17429
d24c6190
BC
174302010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17431
17432 Multiple variable names support to "export" command.
17433
17434 * normal/context.c (grub_cmd_export): "export" command supports
17435 multiple variable names.
17436
04ddcc6a
ST
174372010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17438
17439 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17440 --target=drive output to Mach device name.
17441
0c8b61d8
BC
174422010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17443
17444 New Automake based build system for GRUB.
17445
17446 * ABOUT-NLS: New file.
17447 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17448 in Makefile.util.def file.
17449 * Makefile.util.def: New file. Autogen build definitions file for
17450 GRUB host utils.
17451 * conf/Makefile.common: New file. Common variables for GRUB host
17452 utils and target modules.
17453 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17454 * docs/Makefile.am: New file. Automake file for docs.
17455 * gentpl.py: New file. Python script to generate Autogen
17456 template.
17457 * grub-core/Makefile.am: New file. GRUB target modules' rules
17458 that doesn't fit in Makefile.core.def file.
17459 * grub-core/Makefile.core.def: New file. Autogen build
17460 definitions file for GRUB target modules.
17461 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17462 specific setjmp.S file.
17463 * po/Makefile.am: New file.
17464
17465 * .bzrignore: New ignores.
17466 * INSTALL: New requirements, without Ruby.
17467 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17468 * autogen.sh: Updated to invoke autogen as necessary.
17469 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17470 and defines for Automake conditionals.
17471 * geninit.sh: Refactoring.
17472
17473 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17474 necessary.
17475 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17476 New prototype.
17477
17478 * include/grub/test.h: Fix functional test modules' naming.
17479 * grub-core/tests/example_functional_test.c: Fix test module name.
17480
17481 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17482 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17483 * util/grub-editenv.c: Likewise.
17484 * util/grub-fstest.c: Likewise.
17485 * util/grub-mkdevicemap.c: Likewise.
17486 * util/grub-mkfont.c: Likewise.
17487 * util/grub-mkimage.c: Likewise.
17488 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17489 * util/grub-probe.c: Likewise.
17490 * util/grub-script-check.c: Likewise.
17491 * util/i386/pc/grub-setup.c: Likewise.
17492 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17493
17494 * tests/util/grub-shell.in: Fix override directory path.
17495 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17496 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17497
17498 * util/lvm.c: Update #includes.
17499 * util/raid.c: Likewise.
17500 * util/resolve.c: Likewise.
17501 * grub-core/bus/emu/pci.c: Likewise.
17502 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17503 * grub-core/lib/posix_wrap/string.h: Likewise.
17504 * grub-core/kern/emu/main.c: Likewise.
17505
17506 * grub-core/gensymlist.sh: New file. Script for generating kernel
17507 symbols file.
17508 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17509
17510 * grub-core/gentrigtables.c: Fix unused variable warnings.
17511
17512 * Makefile.in: Removed.
17513 * conf/any-emu.rmk: Removed.
17514 * conf/common.rmk: Removed.
17515 * conf/i386-coreboot.rmk: Removed.
17516 * conf/i386-efi.rmk: Removed.
17517 * conf/i386-ieee1275.rmk: Removed.
17518 * conf/i386-multiboot.rmk: Removed.
17519 * conf/i386-pc.rmk: Removed.
17520 * conf/i386-qemu.rmk: Removed.
17521 * conf/i386.rmk: Removed.
17522 * conf/mips-yeeloong.rmk: Removed.
17523 * conf/mips.rmk: Removed.
17524 * conf/powerpc-ieee1275.rmk: Removed.
17525 * conf/sparc64-ieee1275.rmk: Removed.
17526 * conf/tests.rmk: Removed.
17527 * conf/x86-efi.rmk: Removed.
17528 * conf/x86_64-efi.rmk: Removed.
17529 * gendistlist.sh: Removed.
17530 * geninitheader.sh: Removed.
17531 * genkernsyms.sh.in: Removed.
17532 * genmk.rb: Removed.
17533 * gensymlist.sh.in: Removed.
17534 * mkinstalldirs: Removed.
17535 * boot: Moved ...
17536 * grub-core/boot: ... to here.
17537 * bus: Moved ...
17538 * grub-core/bus: ... to here.
17539 * commands: Moved ...
17540 * grub-core/commands: ... to here.
17541 * disk: Moved ...
17542 * grub-core/disk: ... to here.
17543 * efiemu: Moved ...
17544 * grub-core/efiemu: ... to here.
17545 * font: Moved ...
17546 * grub-core/font: ... to here.
17547 * fs: Moved ...
17548 * grub-core/fs: ... to here.
17549 * gencmdlist.sh: Moved ...
17550 * grub-core/gencmdlist.sh: ... to here.
17551 * genemuinit.sh: Moved ...
17552 * grub-core/genemuinit.sh: ... to here.
17553 * genemuinitheader.sh: Moved ...
17554 * grub-core/genemuinitheader.sh: ... to here.
17555 * genfslist.sh: Moved ...
17556 * grub-core/genfslist.sh: ... to here.
17557 * genhandlerlist.sh: Moved ...
17558 * grub-core/genhandlerlist.sh: ... to here.
17559 * genmoddep.awk: Moved ...
17560 * grub-core/genmoddep.awk: ... to here.
17561 * genmodsrc.sh: Moved ...
17562 * grub-core/genmodsrc.sh: ... to here.
17563 * genpartmaplist.sh: Moved ...
17564 * grub-core/genpartmaplist.sh: ... to here.
17565 * genparttoollist.sh: Moved ...
17566 * grub-core/genparttoollist.sh: ... to here.
17567 * genterminallist.sh: Moved ...
17568 * grub-core/genterminallist.sh: ... to here.
17569 * gentrigtables.c: Moved ...
17570 * grub-core/gentrigtables.c: ... to here.
17571 * genvideolist.sh: Moved ...
17572 * grub-core/genvideolist.sh: ... to here.
17573 * gettext: Moved ...
17574 * grub-core/gettext: ... to here.
17575 * gfxmenu: Moved ...
17576 * grub-core/gfxmenu: ... to here.
17577 * gnulib: Moved ...
17578 * grub-core/gnulib: ... to here.
17579 * hello: Moved ...
17580 * grub-core/hello: ... to here.
17581 * hook: Moved ...
17582 * grub-core/hook: ... to here.
17583 * io: Moved ...
17584 * grub-core/io: ... to here.
17585 * kern: Moved ...
17586 * grub-core/kern: ... to here.
17587 * lib: Moved ...
17588 * grub-core/lib: ... to here.
17589 * loader: Moved ...
17590 * grub-core/loader: ... to here.
17591 * mmap: Moved ...
17592 * grub-core/mmap: ... to here.
17593 * normal: Moved ...
17594 * grub-core/normal: ... to here.
17595 * partmap: Moved ...
17596 * grub-core/partmap: ... to here.
17597 * parttool: Moved ...
17598 * grub-core/parttool: ... to here.
17599 * script: Moved ...
17600 * grub-core/script: ... to here.
17601 * term: Moved ...
17602 * grub-core/term: ... to here
17603 * tests/example_functional_test.c: Moved ...
17604 * grub-core/tests/example_functional_test.c: ... to here.
17605 * tests/lib/functional_test.c: Moved ...
17606 * grub-core/tests/lib/functional_test.c: ... to here.
17607 * tests/lib/test.c: Moved ...
17608 * grub-core/tests/lib/test.c: ... to here.
17609 * video: Moved ...
17610 * grub-core/video: ... to here.
17611
645586e6
BC
176122010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17613
17614 Replace --enable-grub-emu-modules with grub-emu-lite.
17615
17616 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17617 cache.S.
17618
17619 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17620 * kern/emu/full.c: New file. For grub-emu specific initialization.
17621 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17622 * kern/emu/main.c: Call initialization function grub_emu_init.
17623
17624 * Makefile.in: Include grub-emu-lite in install.
17625 * commands/parttool.c: Use grub_no_autoload to differentiate
17626 between grub-emu and grub-emu-lite.
17627 * include/grub/misc.h: New variable grub_no_autoload.
17628
17629 * conf/any-emu.rmk: New rules for grub-emu-lite.
17630 * configure.ac: Remove --enable-grub-emu-modules.
17631 * genmk.rb: Cleanup unnecessary rules.
17632 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17633
17634 * normal/main.c: Don't load list files on grub-emu-lite.
17635 * util/misc.c (grub_arch_sync_caches): Removed.
17636
f86a4030
CW
176372010-08-23 Colin Watson <cjwatson@ubuntu.com>
17638
17639 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17640 grub-mkimage rather than grub-mkelfimage.
17641 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17642
06776944
VS
176432010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17646 a key after CapsLock or NumLock. It's just a qemu bug.
17647
df262419
VS
176482010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17651 needed by libusb wrapper.
17652
b40ea81b
ST
176532010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17654
17655 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17656
dee50575
VS
176572010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17660 --nounzip is passed.
17661
fb1d7b79
VS
176622010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 USB hotunplugging and USB serial support.
17665
17666 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17667 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17668 (grub_uhci_transfer): Respect timeout and set *actual.
17669 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17670 non-standard length.
17671 (grub_usb_device_attach): Autoload modules.
17672 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17673 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17674 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17675 users updated.
17676 (grub_usb_add_hub): Fill nports and children.
17677 (attach_root_port): Receive hub instead of controller.
17678 All users updated. Fill hub->devices.
17679 (grub_usb_root_hub): Allocate hub->devices.
17680 (detach_device): New function.
17681 (poll_nonroot_hub): Fill children and detach devices.
17682 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17683 actual arguments. All users updated.
17684 (grub_usb_bulk_read_extended): New function.
17685 * bus/usb/serial/common.c: New file.
17686 * bus/usb/serial/ftdi.c: Likewise.
17687 * bus/usb/serial/pl2303.c: Likewise.
17688 * commands/terminal.c (handle_command): Support wildcard.
17689 * commands/usbtest.c: Output "Unknown" instead of empty string.
17690 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17691 (usbserial_common_mod_SOURCES): New variable.
17692 (usbserial_common_mod_CFLAGS): Likewise.
17693 (usbserial_common_mod_LDFLAGS): Likewise.
17694 (pkglib_MODULES): Add usbserial_pl2303.mod.
17695 (usbserial_pl2303_mod_SOURCES): New variable.
17696 (usbserial_pl2303_mod_CFLAGS): Likewise.
17697 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17698 (pkglib_MODULES): Add usbserial_ftdi.mod.
17699 (usbserial_ftdi_mod_SOURCES): New variable.
17700 (usbserial_ftdi_mod_CFLAGS): Likewise.
17701 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17702 (pkglib_MODULES): Add serial.mod.
17703 (serial_mod_SOURCES): New variable.
17704 (serial_mod_CFLAGS): Likewise.
17705 (serial_mod_LDFLAGS): Likewise.
17706 * conf/i386-pc.rmk: Likewise.
17707 * conf/mips-yeeloong.rmk: Likewise.
17708 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17709 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17710 * disk/usbms.c (first_available_slot): New variable.
17711 (grub_usbms_attach): Don't reuse free slots due to potential cache
17712 problems.
17713 * include/grub/serial.h: Moved to ..
17714 * include/grub/ns8250.h: ...this.
17715 * include/grub/serial.h: New file.
17716 * include/grub/term.h (grub_term_poll_usb): New variable.
17717 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17718 readkey. All users updated.
17719 (grub_terminfo_output_state): Pass term to put.
17720 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17721 (grub_usb_controller_dev): Add timeout and actual arguments to
17722 transfer. All users updated.
17723 (grub_usb_interface): New field detach_data.
17724 (grub_usb_device): New fields children and nports.
17725 (grub_usb_ep_type_t): New type.
17726 (grub_usb_get_ep_type): New function.
17727 (grub_usb_bulk_read_extended): Likewise.
17728 * include/grub/usbdesc.h (grub_usb_desc): New type.
17729 * include/grub/usbserial.h: New file.
17730 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17731 * kern/term.c (grub_term_poll_usb): New variable.
17732 (grub_getkey): Call grub_term_poll_usb if set.
17733 (grub_checkkey): Likewise.
17734 (grub_getkeystatus): Likewise.
17735 * term/serial.c: Moved controller-specific parts to ...
17736 * term/ns8250.c: ... here.
17737 * term/serial.c: Mostly rewritten.
17738 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17739 according to spec.
17740
21a313de
RM
177412010-08-20 Robert Millan <rmh@gnu.org>
17742
17743 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17744 a separate module and maybe other interesting combinations.
17745
17746 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17747 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17748 (kfreebsd_entry): Add generic filesystem module load routine.
17749 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17750
63c734a6
CW
177512010-08-20 Colin Watson <cjwatson@ubuntu.com>
17752
17753 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17754 "numcenter" (I misunderstood the purpose of this entry).
17755 * docs/grub.texi (sendkey): Likewise.
17756
c4d16542
CW
177572010-08-20 Colin Watson <cjwatson@ubuntu.com>
17758
17759 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17760 status flag options; simply omitting the option is equivalent and
17761 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17762 (keysym_table): Rename "num5numlock" to "numlock".
17763 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17764 can uniformly say that only the last of multiple `sendkey'
17765 invocations has any effect.
17766 * docs/grub.texi (sendkey): New section.
17767
93541d66
CW
177682010-08-19 Colin Watson <cjwatson@ubuntu.com>
17769
17770 * commands/i386/pc/sendkey.c (options): Fix three typos.
17771
b4ece5e1
VS
177722010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 Implement sendkey support.
17775
17776 * commands/i386/pc/sendkey.c: New file.
17777 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17778 (sendkey_mod_SOURCES): New variable.
17779 (sendkey_mod_CFLAGS): Likewise.
17780 (sendkey_mod_LDFLAGS): Likewise.
17781
51f1f5af
CW
177822010-08-18 Colin Watson <cjwatson@ubuntu.com>
17783
17784 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17785 fix warnings from Autoconf.
17786
9da94e05
CW
177872010-08-18 Colin Watson <cjwatson@ubuntu.com>
17788
17789 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17790 to avoid false positives with some assemblers that output things
17791 like "someprefix_func" as part of their output.
17792
729a0f2e
RM
177932010-08-15 Robert Millan <rmh@gnu.org>
17794
17795 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17796 errors.
17797 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17798 grub_get_libzfs_handle() errors.
17799
f3710e08
RM
178002010-08-14 Robert Millan <rmh@gnu.org>
17801
17802 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17803 filesystem is not ZFS.
17804
7a3c13de
BC
178052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17806
17807 Fix for misspelled color names defaulting to black/black (bug
17808 reported by Doug Nazar)
17809
17810 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17811 status to prototype.
17812 * normal/color.c (grub_parse_color_name_pair): Return failure
17813 status.
17814 (grub_env_write_color_normal): Ignore bad color names.
17815 (grub_env_write_color_highlight): Likewise.
17816 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17817
ab8ba50d
BC
178182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17819
17820 "shift" command support to GRUB script.
17821
17822 * include/grub/script_sh.h (grub_script_shift): New prototype.
17823 * script/execute.c (grub_script_shift): New function.
17824 * script/main.c (grub_script_init): Register shift command.
17825 (grub_script_fini): Unregister shift command.
17826 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17827
17828 * tests/grub_script_shift.in: New testcase.
17829 * conf/tests.rmk: Rules for new testcase.
17830
4d61999e
BC
178312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17832
17833 "continue" command support to GRUB script.
17834
17835 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17836 (grub_script_break): Continue support.
17837 * script/main.c (grub_script_init): Register continue command.
17838 (grub_script_fini): Unregister continue command.
17839
17840 * tests/grub_script_continue.in: New testcase.
17841 * conf/tests.rmk: Rules for new testcase.
17842
4df51e00
BC
178432010-08-12 BVK Chaitanya <bvk@dbook>
17844
17845 "break" command support to GRUB script.
17846
17847 * conf/common.rmk: Rule updates to grub-script-check.
17848 * include/grub/misc.h (grub_min): New function.
17849 * include/grub/script_sh.h (grub_script_init): New prototype.
17850 (grub_script_fini): New prototype.
17851 (grub_script_break): New prototype.
17852 * script/main.c (grub_script_init): New function.
17853 (grub_script_fini): New function.
17854 * script/execute.c (grub_script_break): New function.
17855 * normal/main.c: Calls to grub_script_{init,fini}.
17856 * util/grub-script-check.c (grub_script_break): New function.
17857
17858 * tests/grub_script_break.in: New testcase.
17859 * conf/tests.rmk: Rules for new test case.
17860
f12c8420
BC
178612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17862
17863 Function parameters support to GRUB script.
17864
17865 * script/yylex.l (VARIABLE): Regular expression update.
17866 * script/function.c (grub_script_function_call): Moved ...
17867 * script/execute.c (grub_script_function_call): ... to here.
17868 (grub_script_execute_arglist_to_argv): Removed.
17869 (grub_script_arglist_to_argv): New function.
17870 * script/argv.c: New file.
17871 (grub_script_argv_free): New function.
17872 (grub_script_argv_next): Likewise.
17873 (grub_script_argv_append): Likewise.
17874 (grub_script_argv_split_append): Likewise.
17875 * include/grub/script_sh.h (grub_script_argv): New struct.
17876 (grub_script_argv_free): New function.
17877 (grub_script_argv_next): Likewise.
17878 (grub_script_argv_append): Likewise.
17879 (grub_script_argv_split_append): Likewise.
17880
17881 * conf/common.rmk (normal.mod): New source script/argv.c.
17882
17883 * tests/grub_script_echo1.in: More tests.
17884 * tests/grub_script_vars1.in: Likewise.
17885 * tests/grub_script_functions.in: New test case.
17886 * conf/tests.rmk: Rules for new testcase.
17887
8022b748
BC
178882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17889
17890 Remove grub_script_cmdblock struct.
17891
17892 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17893 * script/parser.y: Likewise.
17894 * script/execute.c: Rename cmdblock suffix to cmdlist.
17895 * script/script.c: Likewise.
17896 * util/grub-script-check.c: Likewise.
17897
79a6ba61
YB
178982010-08-11 Yves Blusseau <blusseau@zetam.org>
17899
17900 * .bzrignore: add grub-macho2img
17901
d04b9414
VS
179022010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17905
f947ab49
VS
179062010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 Remove the dump of sm712 initialisation sequence.
17909
17910 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17911 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17912 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17913 (GRUB_VGA_CR_*): Added many registers.
17914 (GRUB_VGA_SR_*): Likewise.
17915 (GRUB_VGA_GR_*): Likewise.
17916 (grub_vga_write_arx): New function.
17917 (grub_video_hw_config): New struct.
17918 (grub_vga_set_geometry): New function.
17919 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17920 GRUB_PCI_CLASS_SUBCLASS_VGA.
17921 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17922 * video/sm712.c (grub_sm712_write_reg): New function
17923 (grub_sm712_read_reg): Likewise.
17924 (grub_sm712_sr_write): Likewise.
17925 (grub_sm712_gr_write): Likewise.
17926 (grub_sm712_cr_write): Likewise.
17927 (grub_sm712_write_arx): Likewise.
17928 (grub_sm712_cr_shadow_write): Likewise.
17929 (grub_sm712_write_dda_lookup): Likewise.
17930 (grub_video_sm712_setup): Initialise the video rather then
17931 blindly replay the dump.
17932 (main) [TEST]: Add a routine to be able to compile as standalone for
17933 tests.
17934 * video/sm712_init.c (sm712_init): Removed.
17935 (sm712_sr_seq1): New array.
17936 (sm712_sr_seq2): Likewise.
17937
f0206638
VS
179382010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 * include/grub/vga.h: Add missing grub/pci.h include.
17941
2764da3b
YB
179422010-08-10 Yves Blusseau <blusseau@zetam.org>
17943
17944 * util/grub-macho2img.c (main): fix typo
17945
cf0c775e
VS
179462010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17949 (grub_vga_gr_read): Likewise.
17950 (grub_vga_cr_write): Likewise.
17951 (grub_vga_cr_read): Likewise.
17952 (grub_vga_sr_write): Likewise.
17953 (grub_vga_sr_read): Likewise.
17954 (grub_vga_palette_read): Likewise.
17955 (grub_vga_palette_write): Likewise.
17956 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17957 (grub_sm712_sr_read): New function.
17958 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17959 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17960
07f360e9
RM
179612010-08-09 Robert Millan <rmh@gnu.org>
17962
17963 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17964 out unused variables on non-ZFS build.
17965
346c2072
RM
179662010-08-08 Robert Millan <rmh@gnu.org>
17967
17968 Fix path generation for sub-filesystems in ZFS.
17969
17970 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17971 missing slash.
17972
71175420
RM
179732010-08-08 Robert Millan <rmh@gnu.org>
17974
17975 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17976
0d8286f3
RM
179772010-08-08 Robert Millan <rmh@gnu.org>
17978
17979 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17980 exist, issue a proper error message (rely on `ls' for translated
17981 strings).
17982
55dd2924
RM
179832010-08-08 Robert Millan <rmh@gnu.org>
17984
17985 Fix grub-probe invocation.
17986
17987 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17988
d3dd9e80
RM
179892010-08-04 Robert Millan <rmh@gnu.org>
17990
17991 * configure.ac: Remove checks for getfsstat() and getmntany().
17992 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17993 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17994 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17995 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17996 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17997 function.
17998 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17999 via find_mount_point_from_dir() and getfsstat() / getmntany().
18000
0de22aa9
RM
180012010-08-04 Robert Millan <rmh@gnu.org>
18002
18003 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18004 (grub_find_zpool_from_mount_point): Merge into ...
18005 (grub_find_zpool_from_dir): ... this.
18006 * kern/emu/misc.c: Likewise.
18007
18008 * kern/emu/misc.c
18009 (grub_make_system_path_relative_to_its_root): Replace
18010 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18011 with grub_find_zpool_from_dir().
18012 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18013
62858144
RM
180142010-08-04 Robert Millan <rmh@gnu.org>
18015
18016 Support OpenSolaris in ZFS device resolution.
18017
18018 * configure.ac: Check for getmntany().
18019 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18020 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18021 support.
18022
9dd6fd50
RM
180232010-08-03 Robert Millan <rmh@gnu.org>
18024
18025 Fix grub-emu build.
18026
18027 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18028 * include/grub/emu/misc.h: ... here.
18029
18030 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18031 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18032
18033 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18034 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18035 (grub_get_libzfs_handle): Move to ...
18036 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18037 (grub_get_libzfs_handle): ... here.
18038
c9f7ff97
BC
180392010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18040
18041 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18042 as command name case.
18043
a870a783
CW
180442010-08-02 Colin Watson <cjwatson@ubuntu.com>
18045
18046 * disk/raid.c (insert_array): Select unique numbers for named arrays
18047 as well, for use as keys in the disk cache.
18048
c7db243b
RM
180492010-08-01 Robert Millan <rmh@gnu.org>
18050
18051 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18052 kFreeBSD device name, except on ZFS where the filesystem label is
18053 used.
18054 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18055 `/boot/zfs/zpool.cache'.
18056 Set mountfrom kernel variable using ${kfreebsd_device}.
18057
f7abdefb
RM
180582010-08-01 Robert Millan <rmh@gnu.org>
18059
18060 Make it even harder to use uninitialized `libzfs_handle' (and
18061 make the interface a bit simpler).
18062
18063 * include/grub/util/misc.h (grub_util_init_libzfs)
18064 (libzfs_handle): Remove.
18065 (grub_get_libzfs_handle): New prototype.
18066
18067 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18068 attribute.
18069 (grub_util_init_libzfs): Remove.
18070 (grub_get_libzfs_handle): New function.
18071
18072 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18073 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18074 accessing `libzfs_handle' directly.
18075
c882acc0
RM
180762010-08-01 Robert Millan <rmh@gnu.org>
18077
18078 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18079 (grub_find_zpool_from_mount_point): New function prototypes.
18080
18081 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18082 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18083
18084 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18085 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18086 `static' attribute.
18087
18088 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18089 finding zpool from mount point into ...
18090 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18091
18092 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18093 requested path is part of a ZFS pool, use
18094 grub_find_zpool_from_mount_point() to detect its filesystem name,
18095 and generate a path with `/fsname@path' syntax.
18096
8bfe31d8
CW
180972010-08-01 Colin Watson <cjwatson@ubuntu.com>
18098
18099 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18100 (void) rather than () so that this is a proper prototype.
18101
553df63d
VS
181022010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18103
18104 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18105
8687cf07
VS
181062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18109 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18110
ea9be8ea
CW
181112010-08-01 Colin Watson <cjwatson@ubuntu.com>
18112
18113 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18114
6eea041a
CW
181152010-08-01 Colin Watson <cjwatson@ubuntu.com>
18116
18117 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18118
2cfb45df
CW
181192010-08-01 Colin Watson <cjwatson@ubuntu.com>
18120
18121 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18122 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18123 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18124 disable gfxpayload.
18125 (Shell-like scripting): Add real content.
18126 (Serial terminal): Suggest `terminal_input serial; terminal_output
18127 serial' rather than putting the two commands on separate lines,
18128 since console input will be inoperative after the first command.
18129 (menuentry): Document --class, --users, and --hotkey options.
18130 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18131 Vladimir Serbinenko).
18132
7decd202
VS
181332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
181342010-08-01 Colin Watson <cjwatson@ubuntu.com>
18135
18136 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18137
c882acc0
RM
181382010-08-01 Robert Millan <rmh@gnu.org>
18139
18140 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18141 (grub_find_zpool_from_mount_point): New function prototypes.
18142
18143 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18144 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18145
18146 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18147 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18148 `static' attribute.
18149
18150 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18151 finding zpool from mount point into ...
18152 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18153
18154 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18155 requested path is part of a ZFS pool, use
18156 grub_find_zpool_from_mount_point() to detect its filesystem name,
18157 and generate a path with `/fsname@path' syntax.
18158
deb0caa3
RM
181592010-08-01 Robert Millan <rmh@gnu.org>
18160
18161 Prevent accidental use of uninitialized libzfs_handle.
18162
18163 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18164 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18165 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18166
ce04ef47
CW
181672010-08-01 Colin Watson <cjwatson@ubuntu.com>
18168
18169 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18170 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18171
ebf53056
RM
181722010-08-01 Robert Millan <rmh@gnu.org>
18173
18174 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18175
3710bb6b
RM
181762010-07-31 Robert Millan <rmh@gnu.org>
18177
18178 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18179
8072efeb
RM
181802010-07-31 Robert Millan <rmh@gnu.org>
18181
18182 * kern/emu/misc.c: Add missing license header.
18183
3169f4c7
RM
181842010-07-31 Robert Millan <rmh@gnu.org>
18185
18186 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18187
18188 * include/grub/util/libnvpair.h: Include `<config.h>'.
18189 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18190 declaring libnvpair prototypes ourselves.
18191 * include/grub/util/libzfs.h: Include `<config.h>'.
18192 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18193 declaring libzfs prototypes ourselves.
18194
18195 (libzfs_handle): Moved to ...
18196 * include/grub/util/misc.h (libzfs_handle): ... here.
18197 Include `<grub/util/libzfs.h>'.
18198
c9a00aee
RM
181992010-07-30 Robert Millan <rmh@gnu.org>
18200
18201 * include/grub/emu/misc.h: Add missing license header.
18202
a184f9c8
RM
182032010-07-30 Robert Millan <rmh@gnu.org>
18204
18205 Enable `grub-probe -t device' resolution on ZFS.
18206
18207 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18208 * include/grub/util/libnvpair.h: New file.
18209 * include/grub/util/libzfs.h: New file.
18210
18211 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18212 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18213 `<grub/util/libnvpair.h>'.
18214 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18215
18216 (find_mount_point_from_dir): New static function.
18217 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18218 function.
18219 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18220 find_root_device_from_libzfs() before ressorting to find_root_device().
18221
18222 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18223 prototype.
18224 * util/misc.c: Include `<grub/util/libzfs.h>'.
18225 (grub_util_init_libzfs): New function.
18226 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18227 [HAVE_LIBZFS] (fini_libzfs): New static function.
18228 (grub_util_init_libzfs): New function.
18229 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18230
f7790cdd
RM
182312010-07-30 Robert Millan <rmh@gnu.org>
18232
18233 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18234 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18235 `warn_unused_result' attribute.
18236 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18237 (grub_xasprintf, grub_xvasprintf): Likewise.
18238 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18239
0806b63c
RM
182402010-07-29 Robert Millan <rmh@gnu.org>
18241
18242 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18243 (probe): Handle `PRINT_FS_LABEL'.
18244 (main): Handle `-t fs_label'.
18245
9f841f5c
RM
182462010-07-29 Robert Millan <rmh@gnu.org>
18247
18248 * configure.ac: Remove grub-mkisofs checks.
18249
46371121
VS
182502010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18253 Reported by: Lennart Sorensen.
18254
182552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18258 prior to terminal_input/terminal_output separation. It's been over 1.5
18259 years and those versions weren't widely deployed.
18260
a9600892
CW
182612010-07-22 Colin Watson <cjwatson@ubuntu.com>
18262
18263 * disk/raid.c (insert_array): Don't count named arrays when looking
18264 for unused array numbers.
697e053c 18265 Reported and tested by: Michael Guntsche.
a9600892 18266
c03507df
CW
182672010-07-20 Colin Watson <cjwatson@ubuntu.com>
18268
18269 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18270 implementation of this so that grub-emu links again, with a note
18271 that this should support hotplugging in the future.
18272
b26f1c11
CW
182732010-07-20 Colin Watson <cjwatson@ubuntu.com>
18274
18275 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18276
efc9d7f1
CW
182772010-07-20 Colin Watson <cjwatson@ubuntu.com>
18278
18279 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18280 handle on failure.
18281 (grub_loopback_close): Remove empty function.
18282 (grub_loopback_dev): Remove close method.
18283
dd8ff5c9
CW
182842010-07-20 Colin Watson <cjwatson@ubuntu.com>
18285
18286 Disable EFI cursor when the EFI console becomes inactive.
18287
18288 * term/efi/console.c (grub_efi_console_init): New function.
18289 (grub_efi_console_fini): New function.
18290 (grub_console_term_output): Register init and fini methods.
18291
5e3bec67
VS
182922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18295 sh script.
18296
afaec079
VS
182972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * disk/loopback.c (grub_loopback): Replace filename with file.
18300 (delete_loopback): Handle new semantics.
18301 (grub_cmd_loopback): Likewise.
18302 (grub_loopback_iterate): Likewise.
18303 (grub_loopback_close): Likewise.
18304
a6a11f3c
VS
183052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18308 with -p "".
18309 Reported by: Tito Keitel.
18310
64a638b0
VS
183112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 * docs/grub.texi (Naming convention): Document new naming convention.
18314
ab8ba957
VS
183152010-07-20 Vadim Solomin <vadic052@gmail.com>
183162010-07-20 Colin Watson <cjwatson@ubuntu.com>
18317
18318 Generate device.map in something closer to the old ordering.
18319
18320 * util/deviceiter.c (struct device): New declaration.
18321 (compare_file_names): Rename to ...
18322 (compare_devices): ... this. Sort by kernel name in preference to
18323 the stable by-id name, but keep the latter as a fallback comparison.
18324 Update header comment.
18325 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18326 of `struct device' rather than of plain file names.
18327
a29d6a4b
TF
183282010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18329
18330 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18331 on i386.
18332
39d824e8
VS
183332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18336 hardcoding size.
18337 (setv1table): Likewise.
18338
f058276b
FZ
183392010-07-20 Colin Watson <cjwatson@ubuntu.com>
18340
18341 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18342 removing the homehost if present.
18343 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18344 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18345 removing the homehost if present.
18346 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18347 if possible.
18348 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18349
18350 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18351 parameter. Set its pointer target to 0.
18352 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18353 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18354 `data_offset' value from the superblock for 1.x metadata.
18355 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18356 data on the device.
18357 (insert_array): Record the start sector of data on the device.
18358 (grub_raid_register): Pass start_sector parameters to
18359 grub_raid_list->detect and insert_array.
18360 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18361 member.
18362 (struct grub_raid): Add start_sector parameter to `detect'.
18363
18364 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18365 __attribute__ ((packed)), leaving a comment.
18366 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18367 (grub_mdraid_detect_09): ... here and ...
18368 (grub_mdraid_detect_1x): ... here.
18369
183702010-07-20 Peter Henn <peter.henn@web.de>
18371
18372 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18373 chunk size and disk size, which are already given as sector counts
18374 as distinct from the 0.90 units. Fetch the correct device number
18375 from the role table instead of using the table index.
18376
183772010-07-20 Felix Zielcke <fzielcke@z-51.de>
18378
18379 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18380 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18381 (WriteMostly1): New macro.
18382 Set array->name to NULL for metadata format 0.90. Add support for
18383 metadata 1.x. Fix some comments.
18384 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18385 few comments.
18386 * util/getroot.c (grub_util_get_grub_dev): Add support for
18387 /dev/md/name style devices.
18388
4b761da9
CW
183892010-07-20 Colin Watson <cjwatson@ubuntu.com>
18390
18391 * .bzrignore: Ignore 20_linux_xen.
18392
5771289a
CW
183932010-07-17 Colin Watson <cjwatson@ubuntu.com>
18394
18395 * util/import_unicode.py: Remove unnecessary imports.
18396
5dab68df
AN
183972010-07-17 Aleš Nesrsta <starous@volny.cz>
18398
18399 Hotplugging and USB hub support.
18400
18401 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18402 (grub_ohci): Likewise.
18403 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18404 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18405 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18406 (GRUB_OHCI_CTRL_EDS): Likewise.
18407 (GRUB_OHCI_BULK_EDS): Likewise.
18408 (GRUB_OHCI_TDS): Likewise.
18409 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18410 (grub_ohci_ed_phys2virt): New function.
18411 (grub_ohci_virt_to_phys): Likewise.
18412 (grub_ohci_td_phys2virt): Likewise.
18413 (grub_ohci_td_virt2phys): Likewise.
18414 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18415 attachment.
18416 (grub_ohci_find_ed): New function.
18417 (grub_ohci_alloc_td): Likewise.
18418 (grub_ohci_free_td): Likewise.
18419 (grub_ohci_free_tds): Likewise.
18420 (grub_ohci_transfer): Use previously allocated memory.
18421 (grub_ohci_portstatus): Reset status changed bit.
18422 (grub_ohci_detect_dev): Supply status changed.
18423 (grub_ohci_fini_hw): Free memory.
18424 (grub_ohci_restore_hw): Reallocate memory.
18425 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18426 Reset status change.
18427 (grub_uhci_detect_dev): Supply status_change.
18428 * bus/usb/usb.c (attach_hooks): New var.
18429 (grub_usb_device_attach): New function.
18430 (grub_usb_register_attach_hook_class): Likewise.
18431 (grub_usb_unregister_attach_hook_class): Likewise.
18432 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18433 (grub_usb_add_hub): Reset connection changed bit.
18434 (attach_root_port): New function.
18435 (grub_usb_root_hub): Likewise.
18436 (poll_nonroot_hub): Likewise.
18437 (grub_usb_poll_devices): Likewise.
18438 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18439 * disk/usbms.c (grub_usbms_open): Use device hooks.
18440 (grub_usbms_iterate) :Poll devices.
18441 (grub_usbms_finddevs): Split into ...
18442 (grub_usbms_attach): ... this ...
18443 (grub_usbms_attach): ... and this.
18444 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18445 in detect_dev.
18446 (grub_usb_interface): New fields attached and detach_hook.
18447 (grub_usb_attach_hook_class): New type.
18448 (grub_usb_attach_desc): New struct.
18449 (grub_usb_register_attach_hook_class): New function.
18450 (grub_usb_unregister_attach_hook_class): Likewise.
18451 (grub_usb_poll_devices): Likewise.
18452 (grub_usb_device_attach): Likewise.
18453 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18454 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18455
3222efaf
VS
184562010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18459 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18460 delta determination style. Works with most NetBSD partitions too.
18461
139b714a
VS
184622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18465 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18466
986aad56
VS
184672010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18470
99be513c
AB
184712010-07-14 Anton Blanchard <anton@samba.org>
18472
18473 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18474 ET_DYN files.
18475
18075f62
GS
184762010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18477
18478 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18479
8d9a5b15
GS
184802010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18481
18482 * kern/partition.c (grub_partition_check_containment): New function to
18483 check that a partition is physically contained in a parent. Since
18484 offsets are relative (and non-negative), this reduces to checking that
18485 the partition ends before its parent.
18486 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18487 (grub_partition_iterate): Likewise.
18488 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18489 comments.
18490 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18491 partitions that start before their parent, and add debug printfs.
18492
19563c25
CW
184932010-07-13 Colin Watson <cjwatson@ubuntu.com>
18494
18495 * Makefile.in (.SUFFIX): Spell correctly, as ...
18496 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18497 bare module name without `.mod', e.g. `test') tried to invoke a
18498 Modula-2 compiler.
18499
1a1f1e67
CW
185002010-07-13 Colin Watson <cjwatson@ubuntu.com>
18501
18502 * README: Point to the Info manual.
18503
811b0dca
JS
185042010-07-13 Jiro SEKIBA <jir@unicus.jp>
18505
18506 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18507 2nd superblock position from partition size.
18508
e4f4eafc
CW
185092010-07-10 Colin Watson <cjwatson@ubuntu.com>
18510
18511 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18512 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18513 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18514 outputs.
18515
4274c30f
VS
185162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 Restructure SCSI .id handling.
18519 Reported and tested by: Aleš Nesrsta.
18520
18521 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18522 (grub_atapi_dev): Changed .name to "ata". New field .id.
18523 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18524 (grub_usbms_dev): New field .id.
18525 * disk/scsi.c (grub_scsi_iterate): Generate name.
18526 (grub_scsi_open): Parse name.
18527 * include/grub/scsi.h (grub_make_scsi_id): New function.
18528 (grub_scsi_dev): Change iterate and open to number instead of naming
18529 busses. All users updated.
18530 (grub_scsi): Remove name. Add .bus.
18531
5bc24388
VS
185322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18533
18534 * commands/help.c (grub_cmd_help): Fix a typo.
18535
249975ba
VS
185362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18539 Reported and tested by: Colin Watson.
18540
3eaac1a1
VS
185412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18544 in this context.
18545
becce1b1
VS
185462010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18549
f7bf0918
CW
185502010-07-07 Colin Watson <cjwatson@ubuntu.com>
18551
18552 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18553 indentation.
18554
0b0f9620
CW
185552010-07-06 Colin Watson <cjwatson@ubuntu.com>
18556
18557 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18558 and disk/raid6_recover.c.
18559 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18560 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18561
1e545469
CW
185622010-07-06 Colin Watson <cjwatson@ubuntu.com>
18563
18564 * term/gfxterm.c (repaint_schedulded): Rename to ...
18565 (repaint_scheduled): ... this. Update all callers.
18566 (repaint_was_schedulded): Rename to ...
18567 (repaint_was_scheduled): ... this. Update all callers.
18568
5357687a
CW
185692010-07-06 Colin Watson <cjwatson@ubuntu.com>
18570
18571 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18572 which we expect to be handled by upper layers.
18573
29d7e783
BC
185742010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18575
18576 * bus/usb/usbhub.c: #include time.h header.
18577
37582066
CW
185782010-07-06 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18581 entry_name also for entries without stat blocks (e.g. ".."); fixes
18582 corruption of the first entry in a directory.
18583
c8c06953
CW
185842010-07-06 Colin Watson <cjwatson@ubuntu.com>
18585
18586 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18587 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18588 doesn't work otherwise.
18589
e75056f1
CW
185902010-07-05 Colin Watson <cjwatson@ubuntu.com>
18591
18592 * docs/grub.texi (Features): Update list of supported file systems.
18593 (GNU/Linux): Update for GRUB 2.
18594 (Serial terminal): Remove mention of --disable-serial, which was a
18595 GRUB Legacy configure option. Update instructions to use
18596 `terminal_input' and `terminal_output' rather than `terminal'.
18597 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18598 configuration' and `Installing GRUB using grub-install'.
18599 (Menu entry editor): Update for GRUB 2.
18600 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18601 Document new -a, -u, and -v options.
18602 (initrd): New section.
18603 (initrd16): New section.
18604 (linux): New section.
18605 (linux16): New section.
18606 (search): The `var' argument to `--set' is optional.
18607 (GRUB only offers a rescue shell): Go into a little more detail on
18608 drive ordering.
18609
5cf69151
CW
186102010-07-05 Colin Watson <cjwatson@ubuntu.com>
18611
18612 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18613
e3f90044
CW
186142010-07-05 Colin Watson <cjwatson@ubuntu.com>
18615
18616 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18617 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18618
38d8f4f3
CW
186192010-07-05 Colin Watson <cjwatson@ubuntu.com>
18620
18621 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18622 install_prefix, in line with install_dos_part and install_bsd_part.
18623 Add new prefix variable, which is copied to install_prefix after
18624 comparing core.img in memory with the one read from disk in the
18625 no-embedding case, and use that rather than overwriting
18626 install_prefix immediately when installing to a partition.
18627 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18628 Bicakci.
18629
57ebd41e
GS
186302010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18631
18632 * configure.ac: Avoid == in test command, it's not portable.
18633 * util/grub.d/30_os-prober.in: Likewise.
18634
cb7f64b2
CW
186352010-07-04 Colin Watson <cjwatson@ubuntu.com>
18636
18637 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18638
6b654bb0
GS
186392010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18640
18641 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18642 multiple (top-level) partmaps.
18643
72a2026d
VS
186442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18647 Reported by: Tino Keitel.
72a2026d 18648
df3eb88f
VS
186492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 Bidi and diacritics support.
18652
18653 * Makefile.in (widthspec.bin): New target.
18654 (widthspec.h): Likewise.
18655 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18656 * autogen.sh: Generate unidata.c.
18657 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18658 * commands/ls.c (grub_ls_list_devices): Likewise.
18659 (grub_ls_list_files): Likewise.
18660 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18661 (grub_mini_cmd_lsmod): Likewise.
18662 * commands/read.c: Likewise.
18663 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18664 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18665 * lib/arg.c (grub_arg_show_help): Likewise.
18666 * lib/crypto.c (grub_password_get): Likewise.
18667 * normal/auth.c (grub_username_get): Likewise.
18668 * normal/misc.c (grub_normal_print_device_info): Likewise.
18669 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18670 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18671 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18672 (normal/charset.c_DEPENDENCIES): New variable.
18673 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18674 (pkglib_MODULES): Remove charset.mod.
18675 (charset_mod_SOURCES): Removed.
18676 (charset_mod_CFLAGS): Likewise.
18677 (charset_mod_LDFLAGS): Likewise.
18678 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18679 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18680 and term/tparm.c.
18681 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18682 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18683 (kernel_img_HEADERS): Add terminfo.h.
18684 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18685 Fill ->font. Reverse ascii bitmaps.
18686 (grub_font_get_xheight): New function.
18687 * font/font.c (grub_font_get_string_width): Moved from here ...
18688 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18689 * font/font.c (grub_font_draw_string): Moved from here ...
18690 * gfxmenu/font.c (grub_font_draw_string): ... here.
18691 * font/font.c (grub_font_dup_glyph): New function.
18692 (grub_font_blit_glyph): Likewise.
18693 (grub_font_blit_glyph_mirror): Likewise.
18694 (blit_comb): Likewise.
18695 (grub_font_construct_dry_run): Likewise.
18696 (grub_font_get_constructed_device_width): Likewise.
18697 (grub_font_construct_glyph): Likewise.
18698 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18699 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18700 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18701 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18702 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18703 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18704 (grub_font_get_xheight): New proto.
18705 (grub_font_get_constructed_device_width): Likewise.
18706 (grub_font_construct_glyph): Likewise.
18707 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18708 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18709 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18710 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18711 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18712 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18713 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18714 (grub_console_getcharwidth): Likewise.
18715 * include/grub/misc.h (grub_xputs): New proto.
18716 (grub_puts): Inlined.
18717 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18718 (grub_normal_get_line_counter): Removed.
18719 (grub_install_newline_hook): Likewise.
18720 (grub_normal_get_char_counter): New proto.
18721 (grub_normal_reset_more): Likewise.
18722 (grub_xputs_normal): Likewise.
18723 * include/grub/powerpc/ieee1275/console.h: Removed.
18724 * include/grub/sparc64/ieee1275/console.h: Likewise.
18725 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18726 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18727 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18728 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18729 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18730 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18731 (grub_term_input): Pass reference to self. All users updated.
18732 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18733 Pass reference to self. New fields normal_color, highlight_color and
18734 data. All users updated.
18735 (grub_putchar): Removed.
18736 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18737 (grub_unicode_estimate_width): New function.
18738 (grub_term_getcharwidth): Add defaults.
18739 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18740 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18741 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18742 (grub_cls): Remove EXPORT_FUNC.
18743 (grub_setcolorstate): Inline.
18744 (grub_newline_hook): Removed.
18745 * include/grub/terminfo.h: Rewritten. All users updated.
18746 * include/grub/unicode.h: New file.
18747 * include/grub/video.h (grub_video_signed_rect): New type.
18748 * kern/emu/console.c (grub_console_highlight_color): Removed.
18749 (grub_console_normal_color): Likewise.
18750 (grub_console_standard_color): Made static.
18751 (grub_ncurses_putchar): Remove mapping.
18752 (grub_ncurses_getcharwidth): Removed.
18753 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18754 (grub_ncurses_setcolor): Removed.
18755 (grub_ncurses_getcolor): Likewise.
18756 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18757 (grub_console_putchar): ... this.
18758 (grub_console_putchar): Handle argument difference.
18759 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18760 console_init_early and console_init_lately.
18761 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18762 * kern/misc.c (grub_puts): Removed.
18763 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18764 (grub_vsnprintf_real): Remove str = NULL support.
18765 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18766 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18767 * kern/term.c (grub_putcode): Renamed to ...
18768 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18769 (grub_putchar): Removed.
18770 (grub_xputs_dumb): New function.
18771 (grub_xputs): New variable.
18772 * lib/charset.c: Move from here ...
18773 * normal/charset.c: ... to here.
18774 (grub_ucs4_to_utf8): New function.
18775 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18776 (join_types): New variable.
18777 (unpack_join): New function.
18778 (bidi_types): New variable.
18779 (unpack_bidi): New function.
18780 (get_bidi_type): Likewise.
18781 (get_join_type): Likewise.
18782 (is_mirrored): Likewise.
18783 (grub_unicode_get_comb_type): Likewise.
18784 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18785 (is_type_after): Likewise.
18786 (grub_unicode_aglomerate_comb): Likewise.
18787 (bidi_line_wrap): Likewise.
18788 (grub_bidi_line_logical_to_visual): Likewise.
18789 (grub_bidi_logical_to_visual): Likewise.
18790 (grub_unicode_mirror_code): Likewise.
18791 (grub_unicode_shape_code): Likewise.
18792 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18793 Don't use grub_putchar.
18794 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18795 (grub_normal_reader_init): Likewise.
18796 (grub_xputs_saved): New variable.
18797 (GRUB_MOD_INIT): Set grub_xputs.
18798 (GRUB_MOD_FINI): Restore grub_xputs.
18799 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18800 (menu_init): Avoid printing gfxmenu error.
18801 (show_menu): Use grub_normal_get_char_counter.
18802 * normal/menu_entry.c (update_screen): Fix out-of-array.
18803 (complete): Avoid NULL dereferencing.
18804 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18805 * normal/menu_text.c (print_spaces): Removed.
18806 (grub_print_ucs4): Likewise.
18807 (grub_print_message_indented): Use grub_print_ucs4.
18808 (print_message): Use grub_putcode.
18809 (print_entry): Hanlde diacritics.
18810 * normal/term.c (term_state): New type.
18811 (grub_more_lines): Removed.
18812 (term_states): New variable.
18813 (grub_normal_line_counter): Renamed to ..
18814 (grub_normal_char_counter): ...this. All users updated.
18815 (grub_normal_get_line_counter): Renamed to ...
18816 (grub_normal_get_char_counter): ... this.
18817 (grub_normal_reset_more): New function.
18818 (process_newline): Removed.
18819 (print_more): New function.
18820 (grub_install_newline_hook): Removed.
18821 (map_code): New function.
18822 (grub_puts_terminal): Use grub_print_ucs4.
18823 (putglyph): New function.
18824 (putcode_real): Likewise.
18825 (grub_putcode): Use putcode_real.
18826 (get_maxwidth): New function.
18827 (get_startwidth): Likewise.
18828 (print_ucs4_terminal): Likewise.
18829 (find_term_state): Likewise.
18830 (put_glyphs_terminal): Likewise.
18831 (print_backlog): Likewise.
18832 (print_ucs4_real): Likewise.
18833 (grub_print_ucs4): Likewise.
18834 (grub_xputs_normal): Likewise.
18835 * term/efi/console.c (grub_console_putchar): Output diacritics.
18836 (grub_console_getcharwidth): Removed.
18837 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18838 * term/gfxterm.c (clear_char): Free chars.
18839 (scroll_up): Avoid leaking memory.
18840 (grub_gfxterm_putchar): Support diacritics.
18841 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18842 * term/i386/pc/console.c (grub_console_term_output): Declare as
18843 GRUB_TERM_CODE_TYPE_VGA.
18844 * term/i386/pc/vga.c (grub_vga_term): Declare as
18845 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18846 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18847 GRUB_TERM_CODE_TYPE_VGA.
18848 * term/i386/vga_common.c (map_char): Removed.
18849 (grub_console_putchar): Likewise.
18850 (grub_console_getcharwidth): Likewise.
18851 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18852 (colors): Reordered to match terminfo.
18853 (grub_ofconsole_normal_color): Removed.
18854 (grub_ofconsole_writeesc): Likewise.
18855 (grub_ofconsole_highlight_color): Likewise.
18856 (grub_ofconsole_getcharwidth): Likewise.
18857 (grub_ofconsole_setcolorstate): Likewise.
18858 (grub_ofconsole_setcolor): Likewise.
18859 (grub_ofconsole_getcolor): Likewise.
18860 (grub_ofconsole_readkey): Renamed to ...
18861 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18862 key.
18863 (grub_ofconsole_checkkey): Removed.
18864 (grub_ofconsole_getkey): Likewise.
18865 (grub_ofconsole_getxy): Likewise.
18866 (grub_ofconsole_gotoxy): Likewise.
18867 (grub_ofconsole_cls): Likewise.
18868 (grub_ofconsole_refresh): Likewise.
18869 (grub_ofconsole_terminfo_input): New struct.
18870 (grub_ofconsole_terminfo_output): Likewise.
18871 (grub_ofconsole_term_input): Use terminfo.
18872 (grub_ofconsole_term_output): Likewise.
18873 (grub_console_init): Split into ...
18874 (grub_console_init_early): ...this and ...
18875 (grub_console_init_lately): ...this. Use terminfo.
18876 (grub_ofconsole_putchar): Renamed to ...
18877 (put): ... this. Remove mapping.
18878 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18879 * term/serial.c: Simplify using terminfo.
18880 (xpos): Removed.
18881 (ypos): Likewise.
18882 (keep_track): Likewise.
18883 (registered): Likewise.
18884 (input_buf): Likewise.
18885 (npending): Likewise.
18886 (serial_translate_key_sequence): Likewise.
18887 (fill_input_buf): Likewise.
18888 (grub_serial_checkkey): Likewise.
18889 (grub_serial_getkey): Likewise.
18890 (grub_serial_getxy): Likewise.
18891 (grub_serial_gotoxy): Likewise.
18892 (grub_serial_putchar): Likewise.
18893 (grub_serial_cls): Likewise.
18894 (grub_serial_setcolorstate): Likewise.
18895 (grub_serial_setcursor): Likewise.
18896 (serial_hw_init): Use serial_hw_fetch.
18897 (grub_serial_terminfo_input): New variable.
18898 (grub_serial_terminfo_output): Likewise.
18899 (grub_serial_term_input): Use terminfo.
18900 (grub_serial_term_output): Likewise.
18901 * term/terminfo.c (putstr): Use put.
18902 (grub_terminfo_all_free): New function
18903 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18904 (grub_terminfo_output_register): New function.
18905 (grub_terminfo_output_unregister): Likewise.
18906 (grub_terminfo_getxy): Likewise.
18907 (grub_terminfo_readkey): Likewise.
18908 (grub_terminfo_checkkey): Likewise.
18909 (grub_terminfo_getkey): Likewise.
18910 (grub_terminfo_input_init): Likewise.
18911 (print_terminfo): Likewise.
18912 (grub_cmd_terminfo): Handle encoding.
18913 (grub_terminfo_gotoxy): Track position.
18914 (grub_terminfo_cls): Likewise.
18915 (grub_terminfo_putchar): Likewise.
18916 (grub_terminfo_setcolorstate): Handle colors
18917 (grub_terminfo_cursor_on): This ...
18918 (grub_terminfo_cursor_off): ... and this merged into ...
18919 (grub_terminfo_setcursor): ... this.
18920 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18921 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18922 * unicode/BidiMirroring.txt: Likewise.
18923 * unicode/UnicodeData.txt: Likewise.
18924 * unicode/COPYING: Likewise.
18925 * util/grub-editenv.c (grub_putchar): Removed.
18926 (grub_xputs_real): New function.
18927 (grub_xputs): New variable.
18928 * util/grub-fstest.c (grub_putchar): Removed.
18929 (grub_xputs_real): New function.
18930 (grub_xputs): New variable.
18931 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18932 (grub_xputs_real): New function.
18933 (grub_xputs): New variable.
18934 * util/grub-probe.c (grub_putchar): Removed.
18935 (grub_xputs_real): New function.
18936 (grub_xputs): New variable.
18937 * util/grub-script-check.c (grub_putchar): Removed.
18938 (grub_xputs_real): New function.
18939 (grub_xputs): New variable.
18940 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18941 (grub_xputs_real): New function.
18942 (grub_xputs): New variable.
18943 * util/import_unicode.py: New file.
18944 * util/grub-mkfont.c (ft_errmsgs): New array.
18945 (grub_glyph_info): Make bitmap a pointer.
18946 (file_formats): New type WIDTH_SPEC.
18947 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18948 (options): Add width-spec.
18949 (help): Likewise.
18950 (add_char): Renamed to ...
18951 (add_glyph): ... this.
18952 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18953 (glyph_replace): New type.
18954 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18955 (add_char): New function.
18956 (add_subst): Likewise.
18957 (process_cursive): Likewise.
18958 (add_font): Handle GSUB.
18959 (write_font_width_spec): New function.
18960 (main): Sort glyphs.
18961 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18962 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18963 * kern/term.c (grub_cls): Moved from here...
18964 * normal/term.c (grub_cls): ... here.
18965
50f0bcda
CW
189662010-07-02 Colin Watson <cjwatson@ubuntu.com>
18967
18968 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18969 suitable for using within the format argument of printf when
18970 converting grub_size_t.
18971 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18972 "x" to convert grub_size_t arguments.
18973
40372103
VS
189742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18977 too long captions.
18978 (list_get_minimal_size): Take selection box into account.
18979
942a10c7
VS
189802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18983 NULL font.
18984
2bdb2892
CW
189852010-07-02 Colin Watson <cjwatson@ubuntu.com>
18986
18987 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18988 devices when iterating over /dev/disk/by-id; they will be handled
18989 later if appropriate, which they aren't always (e.g. LVM).
18990
e03ed6c1
CW
189912010-07-02 Colin Watson <cjwatson@ubuntu.com>
18992
18993 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18994 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18995 fails.
18996 (grub_halt): Likewise.
18997 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18998 reset-all fails.
18999 (grub_halt): Don't return, even if all of shut-down, power-off, and
19000 poweroff fail.
19001
47695765
CW
190022010-07-02 Colin Watson <cjwatson@ubuntu.com>
19003
19004 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19005 arguments, not three.
19006
507736c8
CW
190072010-07-02 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19010 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19011 LVM-on-RAID is handled correctly.
19012
e3c8cd37
CW
190132010-07-02 Colin Watson <cjwatson@ubuntu.com>
19014
19015 * docs/grub.texi (Changes from GRUB Legacy): New section.
19016 (Future): Fix typo.
19017
8d4a2fec
CW
190182010-07-02 Colin Watson <cjwatson@ubuntu.com>
19019
19020 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19021 grub.d/README accidentally ends up executable for one reason or
19022 another. Ignore it.
19023
1c4827be
VS
190242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19027 (gpt_partition_map_iterate): Support non-512B sectors.
19028
d9a0c941
VS
190292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19032 Tested by: Seth Goldberg.
19033
48f27e87
VS
190342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19037 Properly align mbi.
19038 Reported by: Seth Goldberg.
19039
b0c4f956
VS
190402010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * util/grub-mkrescue.in: Avoid module duplication.
19043
105a2e8c
SF
190442010-07-01 Sean Finney <seanius@seanius.net>
19045
19046 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19047
5944958c
SF
190482010-07-01 Sean Finney <seanius@seanius.net>
19049
19050 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19051
190522010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * disk/lvm.c (grub_lvm_checkvalue): New function.
19055 (grub_lvm_check_flag): Likewise.
19056
b79889ba
RM
190572010-07-01 Robert Millan <rmh@gnu.org>
19058
19059 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19060 Support 'p' as partition separator on kernel of FreeBSD (used
19061 with GPT labels).
19062 (grub_util_biosdisk_get_grub_dev): Likewise.
19063
ec1d04f1
VS
190642010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 Yeeloong firmware port.
19067
19068 * boot/mips/yeeloong/fwstart.S: New file.
19069 * bus/cs5536.c (gpiodump): New const.
19070 (set_io_space): New function.
19071 (set_iod): Likewise.
19072 (set_p2d): Likewise.
19073 (grub_cs5536_init_geode): Likewise.
19074 * commands/mips/yeeloong/lsspd.c: New file.
19075 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19076 (serial_mod_SOURCES): New variable.
19077 (serial_mod_CFLAGS): Likewise.
19078 (serial_mod_LDFLAGS): Likewise.
19079 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19080 term/terminfo.c and term/tparm.c.
19081 (pkglib_IMAGES): Add fwstart.img.
19082 (fwstart_img_SOURCES): New variable.
19083 (fwstart_img_CFLAGS): Likewise.
19084 (fwstart_img_ASFLAGS): Likewise.
19085 (fwstart_img_LDFLAGS): Likewise.
19086 (fwstart_img_FORMAT): Likewise.
19087 (pkglib_MODULES): Add lsspd.mod.
19088 (lsspd_mod_SOURCES): New variable.
19089 (lsspd_mod_CFLAGS): Likewise.
19090 (lsspd_mod_LDFLAGS): Likewise.
19091 (pkglib_MODULES): Add halt.mod.
19092 (halt_mod_SOURCES): New variable.
19093 (halt_mod_CFLAGS): Likewise.
19094 (halt_mod_LDFLAGS): Likewise.
19095 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19096 (serial_mod_SOURCES): Removed.
19097 (serial_mod_CFLAGS): Likewise.
19098 (serial_mod_LDFLAGS): Likewise.
19099 * disk/ata.c (check_device): New function.
19100 (grub_ata_device_initialize): Use check_device.
19101 (grub_ata_iterate): Recheck devices.
19102 (grub_ata_open): Likewise.
19103 (grub_atapi_iterate): Likewise.
19104 (grub_atapi_open): Likewise.
19105 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19106 (GRUB_ATA_CH1_PORT1): Likewise.
19107 (GRUB_ATA_CH0_PORT2): Likewise.
19108 (GRUB_ATA_CH1_PORT2): Likewise.
19109 * include/grub/mips/loongson.h: New file.
19110 * include/grub/mips/yeeloong/ec.h: Likewise.
19111 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19112 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19113 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19114 * include/grub/misc.h (grub_halt): Declare as noreturn.
19115 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19116 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19117 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19118 (UART_ENABLE_DTRRTS): Likewise.
19119 (UART_ENABLE_MODEM): Removed.
19120 (UART_ENABLE_OUT2): New const.
19121 * include/grub/term.h (grub_term_register_input_active): New function.
19122 (grub_term_register_output_active): Likewise.
19123 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19124 argument.
19125 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19126 (init_pci): New function.
19127 (grub_machine_init): Execute platform init when firmware. Init serial.
19128 (grub_halt): Implement.
19129 (grub_exit): Likewise.
19130 (grub_reboot): Likewise.
19131 * term/serial.c (serial_hw_init): Update macros.
19132 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19133 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19134 (image_targets): New target mipsel-yeeloong-flash.
19135 (generate_image): Support IMAGE_YEELOONG_FLASH.
19136 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19137 (grub_video_sm712_setup): Init card.
19138 (grub_video_sm712_set_palette): Removed.
19139 * video/sm712_init.c: New file.
19140
ff4a70d2
CW
191412010-06-30 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19144 PATH when running help2man and then run it on the unadorned
19145 executable names, rather than passing $(builddir)/* paths to
19146 help2man. This avoids the build directory ending up in generated
19147 manual pages.
19148
1246efeb
CW
191492010-06-29 Colin Watson <cjwatson@ubuntu.com>
19150
19151 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19152 to avoid accidents when debugging with 'sh -x'.
19153 * util/grub-mkrescue.in: Likewise.
19154 * util/grub.d/00_header.in: Likewise.
19155 * util/grub.d/10_hurd.in: Likewise.
19156 * util/grub.d/10_kfreebsd.in: Likewise.
19157 * util/grub.d/10_linux.in: Likewise.
19158 * util/grub.d/10_netbsd.in: Likewise.
19159 * util/grub.d/10_windows.in: Likewise.
19160 * util/grub.d/20_linux_xen.in: Likewise.
19161 * util/grub.d/30_os-prober.in: Likewise.
19162 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19163
1ba9b889
CW
191642010-06-29 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19167 last character in the buffer.
19168 Reported by: Vladimir Serbinenko.
19169
dccaf99d
RM
191702010-06-29 Robert Millan <rmh@gnu.org>
19171
19172 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19173 (Command-line and menu entry commands): Document `badram' command.
19174
d500ed12
RM
191752010-06-28 Robert Millan <rmh@gnu.org>
19176
19177 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19178 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19179 command using ${GRUB_BADRAM} as parameter.
19180
20bc84a6
CW
191812010-06-28 Colin Watson <cjwatson@ubuntu.com>
19182
19183 * docs/grub.texi (Device map): New section.
19184 (Themes): New section (stub).
19185 * Makefile.in (docs/grub.info): The info documentation now builds
19186 without errors. Make sure it stays that way.
19187
4045dee1
VS
191882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 Use normal parser for menu entries.
19191 Reported by: Thomas Frauendorfer
19192
19193 * include/grub/parser.h (grub_parser_execute): Don't export.
19194 * normal/menu.c (grub_menu_execute_entry_real): New function.
19195 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19196
bca58c7b
CW
191972010-06-28 Colin Watson <cjwatson@ubuntu.com>
19198
19199 * docs/grub.texi (Embedded configuration): New section (replacing
19200 old "Preset Menu" stub).
19201 (Images): New section.
19202 (configfile): Note that any menu entries defined in `file' are shown
19203 immediately.
19204
dec53e63
JT
192052010-06-28 Josh Triplett <josh@joshtriplett.org>
19206
19207 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19208
c06e40f7
CW
192092010-06-28 Colin Watson <cjwatson@ubuntu.com>
19210
19211 * util/grub-install.in: Add --debug-image= option.
19212
cb88052b
CW
192132010-06-28 Colin Watson <cjwatson@ubuntu.com>
19214
19215 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19216 possible on Linux.
19217
19218 * util/deviceiter.c (check_device): Rename to ...
19219 (check_device_readable_unique): ... this. Update all callers.
19220 Maintain and check a list of which devices (by canonicalized name)
19221 have already been seen.
19222 (clear_seen_devices): New function.
19223 (compare_file_names) [__linux__]: New function.
19224 (grub_util_iterate_devices): Clear the list of seen devices on exit
19225 and (just in case) on entry.
19226 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19227 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19228 seen-devices list, superseded by general code in check_device.
19229
bbe34652
CW
192302010-06-28 Colin Watson <cjwatson@ubuntu.com>
19231
19232 * commands/cat.c (options): New variable.
19233 (grub_cmd_cat): Parse options. If the --dos option is given, print
19234 DOS-style "\r\n" line endings as simple newlines (Debian bug
19235 #586358).
19236 (GRUB_MOD_INIT): Use extcmd.
19237 (GRUB_MOD_FINI): Likewise.
19238 * docs/grub.texi (cat): Document --dos.
19239
412e09f3
VS
192402010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 XEN with Linux grub-mkconfig support.
19243
19244 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19245 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19246 GRUB_CMDLINE_XEN_DEFAULT.
19247 * util/grub.d/20_linux_xen.in: New file.
19248
53f3ef38 192492010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19250
19251 Initialise VGA video on qemu ourselves.
19252
19253 * boot/i386/qemu/boot.S: Don't call 0xc000.
19254 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19255 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19256 (kernel_img_HEADERS): Add pci.h.
19257 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19258 * configure.ac: Force unifont on qemu and yeeloong.
19259 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19260 (grub_vga_palette_write): Use correct register.
19261 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19262 Call grub_qemu_init_cirrus.
19263 * kern/i386/qemu/init.c: New file.
19264 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19265
19266 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19267
c75be4fb
PR
192682010-06-26 Pavel Roskin <proski@gnu.org>
19269
19270 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19271 13.
19272
d8034603
CW
192732010-06-26 Colin Watson <cjwatson@ubuntu.com>
19274
19275 * docs/grub.texi (Simple configuration): Explain that
19276 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19277 set to `true' to disable their respective recovery entries, not
19278 merely set.
19279
3fa06487
CW
192802010-06-26 Colin Watson <cjwatson@ubuntu.com>
19281
19282 Make the `source' command slightly faster.
19283
19284 * normal/main.c (grub_normal_execute): Don't re-read list files when
19285 nested.
19286
e9b29642
CW
192872010-06-23 Colin Watson <cjwatson@ubuntu.com>
19288
19289 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19290 field position and mask size to red fields from mode_info, not
19291 green.
19292 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19293 Remove redundant tag->common.framebuffer_type assignment.
19294 Reported by: Seth Goldberg.
19295
e726542f
CW
192962010-06-23 Colin Watson <cjwatson@ubuntu.com>
19297
19298 Sync up other versions of the Linux loader with Robert Millan's
19299 change of 2010-01-09, "Make loader output a bit more user-friendly".
19300
19301 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19302 grub_dprintf().
19303 (grub_cmd_linux): Likewise.
19304 (grub_cmd_initrd): Likewise.
19305 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19306 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19307
d6e98a17
CW
193082010-06-21 Colin Watson <cjwatson@ubuntu.com>
19309
19310 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19311 larger than MEMORY_MAP_SIZE.
19312
14d3f08e
BC
193132010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19314
19315 Fix parallel build.
19316
19317 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19318 dependency.
19319 * script/parser.y: #include grub_script.tab.h header.
19320
4f9613a3
VS
193212010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 Support >3GiB and <16MiB RAM in i386-qemu.
19324
19325 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19326 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19327 (grub_lower_mem): Removed.
19328 (grub_upper_mem): Likewise.
19329 (mem_size): Made static.
19330 (above_4g): New variable.
19331 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19332 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19333 support.
19334
05e51879
VS
193352010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 Cirrus 5446 and Bochs video cards support.
19338
19339 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19340 video_bochs.mod
19341 (video_cirrus_mod_SOURCES): New variable.
19342 (video_cirrus_mod_CFLAGS): Likewise.
19343 (video_cirrus_mod_LDFLAGS): Likewise.
19344 (video_bochs_mod_SOURCES): Likewise.
19345 (video_bochs_mod_CFLAGS): Likewise.
19346 (video_bochs_mod_LDFLAGS): Likewise.
19347 * include/grub/vga.h: New file.
19348 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19349 (grub_video_fb_set_page_t): New type.
19350 (grub_video_fb_setup): New prototype.
19351 (grub_video_fb_swap_buffers): Likewise.
19352 (grub_video_fb_get_info_and_fini): Likewise.
19353 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19354 (CRTC_DATA_PORT): Likewise.
19355 (CRTC_CURSOR): Likewise.
19356 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19357 (CRTC_CURSOR_ADDR_LOW): Likewise.
19358 (CRTC_CURSOR_DISABLE): Likewise.
19359 (update_cursor): Use grub_vga_cr_write.
19360 (grub_vga_text_setcursor): Likewise.
19361 * video/bochs.c: New file.
19362 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19363 (palette): Likewise.
19364 (palette_size): Likewise.
19365 (framebuffer): New variable.
19366 (grub_video_fb_init): Use 'framebuffer'.
19367 (grub_video_fb_fini): Likewise.
19368 (grub_video_fb_get_info): Likewise.
19369 (grub_video_fb_get_palette): Likewise.
19370 (grub_video_fb_set_palette): Likewise.
19371 (grub_video_fb_set_viewport): Likewise.
19372 (grub_video_fb_get_viewport): Likewise.
19373 (grub_video_fb_map_color): Likewise.
19374 (grub_video_fb_map_rgb): Likewise.
19375 (grub_video_fb_map_rgba): Likewise.
19376 (grub_video_fb_unmap_color): Likewise.
19377 (grub_video_fb_unmap_color_int): Likewise.
19378 (grub_video_fb_fill_rect): Likewise.
19379 (grub_video_fb_blit_bitmap): Likewise.
19380 (grub_video_fb_blit_render_target): Likewise.
19381 (grub_video_fb_scroll): Likewise.
19382 (grub_video_fb_create_render_target): Likewise.
19383 (grub_video_fb_doublebuf_blit_init): Likewise.
19384 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19385 (doublebuf_pageflipping_update_screen): New function.
19386 (doublebuf_pageflipping_init): Likewise.
19387 (grub_video_fb_setup): Likewise.
19388 (grub_video_fb_swap_buffers): Likewise.
19389 (grub_video_fb_get_info_and_fini): Likewise.
19390 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19391 All users updated.
19392 (doublebuf_pageflipping_commit): Restructured into ...
19393 (doublebuf_pageflipping_set_page): ... this.
19394 (doublebuf_pageflipping_update_screen): Removed.
19395 (doublebuf_pageflipping_init): Likewise.
19396 (double_buffering_init): Likewise.
19397 (grub_video_vbe_setup): Use grub_video_fb_setup.
19398 (grub_video_vbe_swap_buffers): Removed.
19399 (grub_video_vbe_set_active_render_target): Likewise.
19400 (grub_video_vbe_get_active_render_target): Likewise.
19401 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19402 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19403 grub_video_fb_set_active_render_target and
19404 grub_video_fb_get_active_render_target.
19405 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19406 (SEQUENCER_DATA_PORT): Likewise.
19407 (MAP_MASK_REGISTER): Likewise.
19408 (CRTC_ADDR_PORT): Likewise.
19409 (CRTC_DATA_PORT): Likewise.
19410 (START_ADDR_HIGH_REGISTER): Likewise.
19411 (START_ADDR_LOW_REGISTER): Likewise.
19412 (GRAPHICS_ADDR_PORT): Likewise.
19413 (GRAPHICS_DATA_PORT): Likewise.
19414 (READ_MAP_REGISTER): Likewise.
19415 (INPUT_STATUS1_REGISTER): Likewise.
19416 (INPUT_STATUS1_VERTR_BIT): Likewise.
19417 (get_map_mask): Use grub_vga_sr_read.
19418 (set_map_mask): Use grub_vga_sr_write.
19419 (set_read_map): Use grub_vga_gr_write.
19420 (set_start_address): Use grub_vga_cr_write.
19421 * video/sm712.c (framebuffer): Remove leftover fields.
19422
4321c64a
CW
194232010-06-20 Colin Watson <cjwatson@ubuntu.com>
19424
19425 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19426 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19427 instead. Replace the gfxterm backend check with a check that
19428 ${GRUB_PREFIX}/video.lst is non-empty.
19429 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19430 again.
19431 (load_video): New generated function. Call it before loading
19432 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19433 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19434 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19435 * docs/grub.texi (Simple configuration): Document
19436 GRUB_VIDEO_BACKEND.
19437
194382010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19439
19440 Use video functions in linux and xnu loaders.
19441
19442 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19443 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19444 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19445 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19446 loader/i386/pc/linux.c.
19447 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19448 (find_line_len): Removed.
19449 (find_framebuf): Likewise.
19450 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19451 * loader/i386/efi/xnu.c: Removed.
19452 * loader/i386/pc/xnu.c: Moved from here...
19453 * loader/i386/xnu.c: ...here.
19454
19455 Enable priorities in video drivers.
19456
19457 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19458 (grub_video_adapter): New field prio.
19459 (grub_video_register): Respect prio when inserting.
19460 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19461 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19462 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19463 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19464 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19465 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19466 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19467
19468 Fix SDL driver ID.
19469
19470 * include/grub/video.h (grub_video_driver_id_t): New value
19471 GRUB_VIDEO_DRIVER_SDL.
19472 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19473
7d24e434
CW
194742010-06-17 Colin Watson <cjwatson@ubuntu.com>
19475
19476 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19477 argument to printf.
19478 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19479
c88a83f6
CW
194802010-06-17 Colin Watson <cjwatson@ubuntu.com>
19481
19482 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19483 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19484
094dfb69
CW
194852010-06-17 Colin Watson <cjwatson@ubuntu.com>
19486
19487 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19488 directly, and recommend grub-install instead.
19489 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19490
2164da6b
CW
194912010-06-17 Colin Watson <cjwatson@ubuntu.com>
19492
19493 Fix i386-pc prefix handling with nested partitions (Debian bug
19494 #585068). Note that the case where the core image is booted using
19495 multiboot and relocated from its original location still requires
19496 more work.
19497
19498 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19499 with "(,", fill the boot drive in between those two characters, but
19500 expect that a full partition specification including partition map
19501 names will follow.
19502 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19503 specified, write a prefix without the drive name but including a
19504 full partition specification.
19505
044e2e60
CW
195062010-06-16 Colin Watson <cjwatson@ubuntu.com>
19507
19508 * util/grub-mkconfig.in: Ignore non-option arguments, for
19509 compatibility with older versions (before 2010-06-12) which did the
19510 same. In particular, this makes it easier to ship an update-grub
19511 wrapper which is compatible with that used with GRUB Legacy (Debian
19512 bug #586056).
19513
5591324f
GS
195142010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19515
19516 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19517 for manual page generation.
19518
662e24d5
GS
195192010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19520
19521 * po/POTFILES: Remove leftover commands/handler.c.
19522
8d70754e
CW
195232010-06-14 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19526 left this script non-functional.
19527
41160e2e
CW
195282010-06-14 Colin Watson <cjwatson@ubuntu.com>
19529
19530 * docs/man/grub-emu.h2m: New file.
19531
b5309cc1
CW
195322010-06-13 Colin Watson <cjwatson@ubuntu.com>
19533
19534 * docs/grub.texi (Commands): Document reduced command set in rescue
19535 mode.
19536 (cpuid): New section.
19537
fcb2d090
GS
195382010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19539
19540 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19541 new partition naming style.
19542 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19543
96e5c556
BC
195442010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19545
19546 Add "-o grub.iso" like cmdline options support.
19547
19548 * util/grub-install.in: Improve cmdline option parsing.
19549 * util/grub-mkconfig.in: Likewise.
19550 * util/grub-mkrescue.in: Likewise.
19551 * util/grub-reboot.in: Likewise.
19552 * util/grub-set-default.in: Likewise.
19553 * util/i386/efi/grub-install.in: Likewise.
19554 * util/ieee1275/grub-install.in: Likewise.
19555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19556
c16be99b
CW
195572010-06-12 Colin Watson <cjwatson@ubuntu.com>
19558
19559 * .bzrignore: Ignore 41_custom.
19560
ce08a9fb
TS
195612010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19562
19563 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19564
7beac90c
CW
195652010-06-12 Colin Watson <cjwatson@ubuntu.com>
19566
19567 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19568 prototype declarations.
19569
19570 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19571 generating fs, partmap, and video lists.
19572 * include/grub/fs.h (grub_fs_register): Omit prototype if
19573 GRUB_LST_GENERATOR is defined.
19574 * include/grub/partition.h (grub_partition_map_register): Likewise.
19575 * include/grub/video.h (grub_video_register): Likewise.
19576
1c8f0f8d
JM
195772010-06-12 Javier Martín <lordhabbit@gmail.com>
19578
19579 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19580
a6085973
TS
195812010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19582
19583 * util/grub-mkrescue.in: Support --xorriso argument.
19584
25c56d29
VS
195852010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19586
19587 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19588 Suggested by: Thomas Schmitt.
19589
e03e4b24
VS
195902010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19591
19592 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19593 Suggested by: Thomas Schmitt.
19594
57711df6
VS
195952010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 custom.cfg support.
19598
19599 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19600 * util/grub.d/41_custom.in: New file.
19601
ee62c427
CW
196022010-06-12 Colin Watson <cjwatson@ubuntu.com>
19603
19604 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19605 been merged back into normal.
19606
283af07a
CW
196072010-06-11 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19610 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19611
56a0d956
CW
196122010-06-11 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19615 when generating manual pages.
19616 * docs/man/grub-bin2h.h2m: New file.
19617 * docs/man/grub-editenv.h2m: New file.
19618 * docs/man/grub-fstest.h2m: New file.
19619 * docs/man/grub-install.h2m: New file.
19620 * docs/man/grub-macho2img.h2m: New file.
19621 * docs/man/grub-mkconfig.h2m: New file.
19622 * docs/man/grub-mkdevicemap.h2m: New file.
19623 * docs/man/grub-mkfont.h2m: New file.
19624 * docs/man/grub-mkimage.h2m: New file.
19625 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19626 * docs/man/grub-mkrelpath.h2m: New file.
19627 * docs/man/grub-mkrescue.h2m: New file.
19628 * docs/man/grub-ofpathname.h2m: New file.
19629 * docs/man/grub-pe2elf.h2m: New file.
19630 * docs/man/grub-probe.h2m: New file.
19631 * docs/man/grub-reboot.h2m: New file.
19632 * docs/man/grub-script-check.h2m: New file.
19633 * docs/man/grub-set-default.h2m: New file.
19634 * docs/man/grub-setup.h2m: New file.
19635
3a37e322
VS
196362010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 Use FOR_* macros instead of *_iterate whenever possible.
19639
19640 * commands/handler.c: Removed.
19641 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19642 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19643 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19644 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19645 (grub_probe_SOURCES): Remove kern/parser.c.
19646 (util/grub-script-check.c_DEPENDENCIES): Removed.
19647 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19648 and grub_script_check_init.c.
19649 (grub_script_check_init.lst): Removed.
19650 (grub_script_check_init.h): Likewise.
19651 (grub_script_check_init.c): Likewise.
19652 (pkglib_MODULES): Remove handler.mod and sh.mod.
19653 (handler_mod_SOURCES): Removed.
19654 (handler_mod_CFLAGS): Likewise.
19655 (handler_mod_LDFLAGS): Likewise.
19656 (normal_mod_SOURCES): Remove normal/handler.c.
19657 Add script/main.c, script/script.c, script/execute.c,
19658 script/function.c, script/lexer.c, grub_script.tab.c
19659 and grub_script.yy.c.
19660 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19661 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19662 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19663 (grub_setup_SOURCES): Remove kern/parser.c.
19664 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19665 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19666 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19667 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19668 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19669 (grub_setup_SOURCES): Remove kern/parser.c.
19670 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19671 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19672 * include/grub/command.h (grub_command_iterate): Removed.
19673 (FOR_COMMANDS): New macro.
19674 * include/grub/dl.h (grub_dl): New member next.
19675 (grub_dl_iterate): Removed.
19676 (grub_dl_head): New variable declaration.
19677 (FOR_DL_MODULES): New macro.
19678 * include/grub/fs.h: Include list.h.
19679 (grub_fs): Make next first element.
19680 (grub_fs_list): New variable declaration.
19681 (grub_fs_register): Make inline.
19682 (grub_fs_unregister): Likewise.
19683 (grub_fs_iterate): Removed.
19684 (FOR_FILESYSTEMS): New macro.
19685 * include/grub/handler.h: Removed.
19686 * include/grub/list.h (grub_list_hook_t): Removed.
19687 (grub_list_test_t): Likewise.
19688 (grub_list_pop): Likewise.
19689 (grub_list_iterate): Likewise.
19690 (grub_list_insert): Likewise.
19691 (FOR_LIST_ELEMENTS): New macro.
19692 * include/grub/parser.h (grub_parser_class): Removed.
19693 (grub_parser_register): Likewise.
19694 (grub_parser_unregister): Likewise.
19695 (grub_parser_get_current): Likewise.
19696 (grub_parser_set_current): Likewise.
19697 (grub_register_rescue_parser): Likewise.
19698 (grub_rescue_parse_line): New function.
19699 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19700 * include/grub/script_sh.h (grub_script_function_list): New variable
19701 declaration.
19702 (FOR_SCRIPT_FUNCTIONS): New macro.
19703 (grub_script_function_iterate): Removed.
19704 (grub_normal_parse_line): New prototype.
19705 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19706 (FOR_DISABLED_TERM_INPUTS): Likewise.
19707 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19708 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19709 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19710 element.
19711 (grub_video_register): Inline.
19712 (grub_video_unregister): Likewise.
19713 (grub_video_adapter_list): New variable declaration.
19714 (grub_video_iterate): Removed.
19715 (FOR_VIDEO_ADAPTERS): New macro.
19716 * kern/dl.c (grub_dl_list): Removed. All users updated.
19717 (grub_dl_iterate): Removed.
19718 * kern/fs.c (grub_fs_list): Make global.
19719 (grub_fs_register): Removed.
19720 (grub_fs_unregister): Likewise.
19721 (grub_fs_iterate): Likewise.
19722 * kern/handler.c: Removed.
19723 * kern/list.c (grub_list_pop): Removed.
19724 (grub_list_iterate): Likewise.
19725 (grub_list_insert): Likewise.
19726 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19727 (grub_prio_list_insert): Don't use grub_list_insert.
19728 * kern/main.c (grub_register_rescue_parser): Don't call
19729 grub_register_rescue_parser.
19730 * kern/parser.c (grub_parser_class): Removed.
19731 (grub_parser_execute): Use grub_rescue_parse_line.
19732 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19733 (grub_rescue_parser): Removed.
19734 (grub_register_rescue_parser): Likewise.
19735 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19736 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19737 (grub_auth_check_authentication): Likewise.
19738 * normal/completion.c (iterate_command): Removed.
19739 (grub_normal_do_completion): Use FOR_COMMANDS.
19740 * normal/handler.c: Removed.
19741 * normal/main.c (read_config_file): Remove parser changing.
19742 (grub_normal_execute): Don't call read_handler_list.
19743 (grub_normal_read_line_real): Statically allocate prompt.
19744 (grub_cmdline_run): Use grub_normal_parse_line.
19745 (GRUB_MOD_FINI): Don't call free_handler_list.
19746 * normal/menu_entry.c (run): Likewise.
19747 * script/function.c (grub_script_function_list): Make global.
19748 (grub_script_function_iterate): Removed.
19749 * script/main.c (grub_normal_parse_line): Make global.
19750 (grub_sh_parser): Removed.
19751 (GRUB_MOD_INIT): Likewise.
19752 (GRUB_MOD_FINI): Likewise.
19753 * tests/lib/functional_test.c (grub_functional_test): Use
19754 FOR_LIST_ELEMENTS.
19755 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19756 (grub_test_run): Use FOR_LIST_ELEMENTS.
19757 * tests/lib/unit_test.c (main): Likewise.
19758 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19759 grub_list_pop.
19760 * util/grub-fstest.c (grub_term_input_class): Removed.
19761 (grub_term_output_class): Likewise.
19762 * util/grub-probe.c: Likewise.
19763 * util/i386/pc/grub-setup.c: Likewise.
19764 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19765 * util/grub-script-check.c (main): Don't call grub_init_all and
19766 grub_fini_all.
19767 * video/video.c (grub_video_adapter_list): Make global.
19768 (grub_video_register): Removed.
19769 (grub_video_unregister): Likewise.
19770 (grub_video_iterate): Likewise.
19771
6289c3a7
VS
197722010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19775 reported by Henrique Ferreiro.
19776
91460247
RM
197772010-06-09 Robert Millan <rmh@gnu.org>
19778
19779 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19780 ones, when both are available.
19781
0ea7c4f9
GS
197822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19783
19784 Make --version uniform and avoid hard-coded program name.
19785
19786 * util/grub-mkimage.c (main): Use `program_name' instead of
19787 hard-coded string.
19788 * util/i386/pc/grub-setup.c (main): Likewise.
19789 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19790 * util/grub-install.in: Save the basename of $0 in $self, and use the
19791 latter in informational messages. Use the same format for --version
19792 as the binary programs.
19793 * util/grub-mkconfig.in: Likewise.
19794 * util/grub-mkrescue.in: Likewise.
19795 * util/grub-reboot.in: Likewise.
19796 * util/grub-set-default.in: Likewise.
19797 * util/i386/efi/grub-install.in: Likewise.
19798 * util/ieee1275/grub-install.in: Likewise.
19799 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19800
e8a6f3b6
GS
198012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19802
19803 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19804 embedding area. Use <= instead of == when checking for non-emptiness.
19805
f4d095d7
GS
198062010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19807
19808 * configure.ac: Add `.' to the directories searched for unifont.
19809
50e532ca
CW
198102010-06-08 Colin Watson <cjwatson@ubuntu.com>
19811
19812 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19813 grub_script.yy.h.
19814
d39f3dec
CW
198152010-06-08 Colin Watson <cjwatson@ubuntu.com>
19816
19817 * docs/grub.texi (History): Expand to cover GRUB 2.
19818 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19819 commands, not `terminal'.
19820 (serial): Likewise.
19821 (terminal_input): New section.
19822 (terminal_output): New section.
19823 (uppermem): New section (stub).
19824 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19825
6ef0ddb4
CW
198262010-06-08 Colin Watson <cjwatson@ubuntu.com>
19827
19828 * docs/grub.texi (Security): Menu entries are unrestricted by
19829 default, not restricted to superusers as I had previously thought.
19830 Reword to account for this.
19831
e0f4c438
CW
198322010-06-07 Colin Watson <cjwatson@ubuntu.com>
19833
19834 * kern/emu/misc.c (device_mapper_null_log): New function.
19835 (grub_device_mapper_supported): New function.
19836 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19837 prototype.
19838 * kern/emu/hostdisk.c (find_partition_start): Check whether
19839 device-mapper is supported before trying to use it.
19840 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19841
da908200
CW
198422010-06-07 Colin Watson <cjwatson@ubuntu.com>
19843
19844 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19845 (File name syntax): Likewise.
19846 (help): --all is no longer supported in GRUB 2. Be more precise
19847 about pattern matching.
19848
fb55c3ac
CW
198492010-06-07 Colin Watson <cjwatson@ubuntu.com>
19850
19851 * normal/completion.c (grub_normal_do_completion): When completing
19852 arguments to "set" and the current word contains an equals sign,
19853 skip to after the equals sign before starting completion.
19854
258c2573
CW
198552010-06-07 Colin Watson <cjwatson@ubuntu.com>
19856
19857 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19858
ee75515e
CW
198592010-06-07 Colin Watson <cjwatson@ubuntu.com>
19860
19861 * docs/grub.texi (Network): New section.
19862 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19863 `(nd)' as in GRUB Legacy.
19864 (pxe_unload): New section.
19865
a6a700aa
CW
198662010-06-07 Colin Watson <cjwatson@ubuntu.com>
19867
19868 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19869 in the rescue shell, so recommend using `set' instead. Thanks,
19870 Jordan Uggla.
19871
4003dd38
CW
198722010-06-07 Colin Watson <cjwatson@ubuntu.com>
19873
19874 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19875 (password): New section.
19876 (password_pbkdf2): New section.
19877 (search): New section.
19878 (Security): New section.
19879 (Troubleshooting): New section, currently very incomplete.
19880 (Invoking grub-mkpasswd-pbkdf2): New section.
19881 (Internals): New section, currently very incomplete.
19882
e1cbcc40
CW
198832010-06-07 Colin Watson <cjwatson@ubuntu.com>
19884
19885 * util/grub.d/00_header.in: Add some more quoting (of
19886 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19887 work again.
19888 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19889
db8fa1ad
CW
198902010-06-07 Colin Watson <cjwatson@ubuntu.com>
19891
19892 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19893 to `count', fixing variable shadowing that broke the -c option.
19894
198952010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19896
19897 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19898 in case they contain spaces.
19899
f28a9212
CW
199002010-06-04 Colin Watson <cjwatson@ubuntu.com>
19901
19902 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19903 "part_" to partmap module names, in line with grub-install.
19904 Reported by: Jindřich Makovička (Debian bug #584426).
19905
9cdfe32f
CW
199062010-06-04 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * util/grub-mkimage.c: Make target-related error messages slightly
19909 more helpful; -O talks about "format". Explicitly point to the use
19910 of -O if no target is specified.
19911 Reported by: Didier Raboud (Debian bug #584415).
19912
795b593a
CW
199132010-06-03 Colin Watson <cjwatson@ubuntu.com>
19914
19915 * INSTALL: Document several build requirements for optional features
19916 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19917
9d9b5833
GS
199182010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19919
19920 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19921 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19922 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19923
0819fec8
CW
199242010-06-02 Colin Watson <cjwatson@ubuntu.com>
19925
19926 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19927 Thanks to Jordan Uggla for spotting this.
19928
49396b4f
VS
199292010-06-02 Aleš Nesrsta <starous@volny.cz>
19930
19931 Finally make USB usable.
19932
19933 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19934 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19935 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19936 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19937 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19938 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19939 (GRUB_OHCI_FSMPS): Likewise.
19940 (GRUB_OHCI_PERIODIC_START): Likewise.
19941 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19942 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19943 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19944 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19945 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19946 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19947 (grub_ohci_transaction): Likewise.
19948 (grub_ohci_transfer): Improve condition detection algorithms.
19949 Handle toggle property. Program the transactions correctly.
19950 Improve error handling. Various important fixups.
19951 (grub_ohci_portstatus): Put register writes in right order.
19952 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19953 (grub_uhci_transfer): Don't show "failed" message on success.
19954 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19955 array.
19956 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19957 determine its size.
19958 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19959 before initialization is completed. Use IN direction for empty
19960 transfers. Use last_trans and compute toggle.
19961 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19962 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19963 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19964 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19965 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19966 (grub_usb_device): Increase toggle to 256.
19967 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19968 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19969 GRUB_USBMS_SUBCLASS_SFF8070.
19970 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19971 (grub_scsi_inquiry): New member page and alloc_length.
19972 (grub_scsi_request_sense): New structure.
19973 (grub_scsi_request_sense_data): Likewise.
19974 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19975 control.
19976 * disk/scsi.c (grub_scsi_request_sense): New function.
19977 (grub_scsi_test_unit_ready): Likewise.
19978 (grub_scsi_inquiry): Fill new fields.
19979 (grub_scsi_read_capacity): Likewise.
19980 (grub_scsi_read10): Add request sense at the end.
19981 (grub_scsi_read12): Likewise.
19982 (grub_scsi_write10): Likewise.
19983 (grub_scsi_write12): Likewise.
19984 (grub_scsi_open): Add Test Unit Ready.
19985 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19986 Support additional subclasses. Con't clear halt yet. Activate the
19987 proper config. Calculate LUNs correctly.
19988 (grub_usbms_transfer): Various important fixups.
19989
199902010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19993 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19994 (grub_ohci_fini_hw): New function.
19995 (grub_ohci_restore_hw): Likewise.
19996 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19997 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19998 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19999
200002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 Dedicated DMA allocations.
20003
20004 * bus/pci.c (grub_memalign_dma32): New function
20005 (grub_dma_free): Likewise.
20006 (grub_dma_get_virt): Likewise.
20007 (grub_dma_get_phys): Likewise.
20008 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20009 (grub_ohci_pci_iter): Use dma32_alloc.
20010 (grub_ohci_transfer): Likewise.
20011 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20012 (grub_usb_bulk_readwrite): Likewise.
20013 * include/grub/pci.h: Add declarations.
20014
200152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 CS5536 support.
20018
20019 * bus/cs5536.c: New file.
20020 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20021 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20022 (cs5536_mod_SOURCES): New variable.
20023 (cs5536_mod_CFLAGS): Likewise.
20024 (cs5536_mod_LDFLAGS): Likewise.
20025 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20026 machine/pci.h.
20027 (kernel_img_SOURCES): Add bus/cs5536.c.
20028 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20029 usb_keyboard.mod.
20030 (usb_mod_SOURCES): New variable.
20031 (usb_mod_CFLAGS): New variable.
20032 (usb_mod_LDFLAGS): New variable.
20033 (usbtest_mod_SOURCES): New variable.
20034 (usbtest_mod_CFLAGS): New variable.
20035 (usbtest_mod_LDFLAGS): New variable.
20036 (ohci_mod_SOURCES): New variable.
20037 (ohci_mod_CFLAGS): New variable.
20038 (ohci_mod_LDFLAGS): New variable.
20039 (usbms_mod_SOURCES): New variable.
20040 (usbms_mod_CFLAGS): New variable.
20041 (usbms_mod_LDFLAGS): New variable.
20042 (usb_keyboard_mod_SOURCES): New variable.
20043 (usb_keyboard_mod_CFLAGS): New variable.
20044 (usb_keyboard_mod_LDFLAGS): New variable.
20045 * include/grub/smbus.h: New file.
20046 * include/grub/cs5536.h: New file.
20047
0b35b2a9
CW
200482010-06-02 Colin Watson <cjwatson@ubuntu.com>
20049
20050 * util/grub.d/00_header.in: Add safety check to make sure that
20051 ${locale_dir} exists before trying to probe it.
20052
ca0afd5b
CW
200532010-06-02 Colin Watson <cjwatson@ubuntu.com>
20054
20055 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20056 per the GNU Coding Standards; this is now too obscure to be worth
20057 documenting.
20058 (QNX): Likewise.
20059 (chainloader): Remove cross-reference to `SCO UnixWare'.
20060
1c41aa78
CW
200612010-06-02 Colin Watson <cjwatson@ubuntu.com>
20062
20063 * docs/grub.texi (Chain-loading): New section.
20064 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20065 adjusted for GRUB 2.
20066 (SCO UnixWare): Likewise.
20067 (QNX): Likewise.
20068 (chainloader): Add reference to `Block list syntax'.
20069 (drivemap): New section.
20070 (parttool): New section.
20071
bb8ea0f5
CW
200722010-06-02 Colin Watson <cjwatson@ubuntu.com>
20073
20074 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20075 the grub shell'.
20076 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20077 (Installing GRUB using grub-install): Remove reference to the grub
20078 shell; mention `grub-mkimage' and `grub-setup' instead.
20079 (Invoking grub-install): Likewise.
20080 (Interface): Add reference to `Menu entry editor'.
20081 (serial): Remove `--device' option.
20082
288dd6ed
CW
200832010-06-02 Colin Watson <cjwatson@ubuntu.com>
20084
20085 * docs/grub.texi (Configuration): New section, documenting
20086 configuration file generation using grub-mkconfig. I've left a slot
20087 for documenting the full shell scripting format but have not yet
20088 started on writing that up.
20089 (Invoking grub-mkconfig): New section.
20090
34c9f0e9
CW
200912010-06-02 Colin Watson <cjwatson@ubuntu.com>
20092
20093 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20094 (GNU GRUB manual): Likewise.
20095 (General commands): Update description of `terminfo' for GRUB 2.
20096
9121567e
CW
200972010-06-02 Colin Watson <cjwatson@ubuntu.com>
20098
20099 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20100 (GRUB_MOD_INIT): Fix capitalisation.
20101 * docs/grub.texi (Command-line and menu entry commands): Document
20102 gettext and gptsync commands.
20103
ab631611
CW
201042010-06-02 Colin Watson <cjwatson@ubuntu.com>
20105
20106 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20107 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20108
bde4a9ac
CW
201092010-06-01 Colin Watson <cjwatson@ubuntu.com>
20110
20111 Add btrfs probing support, currently only in the single-device case.
20112
20113 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20114 function.
20115 (grub_guess_root_device): Call find_root_device_from_mountinfo
20116 before looking in /dev.
20117
b1d17e10
VS
201182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20121 GRUB_DISK_SIZE_UNKNOWN.
20122 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20123
dfbfe004
JS
201242010-05-31 Jiro SEKIBA <jir@unicus.jp>
20125
20126 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20127 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20128 corrupted or not synced properly.
20129
c2ffc8e9
VS
201302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20133 Reported by: Seth Goldberg.
20134
56293166
VS
201352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20138 addition of dest.
20139 Reported by: Seth Goldberg.
20140
7620e7de
VS
201412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20144 Reported by: Seth Goldberg.
20145
c837af3f
VS
201462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20149 64-bit address as signed on MIPS.
20150
c7c75cf4
CW
201512010-05-28 Colin Watson <cjwatson@ubuntu.com>
20152
20153 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20154 to the empty string.
20155
fa4b8490
BC
201562010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20157
20158 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20159
20160 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20161 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20162 * kern/misc.c (__enable_execute_stack): Disable on
20163 GRUB_MACHINE_EMU.
20164
a33075b9
CW
201652010-05-28 Colin Watson <cjwatson@ubuntu.com>
20166
20167 Make grub-probe work with symbolic links under /dev/mapper as well
20168 as with real block devices. The Linux world seems to be (at best)
20169 in transition here, and GRUB shouldn't get caught in the middle.
20170
20171 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20172 /dev/mapper.
20173
d8708134
CW
201742010-05-27 Colin Watson <cjwatson@ubuntu.com>
20175
20176 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20177 input files (in which case exit zero).
20178
db2102a0
CW
201792010-05-27 Colin Watson <cjwatson@ubuntu.com>
20180
20181 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20182 return NULL for various reasons even if it has a maximum-length
20183 buffer: for example, there might be a symlink loop, or the path
20184 might exceed PATH_MAX. If this happens, return NULL.
20185
5fdba519
RM
201862010-05-27 Robert Millan <rmh@gnu.org>
20187
20188 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20189 partmap module to handle cross-partmap setups.
20190 Reported by Orestes Mas. Gràcies!
20191
d1d368e4
CW
201922010-05-27 Colin Watson <cjwatson@ubuntu.com>
20193
20194 * util/grub-mkrescue.in: Initialise override_dir rather than
20195 assuming that it's unset or empty in the environment.
20196
95ac3c73
GS
201972010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20198
20199 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20200 variable index into p_index to suppress a warning with -Wshadow.
20201
7d8c0213
BC
202022010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20203
20204 * INSTALL: Added flex >= 2.5.35 requirement.
20205
db4d5813
VS
202062010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20209
f24f4300
VS
202102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 cmostest support.
20213
20214 * commands/i386/cmostest.c: New file.
20215 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20216 (cmostest_mod_SOURCES): New variable.
20217 (cmostest_mod_CFLAGS): Likewise.
20218 (cmostest_mod_LDFLAGS): Likewise.
20219 * conf/i386-pc.rmk: Likewise.
20220 * docs/grub.texi (Vendor power-on keys): New section.
20221 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20222 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20223 and GRUB_BUTTON_CMOS_ADDRESS.
20224 * util/grub.d/00_header.in: Handle powering-on by separate button.
20225
ad603f61
VS
202262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20229 Removed drawing_scrollbar argument. All users updated
20230 Fixes #29792.
20231 Reported by Jo Shields
20232
3ecb080a
VS
202332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20236 buffer since gfxterm handles double repaint.
20237
5f2316c1
VS
202382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20241 * term/gfxterm.c (real_scroll): Likewise.
20242
9a25f885
VS
202432010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20246 before calling BIOS.
20247
39fbb79a
VS
202482010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 * include/grub/i18n.h: Always enable grub_gettext.
20251
228cfa97
VS
202522010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20255 partition naming style.
20256
21717c8f
CW
202572010-05-21 Colin Watson <cjwatson@ubuntu.com>
20258
20259 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20260 not the first option.
20261
c0f48e65
CW
202622010-05-20 Colin Watson <cjwatson@ubuntu.com>
20263
20264 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20265
96779aec
CW
202662010-05-20 Colin Watson <cjwatson@ubuntu.com>
20267
20268 * util/misc.c: Move inclusion of <limits.h> to ...
20269 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20270
fa9d256e
GS
202712010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20272
20273 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20274 Fix merge error in NetBSD code.
20275 (find_partition_start) [__NetBSD__]: Likewise.
20276
123b7a85
BC
202772010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20278
20279 Fix grub-mkrescue usage unit testing.
20280
20281 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20282
74276c0d
CF
202832010-05-18 Christian Franke <franke@computer.org>
20284
20285 * util/grub.d/10_windows.in: Use path names instead of
20286 drive letters to prevent warning from Cygwin 1.7.
20287 Add drivemap command to menuentry if needed.
20288
c4f7b523
ST
202892010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20290
20291 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20292 gnumach and gnumach.gz.
20293
95b97950
VS
202942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 * include/grub/i18n.h (gettext): Inline instead of using #define.
20297 (grub_gettext): Likewise.
20298 (_): Likewise.
20299
01b8d2d7
VS
203002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20303 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20304 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20305 (main): Add a slash after pkglibdirroot.
20306
654e1d1e
VS
203072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 * util/grub-install.in: Add missing "in" keyword.
20310
26966aeb
VS
203112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20314 Reported by: Seth Goldberg.
20315
75006747
VS
203162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20319
74cbf5bd
CW
203202010-05-18 Colin Watson <cjwatson@ubuntu.com>
20321
20322 * configure.ac: Check for Linux device-mapper support.
20323
20324 * util/hostdisk.c (device_is_mapped): New function.
20325 (find_partition_start): New function, partly broken out from
20326 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20327 device-mapper support added.
20328 (linux_find_partition): Use find_partition_start.
20329 (convert_system_partition_to_system_disk): Add `st' argument.
20330 Support Linux /dev/mapper/* devices if device-mapper support is
20331 available; only DM-RAID devices are understood at present.
20332 (find_system_device): Add `st' argument. Pass it to
20333 convert_system_partition_to_system_disk.
20334 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20335 find_system_device and convert_system_partition_to_system_disk. Use
20336 find_partition_start.
20337
20338 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20339 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20340 * util/deviceiter.c [__linux__]: Define MINOR.
20341 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20342 * util/mkdevicemap.c (grub_putchar): New function.
20343 (grub_getkey): New function.
20344 (grub_refresh): New function.
20345 (main): Set debug=all if -v -v is used.
20346
355b51e9
CW
203472010-05-18 Colin Watson <cjwatson@ubuntu.com>
20348
20349 Fix build with non-GNU libcs.
20350
20351 * util/misc.c (canonicalize_file_name): Move to ...
20352 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20353 grub_make_system_path_relative_to_its_root.
20354
7fb5c25f
CW
203552010-05-18 Colin Watson <cjwatson@ubuntu.com>
20356
20357 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20358 we handle finding grub-mkimage. Default to finding grub-mkimage in
20359 ${bindir} with program_transform_name applied, and provide a
20360 --grub-mkimage option to override this.
20361
1d3293d6
VS
203622010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 Remove grub-mkisofs.
20365
20366 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20367 (grub_mkisofs_SOURCES): Removed.
20368 (grub_mkisofs_CFLAGS): Removed.
20369 * util/mkisofs/defaults.h: Removed.
20370 * util/mkisofs/eltorito.c: Likewise.
20371 * util/mkisofs/exclude.h: Likewise.
20372 * util/mkisofs/hash.c: Likewise.
20373 * util/mkisofs/include/: Likewise.
20374 * util/mkisofs/include/fctldefs.h: Likewise.
20375 * util/mkisofs/include/mconfig.h: Likewise.
20376 * util/mkisofs/include/prototyp.h: Likewise.
20377 * util/mkisofs/include/statdefs.h: Likewise.
20378 * util/mkisofs/iso9660.h: Likewise.
20379 * util/mkisofs/joliet.c: Likewise.
20380 * util/mkisofs/match.c: Likewise.
20381 * util/mkisofs/match.h: Likewise.
20382 * util/mkisofs/mkisofs.c: Likewise.
20383 * util/mkisofs/mkisofs.h: Likewise.
20384 * util/mkisofs/msdos_partition.h: Likewise.
20385 * util/mkisofs/multi.c: Likewise.
20386 * util/mkisofs/name.c: Likewise.
20387 * util/mkisofs/rock.c: Likewise.
20388 * util/mkisofs/tree.c: Likewise.
20389 * util/mkisofs/write.c: Likewise.
20390
5dde9afe
VS
203912010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20392
20393 Unify grub-mkimage accross platforms.
20394
20395 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20396 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20397 (grub_mkelfimage_SOURCES): Removed.
20398 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20399 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20400 (bin_UTILITIES): Add grub-mkimage.
20401 (grub_mkimage_SOURCES): New variable.
20402 (kernel_img_HEADERS): Remove machine/kernel.h.
20403 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20404 (pkglib_PROGRAMS): Add kernel.img.
20405 (kernel_img_HEADERS): Add machine/kernel.h.
20406 (kernel_img_FORMAT): Removed.
20407 (bin_UTILITIES): Remove grub-mkimage.
20408 (grub_mkimage_SOURCES): Removed.
20409 (grub_mkimage_CFLAGS): Likewise.
20410 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20411 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20412 (pkglib_PROGRAMS): Add kernel.img.
20413 (bin_UTILITIES): Remove grub-mkimage.
20414 (grub_mkimage_SOURCES): Removed.
20415 (grub_mkimage_CFLAGS): Likewise.
20416 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20417 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20418 (pkglib_PROGRAMS): Add kernel.img.
20419 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20420 (pkglib_PROGRAMS): Add kernel.img.
20421 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20422 (grub_mkimage_SOURCES): Removed.
20423 (grub_mkimage_CFLAGS): Likewise.
20424 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20425 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20426 (pkglib_PROGRAMS): Add kernel.img.
20427 (bin_UTILITIES): Remove grub-mkimage.
20428 (grub_mkimage_SOURCES): Removed.
20429 (grub_mkimage_CFLAGS): Likewise.
20430 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20431 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20432 (grub_mkimage_SOURCES): Removed.
20433 (grub_mkimage_CFLAGS): Likewise.
20434 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20435 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20436 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20437 (grub_pe32_optional_header): ... this.
20438 (grub_pe64_optional_header): ... and this. All users updated.
20439 (GRUB_PE32_PE32_MAGIC): Split into ..
20440 (GRUB_PE32_PE32_MAGIC): .. this.
20441 (GRUB_PE32_PE64_MAGIC): .. and this.
20442 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20443 * include/grub/elf.h (PT_GNU_STACK): New definition.
20444 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20445 * include/grub/i386/efi/kernel.h: Likewise.
20446 * include/grub/i386/kernel.h: Likewise.
20447 * include/grub/i386/pc/kernel.h: Likewise.
20448 * include/grub/i386/qemu/boot.h: Likewise.
20449 * include/grub/mips/kernel.h: Likewise.
20450 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20451 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20452 * include/grub/powerpc/kernel.h: Likewise.
20453 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20454 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20455 * include/grub/sparc64/kernel.h: Likewise.
20456 * include/grub/x86_64/efi/kernel.h: Likewise.
20457 * include/grub/x86_64/kernel.h: Likewise.
20458 * include/grub/offsets.h: New file.
20459 * include/grub/kernel.h (grub_module_info): Split into ...
20460 (grub_module_info32): ... this.
20461 (grub_module_info64): ... and this.
20462 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20463 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20464 (grub_boot_blocklist): Moved from here ...
20465 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20466 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20467 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20468 * include/grub/types.h (grub_target_to_host16): Removed.
20469 (grub_target_to_host32): Likewise.
20470 (grub_target_to_host64): Likewise.
20471 (grub_host_to_target16): Likewise.
20472 (grub_host_to_target32): Likewise.
20473 (grub_host_to_target64): Likewise.
20474 (grub_host_to_target_addr): Likewise.
20475
20476 Support grub-mkrescue for efi, coreboot and qemu.
20477
20478 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20479 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20480 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20481 * util/grub-mkrawimage.c: Moved from here ...
20482 * util/grub-mkimage.c: ... here. All users updated.
20483 (ALIGN_ADDR): Use image_target.
20484 (TARGET_NO_FIELD): New const.
20485 (image_target_desc): New type.
20486 (image_targets): New array.
20487 (grub_target_to_host64): Use image_target.
20488 (grub_target_to_host32): Likewise.
20489 (grub_target_to_host16): Likewise.
20490 (grub_host_to_target64): Likewise.
20491 (grub_host_to_target32): Likewise.
20492 (grub_host_to_target16): Likewise.
20493 (grub_host_to_target_addr): Likewise.
20494 (generate_image): Handle multiimage.
20495 (main): Require -O parameter. All users updated.
20496 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20497 util/efi/grub-mkimage.c
20498 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20499 New option --rom-directory.
20500 Use xorriso.
20501 * util/i386/efi/grub-mkimage.c: Removed.
20502 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20503 (grub_target_to_host32): Likewise.
20504 (grub_target_to_host64): Likewise.
20505 (grub_host_to_target16): Likewise.
20506 (grub_host_to_target32): Likewise.
20507 (grub_host_to_target64): Likewise.
20508 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20509 (grub_target_to_host32): Likewise.
20510 (grub_target_to_host64): Likewise.
20511 (grub_host_to_target16): Likewise.
20512 (grub_host_to_target32): Likewise.
20513 (grub_host_to_target64): Likewise.
20514
f4fc97d0
BC
205152010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20516
20517 Source tree is reorganized for emu build.
20518
20519 * include/grub/util/console.h: Move from here...
20520 * include/grub/emu/console.h: ...to here.
20521 * include/grub/util/getroot.h: Move from here...
20522 * include/grub/emu/getroot.h: ...to here.
20523 * include/grub/util/hostdisk.h: Move from here...
20524 * include/grub/emu/hostdisk.h: ...to here.
20525 * util/console.c: Move from here...
20526 * kern/emu/console.c: ...to here.
20527 * util/getroot.c: Move from here...
20528 * kern/emu/getroot.c: ...to here.
20529 * util/grub-emu.c: Move from here...
20530 * kern/emu/main.c: ...to here.
20531 * util/hostdisk.c: Move from here...
20532 * kern/emu/hostdisk.c: ...to here.
20533 * util/hostfs.c: Move from here...
20534 * kern/emu/hostfs.c: ...to here.
20535 * util/mm.c: Move from here...
20536 * kern/emu/mm.c: ...to here.
20537 * util/pci.c: Move from here...
20538 * bus/emu/pci.c: ...to here.
20539 * util/sdl.c: Move from here...
20540 * video/emu/sdl.c: ...to here.
20541 * util/time.c: Move from here...
20542 * kern/emu/time.c: ...to here.
20543 * util/usb.c: Move from here...
20544 * bus/usb/emu/usb.c: ...to here.
20545
20546 * include/grub/emu/misc.h: New header for grub-emu functions.
20547 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20548
20549 * conf/any-emu.rmk: Rule updates for above renames.
20550 * conf/common.rmk: Likewise.
20551 * conf/i386-pc.rmk: Likewise.
20552 * conf/i386-qemu.rmk: Likewise.
20553 * conf/mips.rmk: Likewise.
20554 * conf/sparc64-ieee1275.rmk: Likewise.
20555 * conf/x86-efi.rmk: Likewise.
20556
20557 * disk/lvm.h: #include updates for above renames.
20558 * util/grub-mkrelpath.c: Likewise.
20559 * util/grub-probe.c: Likewise.
20560 * util/i386/pc/grub-setup.c: Likewise.
20561 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20562 * kern/emu/console.c: Likewise.
20563 * kern/emu/getroot.c: Likewise.
20564 * kern/emu/hostdisk.c: Likewise.
20565 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20566
20567 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20568 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20569 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20570 * util/misc.c: Remove grub-emu functions.
20571
cced9145
VS
205722010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 Fix gfxmenu crash.
20575 Reported by: Thorsten Grützmacher.
20576
20577 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20578 timeout hook.
20579 (circprog_set_property): Register and unregister timeout hook.
20580 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20581 (label_destroy): Free template. and unregister hook.
20582 (label_set_state): New function.
20583 (label_set_property): Handle templates and hooks.
20584 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20585 timeout hook.
20586 (progress_bar_set_property): Register and unregister timeout hook.
20587 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20588 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20589 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20590 (update_timeout_visit): Removed.
20591 (update_timeouts): New function.
20592 (redraw_timeouts): Likewise.
20593 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20594 (grub_gfxmenu_clear_timeout): Likewise.
20595 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20596 (grub_gfxmenu_timeout_notify): Likewise.
20597 (grub_gfxmenu_timeout_notifications): New external variable.
20598 (grub_gfxmenu_timeout_register): New function.
20599 (grub_gfxmenu_timeout_unregister): Likewise.
20600
c6e5caab
VS
206012010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 Transform (broken) vga terminal into (working) vga video driver.
20604
20605 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20606 video/i386/pc/vga.c.
20607 * include/grub/video.h (grub_video_driver_id):
20608 Add GRUB_VIDEO_DRIVER_VGA.
20609 * term/i386/pc/vga.c: Renamed to ...
20610 * video/i386/pc/vga.c: ...this
20611 (DEBUG_VGA): Removed.
20612 (CHAR_WIDTH): Likewise.
20613 (CHAR_HEIGHT): Likewise.
20614 (TEXT_WIDTH): Likewise.
20615 (TEXT_HEIGHT): Likewise.
20616 (DEFAULT_FG_COLOR): Likewise.
20617 (DEFAULT_BG_COLOR): Likewise.
20618 (colored_char): Likewise.
20619 (xpos): Likewise.
20620 (ypos): Likewise.
20621 (cursor_state): Likewise.
20622 (fg_color): Likewise.
20623 (bg_color): Likewise.
20624 (text_buf): Likewise.
20625 (page): Likewise.
20626 (font): Likewise.
20627 (framebuffer): New variable.
20628 (set_read_map): Disabled.
20629 (setup): New variable.
20630 (is_target): Likewise.
20631 (grub_vga_mod_init): Likewise.
20632 (grub_vga_mod_fini): Likewise.
20633 (check_vga_mem): Likewise.
20634 (write_char): Likewise.
20635 (write_cursor): Likewise.
20636 (scroll_up): Likewise.
20637 (grub_vga_putchar): Likewise.
20638 (grub_vga_getcharwidth): Likewise.
20639 (grub_vga_getwh): Likewise.
20640 (grub_vga_getxy): Likewise.
20641 (grub_vga_gotoxy): Likewise.
20642 (grub_vga_cls): Likewise.
20643 (grub_vga_setcolorstate): Likewise.
20644 (grub_vga_setcursor): Likewise.
20645 (grub_video_vga_init): New function.
20646 (grub_video_vga_setup): Likewise.
20647 (grub_video_vga_fini): Likewise.
20648 (update_target): Likewise.
20649 (grub_video_vga_blit_bitmap): Likewise.
20650 (grub_video_vga_blit_render_target): Likewise.
20651 (grub_video_vga_set_active_render_target): Likewise.
20652 (grub_video_vga_get_active_render_target): Likewise.
20653 (grub_video_vga_swap_buffers): Likewise.
20654 (grub_video_vga_set_palette): Likewise.
20655 (grub_video_vga_get_info_and_fini): Likewise.
20656 (grub_vga_term): Removed.
20657 (grub_video_vga_adapter): New variable.
20658 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20659 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20660
2bf61a98
VS
206612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 * video/readers/jpeg.c: Indented.
20664
09ddcd11
VS
206652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 Various jpeg cleanups.
20668
20669 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20670 (grub_jpeg_decode_quan_table): Use sizeof.
20671 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20672
e5507505
PH
206732010-05-05 Peter Hurley <No e-mail available> (tiny change)
20674
20675 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20676 tables. Ignore non-last ac bit.
20677 (grub_jpeg_decode_quan_table): Likewise.
20678
7e720a9b
VS
206792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20682 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20683 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20684 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20685 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20686 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20687
a7fc080b
VS
206882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20691 error.
20692
2bf6012d
VS
206932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20694
20695 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20696
265d68cd
VS
206972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20700 condition.
20701
207022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20703
20704 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20705 part.
20706
265d68cd 207072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20708
20709 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20710 pointers.
20711
265d68cd 207122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20713
20714 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20715
d1b61374
CF
207162010-05-01 Christian Franke <franke@computer.org>
20717
20718 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20719 Remove broken Cygwin path conversion.
20720 * util/misc.c: [__CYGWIN__] Add include and define.
20721 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20722 for Cygwin 1.7.
20723 (make_system_path_relative_to_its_root): Simplify loop, replace early
20724 return by break.
20725 [__CYGWIN__] Add conversion to win32 path.
20726 Include "/" case in trailing slash removal.
20727
3558c6e9
VS
207282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20731 Reported by: Seth Goldberg
20732
f5f3ff93
VS
207332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * commands/help.c (grub_cmd_help): Fix a typo.
20736 Reported by: Seth Goldberg
20737
d8b5cd40
VS
207382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20741 name and add N_.
20742 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20743 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20744 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20745 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20746 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20747 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20748 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20749 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20750 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20751 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20752 * normal/context.c (GRUB_MOD_INIT): Likewise.
20753 * normal/main.c (GRUB_MOD_INIT): Likewise.
20754 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20755 * term/serial.c (GRUB_MOD_INIT): Likewise.
20756 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20757
88c14915
VS
207582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20761 extra == 0.
20762
165134bc
VS
207632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 * commands/iorw.c: New file.
20766 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20767 (iorw_mod_SOURCES): New variable.
20768 (iorw_mod_CFLAGS): Likewise.
20769 (iorw_mod_LDFLAGS): Likewise.
20770
c5ac9b32
VS
207712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 Hotkey support
20774
20775 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20776 * normal/main.c (hotkey_aliases): New variable.
20777 (grub_normal_add_menu_entry): Parse "--hotkey".
20778 * normal/menu_text.c (run_menu): Handle hotkeys.
20779
ce60689c
VS
207802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 * kern/i386/coreboot/init.c (grub_machine_init): Call
20783 grub_machine_mmap_init on qemu.
20784
0359d006
VS
207852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 * boot/i386/qemu/boot.S: Add a missing .code16.
20788
7819a456
VS
207892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 Use LBIO on coreboot.
20792
20793 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20794 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20795 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20796 New declaration.
20797 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20798 grub_machine_mmap_init on coreboot.
20799 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20800 GRUB_LINUXBIOS_MEMBER_LINK.
20801 (grub_machine_mmap_iterate): Fix declaration.
20802 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20803
7210dca9
VS
208042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Split coreboot and multiboot ports.
20807
20808 * conf/i386-multiboot.rmk: New file.
20809 * configure.ac: Add multiboot port.
20810 * include/grub/i386/multiboot/boot.h: New file.
20811 * include/grub/i386/multiboot/console.h: Likewise.
20812 * include/grub/i386/multiboot/init.h: Likewise.
20813 * include/grub/i386/multiboot/kernel.h: Likewise.
20814 * include/grub/i386/multiboot/loader.h: Likewise.
20815 * include/grub/i386/multiboot/memory.h: Likewise.
20816 * include/grub/i386/multiboot/serial.h: Likewise.
20817 * include/grub/i386/multiboot/time.h: Likewise.
20818 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20819 * loader/multiboot.c: Likewise.
20820 * loader/multiboot_mbi2.c: Likewise.
20821 * util/grub-mkrescue.in: Generate multiboot rescue.
20822
6f8aaf68
VS
208232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20824
3080f7a7
VS
20825 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20826
208272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20830
20831 * commands/terminal.c (abstract_terminal): New struct.
20832 (handle_command): New function. Based on grub_cmd_terminal_input.
20833 (grub_cmd_terminal_input): Use handle_command.
20834 (grub_cmd_terminal_output): Use handle_command.
20835
a8ebb841
BC
208362010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20837
20838 Fix comment handling.
20839
20840 * tests/grub_script_comments.in: New testcase.
20841 * conf/tests.rmk: Rules for new testcase.
20842 * script/yylex.l: Updated flex rules.
20843
bb06ba08
ST
208442010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20845
20846 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20847 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20848 if argc is 1.
bb06ba08 20849
cc9d2425
VS
208502010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20853 autogen issues.
20854
460d8402
CF
208552010-04-26 Christian Franke <franke@computer.org>
20856
20857 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20858 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20859 (grub_get_prefix): Remove function.
20860 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20861 make_system_path_relative_to_its_root ().
20862 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20863
553c01f9
CF
208642010-04-24 Christian Franke <franke@computer.org>
20865
20866 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20867 (kernel_img_LDFLAGS): Remove -static-libgcc.
20868
2aec1692
CF
208692010-04-24 Christian Franke <franke@computer.org>
20870
20871 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20872 and CHECK_END_SYMBOL if grub-emu is built.
20873 Unset TARGET_OBJ2ELF if grub-emu is built
20874 without module support.
20875
f67dc308
JS
208762010-04-24 Jiro SEKIBA <jir@unicus.jp>
20877
20878 Nilfs2 support.
20879
20880 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20881 (grub_fstest_SOURCES): Likewise.
20882 (pkglib_MODULES): Add nilfs2.mod.
20883 (nilfs2_mod_SOURCES): New variable.
20884 (nilfs2_mod_CFLAGS): Likewise.
20885 (nilfs2_mod_LDFLAGS): Likewise.
20886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20887 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20888 * fs/nilfs2.c: New file.
20889
4ba8d354
VS
208902010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20893 is not supported.
20894
0d2c20c6
GS
208952010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20896
20897 Add grub-mkconfig support for NetBSD.
20898
20899 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20900 * util/grub-mkconfig.in: export new NetBSD specific variables.
20901 * po/POTFILES-shell: added 10_netbsd.in.
20902 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20903
bc4a2d83
BC
209042010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20905
20906 Fix emu build with grub-emu-pci and grub-emu-modules.
20907
20908 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20909 functions.
20910 * include/grub/libpciaccess.h: New file.
20911 * conf/any-emu.rmk: Update kernel headers for emu build.
20912
f48c87aa
VS
209132010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20914
20915 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20916
18959385
VS
209172010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20920
0037de3f
VS
209212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20924 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20925 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20926 util/ieee1275/ofpath.c.
20927 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20928 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20929 * include/grub/sparc64/ieee1275/boot.h
20930 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20931 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20932 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20933 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20934 const char *.
20935 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20936 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20937 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20938 install.
20939
38e55e90
GS
209402010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20941
20942 * util/grub-mkconfig.in: Corrected two == equality tests.
20943 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20944 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20945 expect a number appended to it.
20946 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20947 expects a number appended to it.
20948
a9e6ff28
VS
209492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20952
0b830b8f
VS
209532010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * util/hostdisk.c (make_device_name): Change to new partition naming.
20956
0973daeb
VS
209572010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20960
460d8402 209612010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20962
20963 * Makefile.in: Add missing localedir setting.
20964
0b456309
CW
209652010-04-14 Colin Watson <cjwatson@ubuntu.com>
20966
20967 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20968 mistake in r2156. Noticed by Anthony Fok.
20969
20970 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20971 @localedir@.
20972 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20973
08f46d62
BC
209742010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20975
20976 Fix a spurious, uninitialized variable warning.
20977
20978 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20979 Initialize variable, shdr.
20980 (grub_freebsd_load_elfmodule): Likewise.
20981 (grub_freebsd_load_elf_meta): Likewise.
20982
8c4a72d4
BC
209832010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20984
20985 Fix for escaped dollar in double quoted strings.
20986
20987 * script/yylex.l: Updated flex rules.
20988 * conf/tests.rmk: Rule for new testcase.
20989 * tests/grub_script_dollar.in: New testcase.
20990
ce44826e
CPE
209912010-04-13 Carles Pina i Estany <carles@pina.cat>
209922010-04-13 Colin Watson <cjwatson@ubuntu.com>
20993
20994 Enclose all translated strings in grub.cfg in single quotes, and
20995 escape them appropriately (Ubuntu bug #552921).
20996
20997 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20998 * util/grub.d/10_hurd.in: Use it.
20999 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21000 * util/grub.d/10_linux.in (linux_entry): Likewise.
21001
4b0cd8f8
VS
210022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 Fix cygwin compilation.
21005
21006 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21007 * include/grub/misc.h (__register_frame_info)
21008 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21009 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21010 * kern/misc.c (__register_frame_info)
21011 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21012 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21013
01fcf061
VS
210142010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21017
5d04b11e
VS
210182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 Unify libgcc processing.
21021
21022 * Makefile.in (kernel_img_LDFLAGS): New variable.
21023 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21024 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21025 overwriting.
21026 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21027 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21028 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21029 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21030 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21031 overwriting. Remove -lgcc and -static-libgcc
21032 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21033 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21034 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21035 (kernel_img_LDFLAGS): Append instead of overwriting.
21036 Remove -lgcc and -static-libgcc
21037 * conf/sparc64-ieee1275.rmk: Likewise.
21038 * include/grub/powerpc/libgcc.h: Move to ...
21039 * include/grub/libgcc.h: .. this.
21040 * include/grub/libgcc.h: Don't export most of the function on x86.
21041 (__bswapsi2): New export.
21042 (__bswapdi2): Likewise.
21043 * include/grub/mips/libgcc.h: Removed.
21044 * include/grub/sparc64/libgcc.h: Likewise.
21045
b7f3ac29
VS
210462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21049 disk_info_msg (conflicts with gettexting into languages with cases).
21050
2c7031b1
GS
210512010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21052
21053 Add grub-probe support for NetBSD.
21054
21055 * util/getroot.c (find_root_device): Convert block device to
21056 character device on NetBSD.
21057 * util/probe.c (probe): Require character device on NetBSD.
21058 * util/hostdisk.c: NetBSD specific headers.
21059 (configure_device_driver): new function to tune device driver
21060 parameters (currently only for NetBSD floppy driver).
21061 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21062 via disklabel ioctl).
21063 (open_device): call configure_device_driver on NetBSD.
21064 (convert_system_partition_to_system_disk): NetBSD specific code.
21065 (device_is_wholedisk): Likewise.
21066 (grub_util_biosdisk_get_grub_dev): Likewise.
21067 (make_device_name): Fixed a typo in bsd_part_str.
21068 * configure.ac: check for opendisk() and getrawpartition() on
21069 NetBSD and set LIBUTIL.
21070 * Makefile.in: add LIBUTIL to LIBS.
21071
f516290c
BC
210722010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21073
21074 Documentation fix.
21075
21076 * util/grub-script-check.c: Better help message.
21077
d8dcc0df
BC
210782010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21079
21080 Fix FreeBSD build.
21081
21082 * configure.ac: Flex version check.
21083 * conf/common.rmk: Add -Wno-error to sh.mod.
21084 * script/yylex.l: Remove all #pragma.
21085
6734334a
VS
210862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21089 prototype.
21090 Reported by: Seth Goldberg.
21091
daea6abd
VS
210922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21095 Rename "module" to "module2".
21096 Reported by: Seth Goldberg.
21097
f2fd9d2b
VS
210982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21101 EXPORT_FUNC.
21102 Reported by: Seth Goldberg.
21103
be124579
VS
211042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * lib/posix_wrap/locale.h: Add missing file.
21107 Reported by: Seth Goldberg.
21108
ef5da797
VS
211092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 grub-emu module load support.
21112
21113 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21114 NO_DYNAMIC_MODULES switched to this.
21115 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21116 (CFLAGS): Likewise.
21117 * conf/any-emu.rmk: Generate symlist.
21118 (kernel_img_HEADERS): Add util/datetime.h.
21119 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21120 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21121 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21122 kern/$(target_cpu)/cache.S.
21123 * configure.ac (grub-emu-modules): New option.
21124 * genmk.rb: Handle multiple source lists.
21125 * include/grub/sdl.h: New file.
21126 * include/grub/libusb.h: Likewise.
21127 * util/grub-emu.c (main): Hanle (host) root.
21128 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21129 GRUB_ERR_UNKNOWN_DEVICE.
21130 * util/misc.c: Move mm functions to ...
21131 * util/mm.c: ... here. All users updated.
21132
47822096
VS
211332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21136 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21137 missing files.
21138 (maintainer-clean): Remove libgcrypt-grub.
21139
5d7e7445
VS
211402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21143
25f4e252
EC
211442010-04-09 EFI Coder <eficoder@hotmail.com>
21145
21146 * normal/menu_text.c (print_message): Clean up the message and show
21147 the Fn information when on EFI
21148 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21149
027de555
VS
211502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21153 All users updated.
21154 * normal/crypto.c (read_crypto_list): Likewise.
21155 * normal/dyncmd.c (read_command_list): Likewise.
21156 * normal/term.c (read_terminal_list): Likewise.
21157 * normal/main.c (read_lists): Use explicit prefix.
21158 (read_lists_hook): Use read_lists.
21159 (grub_normal_execute): Likewise.
21160
47779711
VS
211612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21164 Reported by: Thomas Schmitt.
21165 Add -no-emul-boot to grub-mkisofs parameters.
21166
1118c32e
VS
211672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21168
21169 * font/font.c: Indented.
21170
7d652447
BC
211712010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21172
21173 Elif support to GRUB script (by Deepak Vankadaru).
21174
21175 * tests/grub_script_if.in: New testcase.
21176 * conf/tests.rmk: Rule for new testcase.
21177 * script/parser.y: Grammar rules for elif.
21178
34bb22df
BC
211792010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21180
21181 While and until loops support to GRUB script.
21182
21183 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21184 (grub_script_create_cmdwhile): New function prototype.
21185 (grub_script_execute_cmdwhile): New function prototype.
21186 * script/execute.c (grub_script_execute_cmdwhile): New function.
21187 * script/parser.y (command): New commands.
21188 (whilecmd): New grammar rule.
21189 (untilcmd): New grammar rule.
21190 * script/script.c (grub_script_create_cmdwhile): New function.
21191 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21192 function.
21193
21194 * tests/grub_script_while1.in: New testcase.
21195 * conf/tests.rmk: Rule for new testcase.
21196
e215d8e0
VS
211972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21200 as *.jpg.
21201
d7c43ba1
MV
212022010-04-09 Mario Vazquez <mariovazq@gmail.com>
21203
21204 GRUB_BACKGROUND support.
21205
21206 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21207 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21208
d64795c0
VS
212092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21212 Idea by: Mario Vazquez
d64795c0
VS
21213
21214 * util/grub.d/00_header.in: Load pf2 and image modules.
21215
f267f83a
VS
212162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 grub-mkconfig multiple terminal support.
21219
21220 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21221 * util/grub.d/00_header.in: Likewise.
21222
b7841ceb
VS
212232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21224
21225 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21226 we use cd $(srcdir).
21227
df60998c
CW
212282010-04-08 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * util/grub.d/10_linux.in: Only use the first word of
21231 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21232 spaces in GRUB_DISTRIBUTOR.
21233 * util/grub.d/10_kfreebsd.in: Likewise.
21234 * util/grub.d/10_hurd.in: Likewise.
21235
fa09c82e
BC
212362010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21237
14e18ae3 21238 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21239
21240 * tests/util/grub-shell.in: Remove -serial stdio option.
21241
daf892b3
BC
212422010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21243
21244 POSIX header file wrappers.
21245
21246 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21247 equivalents.
21248 * lib/posix_wrap/ctype.h: Likewise.
21249 * lib/posix_wrap/errno.h: Likewise.
21250 * lib/posix_wrap/langinfo.h: Likewise.
21251 * lib/posix_wrap/limits.h: Likewise.
21252 * lib/posix_wrap/localcharset.h: Likewise.
21253 * lib/posix_wrap/stdint.h: Likewise.
21254 * lib/posix_wrap/stdio.h: Likewise.
21255 * lib/posix_wrap/stdlib.h: Likewise.
21256 * lib/posix_wrap/string.h: Likewise.
21257 * lib/posix_wrap/sys/types.h: Likewise.
21258 * lib/posix_wrap/unistd.h: Likewise.
21259 * lib/posix_wrap/wchar.h: Likewise.
21260 * lib/posix_wrap/wctype.h: Likewise.
21261 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21262 (grub_script.yy.h): Likewise.
21263 * script/yylex.l: Remove POSIX emulation #defines.
21264 * Makefile.in (POSIX_CFLAGS): New variable.
21265 (GNULIB_UTIL_CFLAGS): Likewise.
21266
21267 Regexp support.
21268
21269 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21270 (regexp_mod_SOURCES): New variable.
21271 (regexp_mod_CFLAGS): Likewise.
21272 (regexp_mod_LDFLAGS): Likewise.
21273 * commands/regexp.c: New file.
21274 * gnulib/regcomp.c: New file. Imported from gnulib.
21275 * gnulib/regex.c: Likewise.
21276 * gnulib/regex_internal.c: Likewise.
21277 * gnulib/regex_internal.h: Likewise.
21278 * gnulib/regexec.c: Likewise.
21279 * gnulib/regex.h: Likewise.
21280
974ac4f7
VS
212812010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21284 unsupported video mode types.
21285
2622c3ff
VS
212862010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21289
064cb524
VS
212902010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21293 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21294
a8c3b552
VS
212952010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 Remove unused grub_vga_get_font.
21298
21299 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21300 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21301
187bbe3d
GS
213022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21303
21304 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21305 * include/grub/misc.h: Likewise.
21306
b9396631
GS
213072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21308
21309 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21310 for which failure is fatal.
21311
50479feb
GS
213122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21313
21314 * util/grub-install.in: Use mkdir -p to create grub directory.
21315 * util/i386/efi/grub-install.in: Likewise.
21316 * util/ieee1275/grub-install.in: Likewise.
21317
b1654fdf
GS
213182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21319
21320 * Makefile.in (LEX): new variable.
21321
bd5a6415
GS
213222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21323
21324 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21325 `=' and added double quotes on operands of this equality test.
21326
3db3a82b
VS
213272010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * Makefile.in (uninstall): Remove a leftover debug echo.
21330 Reported by: Grégoire Sutre
21331
38023412
VS
213322010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 MIPS multiboot2 support.
21335
21336 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21337 (multiboot2_mod_SOURCES): New variable.
21338 (multiboot2_mod_CFLAGS): Likewise.
21339 (multiboot2_mod_LDFLAGS): Likewise.
21340 (multiboot2_mod_ASFLAGS): Likewise.
21341 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21342 definition.
21343 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21344 (MULTIBOOT_MBI_REGISTER): Likewise.
21345 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21346 (MULTIBOOT_ELF32_MACHINE): Likewise.
21347 (MULTIBOOT_ELF64_MACHINE): Likewise.
21348 * include/grub/mips/multiboot.h: New file.
21349 * include/grub/video.h (grub_video_driver_id): New type
21350 GRUB_VIDEO_DRIVER_SM712.
21351 (grub_video_get_info_and_fini): Export.
21352 (grub_video_get_palette): Likewise.
21353 (grub_video_get_driver_id): Likewise.
21354 * include/multiboot2.h: Resynced with spec.
21355 * loader/i386/multiboot.c: Moved from here ...
21356 * loader/multiboot.c: ... here. All users updated.
21357 (grub_multiboot_boot): Use platform-specific macros.
21358 * loader/i386/multiboot_elfxx.c: Moved from here ...
21359 * loader/multiboot_elfxx.c: ... here. All users updated.
21360 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21361 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21362 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21363
47674667
VS
213642010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 Import gnulib argp module.
21367
21368 * gnulib/argp-ba.c: New file.
21369 * gnulib/argp-eexst.c: Likewise.
21370 * gnulib/argp-fmtstream.c: Likewise.
21371 * gnulib/argp-fmtstream.h: Likewise.
21372 * gnulib/argp-fs-xinl.c: Likewise.
21373 * gnulib/argp-help.c: Likewise.
21374 * gnulib/argp-namefrob.h: Likewise.
21375 * gnulib/argp-parse.c: Likewise.
21376 * gnulib/argp-pin.c: Likewise.
21377 * gnulib/argp-pv.c: Likewise.
21378 * gnulib/argp-pvh.c: Likewise.
21379 * gnulib/argp-version-etc.c: Likewise.
21380 * gnulib/argp-version-etc.h: Likewise.
21381 * gnulib/argp-xinl.c: Likewise.
21382 * gnulib/argp.h: Likewise.
21383
495442ed
VS
213842010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * kern/device.c (grub_device_iterate): Clear errors after failed
21387 opening device.
21388
f9fd65df
VS
213892010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21392 returned by firmware.
21393
af09641e
VS
213942010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21397 compilation on coreboot and qemu
21398
016883a5
VS
213992010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * include/multiboot2.h: Resync with spec.
21402
f97e1f7d
VS
214032010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 Multiboot2 tag support
21406
21407 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21408 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21409 Remove loader/multiboot_loader.c.
21410 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21411 (grub_multiboot2_real_boot): Likewise.
21412 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21413 (grub_get_multiboot_mmap_count): New proto.
21414 (grub_fill_multiboot_mmap): Likewise.
21415 (grub_multiboot_set_video_mode): Likewise.
21416 (grub_multiboot_set_console): Likewise.
21417 (grub_multiboot_load): Likewise.
21418 (grub_multiboot_load_elf): Likewise.
21419 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21420 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21421 * include/multiboot.h: Resynced with specification.
21422 * include/multiboot2.h: Resynced with specification.
21423 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21424 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21425 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21426 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21427 users updated.
21428 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21429 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21430 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21431 Removed.
21432 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21433 Moved from here...
21434 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21435 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21436 Moved from here...
21437 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21438 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21439 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21440 All users updated.
21441 * loader/i386/multiboot_mbi2.c: New file.
21442
3506b90b
VS
214432010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21444
21445 Resync with gnulib.
21446
21447 * Makefile.in (GNULIB_CFLAGS): New variable.
21448 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21449 (grub_script_check_CFLAGS): New variable.
21450 * gnulib/alloca.h: Resync with gnulib.
21451 * gnulib/error.c: Likewise.
21452 * gnulib/error.h: Likewise.
21453 * gnulib/fnmatch.c: Likewise.
21454 * gnulib/fnmatch_loop.c: Likewise.
21455 * gnulib/getdelim.c: Likewise.
21456 * gnulib/getline.c: Likewise.
21457 * gnulib/getopt.c: Likewise.
21458 * gnulib/getopt1.c: Likewise.
21459 * gnulib/getopt_int.h: Likewise.
21460 * gnulib/gettext.h: Likewise.
21461 * gnulib/progname.c: Likewise.
21462 * gnulib/progname.h: Likewise.
21463
394a3120
GS
214642010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21465
21466 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21467 which is the case with --disabled-nls.
21468
21469 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21470 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21471 * util/misc.c: Likewise.
21472 * util/mkisofs/mkisofs.c: Likewise.
21473 * util/mkisofs/mkisofs.h: Likewise.
21474
969d1c78
VS
214752010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 Simplify Apple CC support.
21478
21479 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21480 Add 0 byte at the end not to have a symbol with empty target.
21481 * mmap/i386/pc/mmap_helper.S: Likewise.
21482 * genmk.rb: Ignore errors 2030 and 2050.
21483 * kern/i386/pc/startup.S: Use LOCAL when possible.
21484
8d2977bb
BC
214852010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21486
21487 Testcase and the fix for final semicolon on cmdline.
21488
21489 * tests/grub_script_final_semicolon.in: New testcase.
21490 * conf/tests.rmk: Rules for the new testcase.
21491 * script/parser.y: Grammar fix.
21492
a7bd6915
BC
214932010-03-26 BVK Chaitanya <bvk@localhost>
21494
21495 Blank lines testcase for GRUB script.
21496
21497 * tests/grub_script_blanklines.in: New testcase.
21498 * conf/tests.rmk: Rules for the new testcase.
21499
e4ff6628
VS
215002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Don't use __FILE__.
21503
21504 * genmk.rb: Add -DGRUB_FILE to all C targets.
21505 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21506 * include/grub/list.h: Likewise.
21507 * include/grub/misc.h: Likewise.
21508 * include/grub/mm.h: Likewise.
21509 * include/grub/test.h: Likewise.
21510 * kern/mm.c: Likewise.
21511 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21512
6a5cf6b6
VS
215132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 Sunpc partitions support.
21516
21517 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21518 (grub_fstest_SOURCES): Likewise.
21519 (pkglib_MODULES): Add part_sunpc.mod.
21520 (part_sunpc_mod_SOURCES): New variable.
21521 (part_sunpc_mod_CFLAGS): Likewise.
21522 (part_sunpc_mod_LDFLAGS): Likewise.
21523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21524 * partmap/sunpc.c: New file.
21525
746d9045
BC
215262010-03-26 BVK Chaitanya <bvk@localhost>
21527
21528 For loop support to GRUB script.
21529
21530 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21531 (grub_script_create_cmdfor): New function prototype.
21532 (grub_script_execute_cmdfor): New function prototype.
21533 * script/execute.c (grub_script_execute_cmdfor): New function.
21534 * script/parser.y (command): New for command.
21535 (forcmd): New grammar rule.
21536 * script/script.c (grub_script_create_cmdfor): New function.
21537 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21538 function.
21539 * tests/grub_script_for1.in: New testcase.
21540 * conf/tests.rmk: Rules for new testcase.
21541
18486b18
VS
215422010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 Nested partitions
21545
21546 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21547 'partition' is NULL, grub_partition_get_start already does that.
21548 * commands/loadenv.c (check_blocklists): Likewise.
21549 (write_blocklists): Likewise.
21550 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21551 (grub_fstest_SOURCES): Likewise.
21552 (pkglib_MODULES): Add part_bsd.mod.
21553 (part_bsd_mod_SOURCES): New variable.
21554 (part_bsd_mod_CFLAGS): Likewise.
21555 (part_bsd_mod_LDFLAGS): Likewise.
21556 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21557 (grub_emu_SOURCES): Likewise.
21558 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21559 * include/grub/bsdlabel.h: New file.
21560 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21561 'get_name'.
21562 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21563 (grub_partition_map_list): New variable.
21564 (grub_partition_map_register): Inline.
21565 (grub_partition_map_unregister): Likewise.
21566 (FOR_PARTITION_MAPS): New macro.
21567 (grub_partition_map_iterate): Removed.
21568 (grub_partition_get_start): Handle nested partitions.
21569 * include/grub/msdos_partition.h: Remove bsd-related entries.
21570 (grub_pc_partition): Remove.
21571 * kern/disk.c (grub_disk_close): Free partition data.
21572 (grub_disk_adjust_range): Handle nested partitions.
21573 * kern/partition.c (grub_partition_map_probe): New function.
21574 (grub_partition_probe): Parse name to number, handle subpartitions.
21575 (get_partmap): New function.
21576 (grub_partition_iterate): Handle subpartitions.
21577 (grub_partition_get_name): Likewise.
21578 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21579 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21580 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21581 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21582 Set 'number'.
21583 (acorn_partition_map_probe): Remove.
21584 (acorn_partition_map_get_name): Likewise.
21585 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21586 Set 'number'.
21587 Set 'index' to 0 since there can be only one partition entry per sector.
21588 (amiga_partition_map_probe): Remove.
21589 (amiga_partition_map_get_name): Likewise.
21590 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21591 Set 'number'.
21592 Set 'offset' and 'index' to real positions of partitions.
21593 (apple_partition_map_probe): Remove.
21594 (apple_partition_map_get_name): Likewise.
21595 * partmap/bsdlabel.c: New file.
21596 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21597 Set 'number'.
21598 Allocate 'data' so it can be correctly freed.
21599 Set 'index' to offset inside sector.
21600 (gpt_partition_map_probe): Remove.
21601 (gpt_partition_map_get_name): Likewise.
21602 * partmap/msdos.c (grub_partition_parse): Remove.
21603 (pc_partition_map_iterate): Don't force raw access.
21604 Set 'number'.
21605 Make 'ext_offset' a local variable.
21606 (pc_partition_map_probe): Remove.
21607 (pc_partition_map_get_name): Remove.
21608 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21609 Set 'number'.
21610 (sun_partition_map_probe): Remove.
21611 (sun_partition_map_get_name): Likewise.
21612 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21613 (grub_pcpart_type): Likewise.
21614 * util/hostdisk.c (open_device): Handle new numbering scheme.
21615 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21616 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21617 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21618 * util/grub-install.in: Insert all subpartition modules.
21619 * util/ieee1275/grub-install.in: Likewise.
21620
a3940f88
AG
216212010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21622
21623 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21624 grammar.
21625
21b99926 216262010-03-24 Colin Watson <cjwatson@ubuntu.com>
21627
21628 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21629
bed1d352
CW
216302010-03-21 Colin Watson <cjwatson@ubuntu.com>
21631
21632 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21633 match where 'make install' puts them.
21634 * util/i386/efi/grub-install.in: Likewise.
21635
c9f58427
CW
216362010-03-19 Colin Watson <cjwatson@ubuntu.com>
21637
21638 * .bzrignore: Add gentrigtables, grub-script-check,
21639 grub_script_check_init.c, grub_script_check_init.h, and
21640 trigtables.c.
21641
f84afb27
VS
216422010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * kern/parser.c: Indented.
21645
ed0e3d30
VS
216462010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21649
0ea81d98
VS
216502010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21653 alpha_mask_size == 0 case.
21654
0cdc2a09
BC
216552010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21656
21657 GRUB shell lexer and parser improvements.
21658
21659 * conf/any-emu.rmk: Build rule updates.
21660 * conf/common.rmk: Likewise.
21661 * conf/i386-coreboot.rmk: Likewise.
21662 * conf/i386-efi.rmk: Likewise.
21663 * conf/i386-ieee1275.rmk: Likewise.
21664 * conf/i386-pc.rmk: Likewise.
21665 * conf/powerpc-ieee1275.rmk: Likewise.
21666 * conf/x86_64-efi.rmk: Likewise.
21667
21668 * configure.ac: Configure check for flex.
21669
21670 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21671 types.
21672 (grub_lexer_param): Struct member updates.
21673 (grub_parser_param): Likewise.
21674 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21675 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21676 (grub_script_lexer_init): Prototype update.
21677 (grub_script_lexer_record_start): Likewise.
21678 (grub_script_lexer_record_stop): Likewise.
21679 (grub_script_lexer_yywrap): New function prototype.
21680 (grub_script_lexer_fini): Likewise.
21681 (grub_script_execute_argument_to_string): Removed by...
21682 (grub_script_execute_argument_to_argv): ...better version.
21683
21684 * script/execute.c (ROUND_UPTO): New macro.
21685 (grub_script_execute_cmdline): Out of memory fixes.
21686 (grub_script_execute_menuentry): Likewise.
21687 (grub_script_execute_argument_to_string): Removed. Update all
21688 users by...
21689 (grub_script_execute_argument_to_argv): ...better version.
21690 * script/function.c (grub_script_function_create): Use
21691 grub_script_execute_argument_to_argv instead of
21692 grub_script_execute_argument_to_string.
21693
21694 * script/lexer.c (check_varstate): Removed.
21695 (check_textstate): Removed.
21696 (grub_script_lexer_record_start): Likewise.
21697 (grub_script_lexer_record_stop): Likewise.
21698 (recordchar): Replaced with...
21699 (grub_script_lexer_record): ...new function.
21700 (nextchar): Removed.
21701 (grub_script_lexer_init): Rewritten.
21702 (grub_script_yylex): Rewritten.
21703 (append_newline): New function.
21704 (grub_script_lexer_yywrap): New function.
21705 (grub_script_lexer_fini): New function.
21706 (grub_script_yyerror): Sets error flag.
21707
21708 * script/yylex.l: New file.
21709 (grub_lexer_yyfree): Wrapper for flex yyffre.
21710 (grub_lexer_yyalloc): Likewise.
21711 (grub_lexer_yyrealloc): Likewise.
21712 * script/parser.y: Refactored.
21713
21714 * script/script.c (grub_script_arg_add): Out of memory fixes.
21715 (grub_script_add_arglist): Likewise.
21716 (grub_script_create_cmdline): Likewise.
21717 (grub_script_create_cmdmenu): Likewise.
21718 (grub_script_add_cmd): Likewise.
21719 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21720 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21721 unnecessary code.
21722
21723 * tests/grub_script_echo1.in: New testcase.
21724 * tests/grub_script_vars1.in: New testcase.
21725 * tests/grub_script_echo_keywords.in: New testcase.
21726
1d63a066
VS
217272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 Remove some redundancy in build system.
21730
21731 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21732 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21733 (TARGET_LDFLAGS): Add -nostdlib.
21734 (TARGET_IMG_LDFLAGS): Likewise.
21735 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21736 anything since mmap isn't available.
21737 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21738 Add util/time.c.
21739 (pkglib_MODULES): Remove reboot.mod.
21740 (reboot_mod_SOURCES): Removed.
21741 (reboot_mod_CFLAGS): Likewise.
21742 (reboot_mod_LDFLAGS): Likewise.
21743 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21744 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21745 (DEFSYMFILES): Add kernel_syms.lst.
21746 (kernel_img_HEADERS): Add common headers.
21747 (symlist.c): New target.
21748 (kernel_syms.lst): Likewise.
21749 (pkglib_MODULES): Add memdisk.mod.
21750 (memdisk_mod_SOURCES): New variable.
21751 (memdisk_mod_CFLAGS): Likewise.
21752 (memdisk_mod_LDFLAGS): Likewise.
21753 (pkglib_MODULES): Add reboot.mod.
21754 (reboot_mod_SOURCES): New variable.
21755 (reboot_mod_CFLAGS): Likewise.
21756 (reboot_mod_LDFLAGS): Likewise.
21757 (pkglib_MODULES): Add date.mod.
21758 (date_mod_SOURCES): New variable.
21759 (date_mod_CFLAGS): Likewise.
21760 (date_mod_LDFLAGS): Likewise.
21761 (pkglib_MODULES): Add datehook.mod.
21762 (datehook_mod_SOURCES): New variable.
21763 (datehook_mod_CFLAGS): Likewise.
21764 (datehook_mod_LDFLAGS): Likewise.
21765 (pkglib_MODULES): Add lsmmap.mod.
21766 (lsmmap_mod_SOURCES): New variable.
21767 (lsmmap_mod_CFLAGS): Likewise.
21768 (lsmmap_mod_LDFLAGS): Likewise.
21769 (pkglib_MODULES): Add boot.mod.
21770 (boot_mod_SOURCES): New variable.
21771 (boot_mod_CFLAGS): Likewise.
21772 (boot_mod_LDFLAGS): Likewise.
21773 * conf/i386-coreboot.rmk: Removed redundant parts.
21774 * conf/i386-ieee1275.rmk: Likewise.
21775 * conf/i386-pc.rmk: Likewise.
21776 * conf/mips-yeeloong.rmk: Likewise.
21777 * conf/mips.rmk: Likewise.
21778 * conf/powerpc-ieee1275.rmk: Likewise.
21779 * conf/sparc64-ieee1275.rmk: Likewise.
21780 * conf/x86_64-efi.rmk: Likewise.
21781 * conf/i386-coreboot.rmk: Moved qemu parts ..
21782 * conf/i386-qemu.rmk: ... here
21783 * conf/i386-efi.rmk: Moved common parts to...
21784 * conf/x86-efi.rmk: ... here.
21785 * conf/i386.rmk: Added modules common to all x86 variants.
21786 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21787 * disk/memdisk.c: Remove grub/machine/kernel.h.
21788 * gensymlist.sh.in: Include symbol.h.
21789 * hook/datehook.c: Correct module name.
21790 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21791 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21792 * include/grub/i386/efi/serial.h: New file.
21793 * include/grub/x86_64/efi/serial.h: Likewise.
21794 * util/time.c: Likewise.
21795 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21796
463ac55f
CK
217972010-03-14 Colin King <colin.king@ubuntu.com>
217982010-03-14 Colin Watson <cjwatson@ubuntu.com>
21799
21800 Shrink the pre-partition-table part of boot.img by eight bytes.
21801
21802 * boot/i386/pc/boot.S (ERR): New macro.
21803 (chs_mode): Use ERR.
21804 (geometry_error): Likewise.
21805 (hd_probe_error): Remove. This is only used once, so we wrwite
21806 it inline instead.
21807 (read_error): Instead of printing read_error_string, just set up
21808 %si and fall through to ...
21809 (error_message): ... this new function, also used by ERR.
21810
08e46ede
CW
218112010-03-14 Colin Watson <cjwatson@ubuntu.com>
21812
21813 Speed up consecutive hostdisk operations on the same device.
21814
21815 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21816 (grub_util_biosdisk_open): Initialise disk->data.
21817 (struct linux_partition_cache): New structure.
21818 (linux_find_partition): Cache partition start positions; these are
21819 expensive to compute on every read and write.
21820 (open_device): Cache open file descriptor in disk->data, so that we
21821 don't have to reopen it and flush the buffer cache for consecutive
21822 operations on the same device.
21823 (grub_util_biosdisk_close): New function.
21824 (grub_util_biosdisk_dev): Set `close' member.
21825
21826 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21827 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21828 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21829 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21830 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21831
4a6d2d06
VS
218322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21833
21834 Compile parts of grub-emu as modules.
21835
21836 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21837 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21838 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21839 (all-local): Add $(GRUB_EMU).
21840 (install-local): Install $(GRUB_EMU).
21841 (uninstall): Uninstall $(GRUB_EMU).
21842 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21843 * kern/dl.c: Likewise.
21844 * commands/sleep.c: Not include machine/time.h.
21845 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21846 (COMMON_CFLAGS): Likewise.
21847 (sbin_UTILITIES): Remove grub-emu.
21848 (grub_emu_SOURCES): Removed.
21849 (kernel_img_RELOCATABLE): New variable.
21850 (pkglib_PROGRAMS): Add kernel.img.
21851 (kernel_img_SOURCES): New variable
21852 (kernel_img_CFLAGS): Likewise.
21853 (kernel_img_LDFLAGS): Likewise.
21854 (TARGET_NO_STRIP): Likewise.
21855 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21856 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21857 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21858 (grub-emu): New target.
21859 (GRUB_EMU): New variable.
21860 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21861 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21862 * loader/xnu.c: Likewise.
21863 * include/grub/pci.h: Likewise.
21864 * genemuinit.sh: New file.
21865 * genemuinitheader.sh: Likewise.
21866 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21867 Support TARGET_NO_DYNAMIC_MODULES.
21868 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21869 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21870 * disk/loopback.c: Likewise.
21871 * font/font_cmd.c: Likewise.
21872 * partmap/acorn.c: Likewise.
21873 * partmap/amiga.c: Likewise.
21874 * partmap/apple.c: Likewise.
21875 * partmap/gpt.c: Likewise.
21876 * partmap/msdos.c: Likewise.
21877 * partmap/sun.c: Likewise.
21878 * parttool/msdospart.c: Likewise.
21879 * term/gfxterm.c: Likewise.
21880 * video/bitmap.c: Likewise.
21881 * video/readers/jpeg.c: Likewise.
21882 * video/readers/png.c: Likewise.
21883 * video/readers/tga.c: Likewise.
21884 * video/video.c: Likewise.
21885 * util/grub-emu.c (read_command_list): Removed.
21886 (main): Don't call util_init_nls.
21887 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21888 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21889
91fdd2ed
VS
218902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21893 date.mod, datehook.mod.
21894 (datetime_mod_SOURCES): New variable.
21895 (datetime_mod_CFLAGS): Likewise.
21896 (datetime_mod_LDFLAGS): Likewise.
21897 (date_mod_SOURCES): Likewise.
21898 (date_mod_CFLAGS): Likewise.
21899 (date_mod_LDFLAGS): Likewise.
21900 (datehook_mod_SOURCES): Likewise.
21901 (datehook_mod_CFLAGS): Likewise.
21902 (datehook_mod_LDFLAGS): Likewise.
21903 * conf/sparc64-ieee1275.rmk: Likewise.
21904 * lib/ieee1275/datetime.c: New file.
21905
873ccae6
VS
219062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21909 (ieee1275_fb_mod_SOURCES): New variable.
21910 (ieee1275_fb_mod_CFLAGS): Likewise.
21911 (ieee1275_fb_mod_LDFLAGS): Likewise.
21912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21913 New proto.
21914 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21915 (HEAP_MAX_ADDR): Likewise.
21916 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21917 type.
21918 Correct stop condition.
21919 (grub_ieee1275_devices_iterate): New function.
21920 * video/ieee1275.c: New file.
21921
601c97c0
VS
219222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21925
21926 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21927 as scratch.
21928 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21929 SCRATCH_PAD_DISKBOOT as scratch.
21930 (bootit): Pass Openfirmware pointer in %o4.
21931 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21932 of 0x200000.
21933 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21934 with util/grub-mkrawimage.c.
21935 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21936 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21937 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21938 (grub_aout_load) [GRUB_UTIL]: Likewise.
21939 * include/grub/kernel.h (grub_modules_get_end): New proto.
21940 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21941 (SCRATCH_PAD_BOOT): New definition.
21942 (SCRATCH_PAD_DISKBOOT): Likewise.
21943 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21944 * include/grub/sparc64/ieee1275/ieee1275.h
21945 (grub_ieee1275_original_stack): New variable
21946 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21947 New definition
21948 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21949 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21950 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21951 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21952 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21953 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21954 (grub_platform_image_format_t): New type.
21955 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21956 * kern/main.c (grub_modules_get_end)
21957 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21958 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21959 (codestart): Switch stacks.
21960 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21961 variable.
21962 (grub_heap_init): Use grub_modules_get_end.
21963 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21964 stack.
21965 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21966 (main): Likewise.
21967 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21968
d68b491e
TG
219692010-03-14 Thorsten Glaser <tg@mirbsd.org>
21970
21971 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21972
4e02ed50
MK
219732010-03-08 Matt Kraai <kraai@ftbfs.org>
21974
21975 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21976 bug #559005).
21977
1f15fc1e
VS
219782010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 * genmoddep.awk: Output all missing symbols and not only first.
21981
fce5d8ff
VS
219822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 * NEWS: Put the date of 1.98 release.
21985
d1e8a02f
VS
219862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21989 ft2build.h.
21990
696fd607
VS
219912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21994 completition in the middle of string.
21995
33e2e6f3
VS
219962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 * util/grub-mkrescue.in: Use mktemp with explicit template.
21999
b1f6d291
VS
220002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22003
2ac227c7
VS
220042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22007 right pointer.
22008
8f9a632b
VS
220092010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 Fix FreeBSD compilation.
22012
22013 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22014 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22015
60b03859
VS
220162010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22017
22018 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22019
48a5a769
VS
220202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22023
3ab4bd77
VS
220242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22027
d116e0d8
RM
220282010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 Support relative image path in theme file.
22031
22032 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22033 (image_set_property): Handle theme_dir and relative path.
22034
c7ef54aa
VS
220352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * configure.ac: Alias amd64 to x86_64.
22038
fcee14ed
VS
220392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 * NEWS: mention multiboot on EFI.
22042
d0780363
VS
220432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * kern/main.c (grub_load_modules): Handle errors from init functions of
22046 embeded modules.
22047
41168ea4
VS
220482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 * normal/autofs.c (autoload_fs_module): Handle errors.
22051
b54d93ac
VS
220522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 Disable linux.mod on qemu-mips since it's not functional and leads
22055 to compilation failure.
22056
22057 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22058 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22059 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22060 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22061 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22062 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22063 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22064 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22065 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22066 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22067 Reported by: BVK Chaitanya
22068
fc8345da
JU
220692010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22070
22071 * INSTALL: Add gettext as a dependency and add qemu to a new section
22072 "Prerequisites for make-check".
22073
4760f979
CF
220742010-03-04 Christian Franke <franke@computer.org>
22075
22076 * util/grub-pe2elf.c: Add missing include "progname.h".
22077
f209b5b2
VS
220782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * normal/crypto.c (read_crypto_list): Fix a typo.
22081 Reported by: Seth Goldberg.
22082
b4b7be98
VS
220832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22086 Reported by: Seth Goldberg.
b4b7be98 22087
c0ee0385
VS
220882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22091 ascii.bitmaps.
22092
a8efbf64
VS
220932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22096 Reported by: Seth Goldberg.
a8efbf64 22097
08dcd913
VS
220982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * util/i386/efi/grub-install.in: Copy gettext files.
22101
c4d0b332
VS
221022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22105
c6f2fe52
VS
221062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Wait for user entry basing on presence of output rather than on errors.
22109
22110 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22111 (grub_install_newline_hook): Likewise.
22112 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22113 * normal/menu.c (show_menu): Check line_counter to determine presence
22114 of output.
22115 * normal/term.c (grub_normal_line_counter): New variable.
22116 (grub_normal_get_line_counter): New function.
22117 (grub_install_newline_hook): Likewise.
22118
5382b1e4
VS
221192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22122
5519963b
VS
221232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * configure.ac: Update version to 1.98.
22126
72b28631
VS
221272010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * util/grub.d/10_linux.in (linux_entry): Don't default to
22130 gfxpayload=keep if Linux doesn't support video handover.
22131
c140a180
VS
221322010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22133
22134 Don't compile video modules on yeeloong since video subsystem is part
22135 of kernel.
22136
22137 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22138 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22139 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22140 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22141 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22142 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22143 * include/grub/bitmap_scale.h: Likewise.
22144 * include/grub/bufio.h: Likewise.
22145 * include/grub/font.h: Likewise.
22146 * include/grub/gfxterm.h: Likewise.
22147 * include/grub/video.h: Likewise.
22148 * include/grub/vbe.h: Don't include video_fb.h.
22149 * video/i386/pc/vbe.c: Include video_fb.h.
22150 * commands/i386/pc/vbetest.c: Include video.h.
22151
a0ca21c2
CW
221522010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22153
22154 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22155 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22156 default entry if GRUB_SAVEDEFAULT=true. This allows using
22157 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22158 saving a new default on every boot.
22159
4a8a763c
VS
221602010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22161
22162 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22163 * normal/term.c (read_terminal_list): Likewise.
22164 * normal/main.c (grub_normal_init_page): Likewise.
22165 (grub_normal_read_line_real): Likewise.
22166
607ffde2
VS
221672010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22170 memory leak.
22171 Reported by: Seth Goldberg.
22172
2b8fa975
CW
221732010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22174
22175 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22176 duplicate declaration of `start'.
22177
618307dd
VS
221782010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22179
22180 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22181 filename.
22182 Reported by: Georgy Buranov
22183
7dd05b96 221842010-02-20 Carles Pina i Estany <carles@pina.cat>
22185
22186 * util/grub-mkrawimage.c (usage): Change string formatting to
22187 improve gettext.
22188
d1484a42
MRA
221892010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22190
22191 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22192 backspace keys.
22193
42b1d186
VS
221942010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22197 Reported by: Michael Suchanek.
22198
221992010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22200
22201 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22202 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22203
d9f31a41
VS
222042010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 Remove any reference to non-free fonts.
22207
22208 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22209 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22210 uses non-free components.
22211 * font/font.c (grub_font_get_name): Remove example name.
22212 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22213 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22214 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22215 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22216
2793c71e
GB
222172010-02-16 Georgy Buranov <gburanov@gmail.com>
22218
22219 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22220
402e3779
VS
222212010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22222
22223 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22224 Double divisor.
22225 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22226 features.
22227 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22228
0dd1e0dd
VS
222292010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22232
6fa7cfce
ST
222332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22234
22235 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22236 * docs/grub.texi (Command-line and menu entry commands): Document play
22237 command.
22238
37c8483b
ST
222392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22240
22241 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22242 parse arguments as inline tempo and notes. Move code for playing notes
22243 to...
22244 (play): ... new function.
22245
14da0fb7
ST
222462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22247
22248 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22249 grub_uint16_t instead of short.
22250 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22251 disk from little endian to cpu endianness.
22252
04459e70
ST
222532010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22254
22255 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22256 GRUB_TICKS_PER_SECOND instead of 120.
22257
a0876943
VS
222582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22261 escape sequence after \e.
22262
e29f95dc
VS
222632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22264
22265 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22266 non-ASCII characters.
22267
d27859b2
VS
222682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22271 set root in single quotes to prevent \, from being unescaped.
22272
bc028f2f
VS
222732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22274
22275 Prevent unknown commands from stopping menuentry execution.
22276
22277 * script/execute.c (grub_script_execute_cmdline): Print error after
22278 unknown command.
22279
095f5f82
VS
222802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22283 Reported by: Pavel Pisa.
22284
8c717950
VS
222852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22288
904935c3
VS
222892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 Merge grub_ieee1275_map_physical into grub_map and rename to
22292 grub_ieee1275_map
22293
22294 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22295 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22296 Remove.
22297 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22298 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22299 necessary.
22300 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22301
5b59a4e3
VS
223022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22303
22304 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22305 opening and not after.
22306
69e137e8
VS
223072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22308
22309 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22310 constants.
22311
2c0fcc36
VS
223122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22313
22314 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22315 (alloc_phys): Use ALIGN_UP instead of align_addr.
22316
8c6052ce
VS
223172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22320
17cec782
VS
223212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22324
e0128bbd
VS
223252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22328 verbose dprintf.
22329
ca62070b
VS
223302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22331
22332 Fix over-4GiB seek on sparc64.
22333
22334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22335 Replace pos_i and pos_lo with pos. All users updated.
22336 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22337 New constant.
22338 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22339 Likewise.
22340 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22341 and pos_lo.
22342
bdca2607
VS
223432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * util/grub-mkrawimage.c (main): Call set_program_name.
22346
da278c4d
VS
223472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 Properly align 64-bit targets.
22350
22351 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22352 (generate_image): Use ALIGN_ADDR.
22353
b274d734
VS
223542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 Properly create cross-endian images.
22357
22358 * include/grub/types.h (grub_host_to_target_addr): New macro
22359 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22360
82da2062
VS
223612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22364
7cae4377
VS
223652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22368
22369 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22370 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22371 (grub_linux_boot): Divide by 64K when on VESA.
22372
65a533e7
VS
223732010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 Support GRUB_GFXPAYLOAD_LINUX.
22376
22377 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22378 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22379
dd01d397
VS
223802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22383 to show messages instead of discarding them.
22384 Process errors after executing command and not before. Keep old method
22385 too as precaution.
22386
660960d6
VS
223872010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * configure.ac: Check for ft2build.h.
22390
62509f04
VS
223912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22394
473df63d
VS
223952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * genkernsyms.sh.in: Use TARGET_CC.
22398
c98d2a13
CW
223992010-02-07 Colin Watson <cjwatson@ubuntu.com>
22400
22401 * NEWS: Update.
22402
6e14234c
VS
224032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22406 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22407 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22408
b255e9cf
YB
224092010-02-07 Yves Blusseau <blusseau@zetam.org>
22410
6e14234c 22411 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22412
98e6959d
VS
224132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22414
22415 Fix warnings in grub-emu when compiling with maximum warning options.
22416
22417 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22418 (grub_arch_modules_addr): Return 0 and not NULL.
22419 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22420 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22421 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22422 of disk to dsk to avoid shadowing.
74e4934e
VS
22423 (find_free_slot): Fix prototype.
22424 * util/getroot.c (grub_util_is_dmraid): Make static.
22425 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22426 Add missing prototype.
22427 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22428
74e31b5c
VS
224292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22432 appropriately.
22433
6b2ad14b
VS
224342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22437 code out.
22438
8f891adc
VS
224392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22442 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22443 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22444 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22445 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22446 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22447
74b45184
VS
224482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 * include/grub/err.h (grub_err_printf): Don't export.
22451
a4bced77
VS
224522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22455
007d0695
VS
224562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22459 * kern/misc.c (grub_gettext_dummy): Make static.
22460
b6c0d9c2
VS
224612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22464 by non-valid ones.
22465 * kern/term.c (grub_putchar): Likewise.
22466
f51a90d0
VS
224672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22470 buggy hook call and memory leak.
22471
6846cec5
VS
224722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22475
468d69fe
VS
224762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22479
51906b8c
VS
224802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22483 modevar.
22484 Return grub_errno on allocation error.
22485
09706ce5
VS
224862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22489
911df80c
YB
224902010-02-06 Yves Blusseau <blusseau@zetam.org>
22491
22492 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22493 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22494
3746a6bc
VS
224952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22498 non-pxe disk.
22499 (grub_pxefs_open): Likewise.
22500
09706ce5
VS
225012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22502
22503 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22504 * util/grub.d/10_kfreebsd.in: Likewise.
22505 * util/grub.d/10_linux.in: Likewise.
22506
7cc192d9
VS
225072010-02-06 Colin D Bennett <colin@gibibit.com>
22508
22509 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22510 (gfxmenu_mod_SOURCES): New variable.
22511 (gfxmenu_mod_CFLAGS): Likewise.
22512 (gfxmenu_mod_LDFLAGS): Likewise.
22513 * include/grub/term.h (grub_term_set_current_output): Declare
22514 argument as const.
22515 * docs/gfxmenu-theme-example.txt: New file.
22516 * gfxmenu/gfxmenu.c: Likewise.
22517 * gfxmenu/gui_box.c: Likewise.
22518 * gfxmenu/gui_canvas.c: Likewise.
22519 * gfxmenu/gui_circular_progress.c: Likewise.
22520 * gfxmenu/gui_image.c: Likewise.
22521 * gfxmenu/gui_label.c: Likewise.
22522 * gfxmenu/gui_list.c: Likewise.
22523 * gfxmenu/gui_progress_bar.c: Likewise.
22524 * gfxmenu/gui_string_util.c: Likewise.
22525 * gfxmenu/gui_util.c: Likewise.
22526 * gfxmenu/icon_manager.c: Likewise.
22527 * gfxmenu/model.c: Likewise.
22528 * gfxmenu/named_colors.c: Likewise.
22529 * gfxmenu/theme_loader.c: Likewise.
22530 * gfxmenu/view.c: Likewise.
22531 * gfxmenu/widget-box.c: Likewise.
22532 * include/grub/gfxmenu_model.h: Likewise.
22533 * include/grub/gfxmenu_view.h: Likewise.
22534 * include/grub/gfxwidgets.h: Likewise.
22535 * include/grub/gui.h: Likewise.
22536 * include/grub/gui_string_util.h: Likewise.
22537 * include/grub/icon_manager.h: Likewise.
22538
225392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 Agglomerate scrolling in gfxterm.
22542
22543 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22544 (grub_virtual_screen_setup): Initialise 'total_screen'.
22545 (write_char): Split to ...
22546 (paint_char): ... this ...
22547 (write_char): ... and this.
22548 (paint_char): Handle delayed scrolling.
22549 (draw_cursor): Likewise.
22550 (scroll_up): Split to ...
22551 (real_scroll): ... this ...
22552 (scroll_up): ... and this.
22553 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22554 characters.
22555 (grub_gfxterm_refresh): Call real_scroll.
22556
225572010-02-06 Colin D Bennett <colin@gibibit.com>
22558
22559 * include/grub/misc.h (grub_iscntrl): New inline function.
22560 (grub_isalnum): Likewise.
22561 (grub_strtol): Likewise.
22562
225632010-02-06 Colin D Bennett <colin@gibibit.com>
22564
22565 * normal/menu_text.c (get_entry_number): Move from here ...
22566 * normal/menu.c (get_entry_number): ... moved here.
22567 * include/grub/menu.h (grub_menu_get_default_entry_index):
22568 New prototype.
22569 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22570 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22571 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22572 (grub_menu_viewer_should_return): Likewise.
22573 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22574 * normal/menu_text.c (run_menu): Enable menu switching.
22575 * normal/menu_viewer.c (should_return): New variable.
22576 (menu_viewer_changed): Likewise.
22577 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22578 (grub_menu_viewer_should_return): New function.
22579 (menuviewer_write_hook): Likewise.
22580 (grub_menu_viewer_init): Likewise.
22581
225822010-02-06 Colin D Bennet <colin@gibibit.com>
225832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22584
22585 Support for gfxterm in a window.
22586
22587 * include/grub/gfxterm.h: New file.
22588 * include/grub/video.h (struct grub_video_rect): New declaration.
22589 (grub_video_rect_t): Likewise.
22590 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22591 (refcount): New variable.
22592 (render_target): Likewise.
22593 (window): Likewise.
22594 (repaint_callback): Likewise.
22595 (grub_virtual_screen_setup): Use 'render_target'.
22596 (init_window): New function.
22597 (grub_gfxterm_init_window): Likewise.
22598 (grub_gfxterm_init): Check reference counter.
22599 Use init_window.
22600 (destroy_window): New function.
22601 (grub_gfxterm_destroy_window): Likewise.
22602 (grub_gfxterm_fini): Check reference counter.
22603 Use destroy_window.
22604 (redraw_screen_rect): Restore viewport.
22605 Use 'render_target' and 'window'.
22606 Call 'repaint_callback'.
22607 (write_char): Use 'render_target'.
22608 (draw_cursor): Likewise.
22609 (scroll_up): Restore viewport.
22610 Use 'render_target' and 'window'.
22611 Call 'repaint_callback'.
22612 (grub_gfxterm_cls): Likewise.
22613 (grub_gfxterm_refresh): Use 'window'.
22614 (grub_gfxterm_set_repaint_callback): New function.
22615 (grub_gfxterm_background_image_cmd): Use 'window'.
22616 (grub_gfxterm_get_term): New function.
22617 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22618
226192010-02-06 Colin D Bennett <colin@gibibit.com>
22620
22621 Bitmap scaling support.
22622
22623 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22624 (bitmap_scale_mod_SOURCES): New variable.
22625 (bitmap_scale_mod_CFLAGS): Likewise.
22626 (bitmap_scale_mod_LDFLAGS): Likewise.
22627 * include/grub/bitmap_scale.h: New file.
22628 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22629 (background_image_cmd_options): New variable.
22630 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22631 (cmd): Rename and change type to ...
22632 (background_image_cmd_handle): ... this. All users updated.
22633 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22634 * video/bitmap_scale.c: New file.
22635
226362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22637
22638 SDL support.
22639
22640 * Makefile.in (LIBSDL): New variable.
22641 (enable_grub_emu_sdl): Likewise.
22642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22643 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22644 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22645 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22646 * util/sdl.c: New file.
22647
226482010-02-06 Colin D Bennett <colin@gibibit.com>
226492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 Double buffering support.
22652
22653 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22654 * include/grub/video.h: Update comment.
22655 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22656 New type.
22657 (grub_video_fb_doublebuf_blit_init): New prototype.
22658 * term/gfxterm.c (scroll_up): Support double buffering.
22659 (grub_gfxterm_refresh): Likewise.
22660 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22661 (grub_video_fb_doublebuf_blit_init): Likewise.
22662 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22663 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22664 'displayed_page', 'render_page' and 'update_screen'.
22665 (grub_video_vbe_fini): Free offscreen buffer.
22666 (doublebuf_pageflipping_commit): New function.
22667 (doublebuf_pageflipping_update_screen): Likewise.
22668 (doublebuf_pageflipping_init): Likewise.
22669 (double_buffering_init): Likewise.
22670 (grub_video_vbe_setup): Enable doublebuffering.
22671 (grub_video_vbe_swap_buffers): Implement.
22672 (grub_video_vbe_set_active_render_target): Handle double buffering.
22673 (grub_video_vbe_get_active_render_target): Likewise.
22674 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22675 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22676 (grub_video_vbe_enable_double_buffering): Likewise.
22677 (grub_video_vbe_swap_buffers): Use update_screen.
22678 (grub_video_set_mode): Use double buffering.
22679
226802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22681
22682 * maintainance/gentrigtables.py: Remove.
22683 * lib/trig.c: Likewise.
22684
22685 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22686
22687 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22688 `trigtables.c'.
22689 (trigtables.c): New rule.
22690 (gentrigtables): Likewise.
22691 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22692
226932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22694
22695 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22696 integer constants.
22697
226982010-02-06 Colin D Bennet <colin@gibibit.com>
22699
22700 Trigonometry support.
22701
22702 * include/grub/trig.h: New file.
22703 * lib/trig.c: Likewise.
22704 * maintainance/gentrigtables.py: Likewise.
22705 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22706 (trig_mod_SOURCES): New variable.
22707 (trig_mod_CFLAGS): Likewise.
22708 (trig_mod_LDFLAGS): Likewise.
22709
5562834e
VS
227102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22711
22712 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22713 disk devices.
22714
4f8528fc
VS
227152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22716
22717 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22718 error.
22719
2b4068e9
VS
227202010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 * util/hostdisk.c (open_device): Don't use partition device when reading
22723 before the partition.
22724 (grub_util_biosdisk_read): Don't read from partition and before the
22725 partition in single operation.
22726 (grub_util_biosdisk_write): Don't write to partition and before the
22727 partition in single operation.
22728
399f6e4d
TL
227292010-02-03 Torsten Landschoff <torsten@debian.org>
22730
22731 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22732 last sectors.
22733
996649b0
VS
227342010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22737 CDROM reads.
22738 (grub_biosdisk_write): Refuse to write to CDROM.
22739
3b205d4d
VS
227402010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22743
61e89d9d
VS
227442010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 * font/font.c (find_glyph): Check that bmp_idx is available before
22747 using it.
22748 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22749 with (font == NULL).
22750
bf7fcba2
CS
227512010-01-28 Christian Schmitt <chris@ilovelinux.de>
22752
22753 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22754
f45d2663
BC
227552010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22756
22757 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22758 * util/grub-script-check.c (getline): Fix empty lines case.
22759
ec1444e6
RM
227602010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22761
22762 * Makefile.in (check): Exit with fail status when one of the tests
22763 fails.
22764 * tests/example_functional_test.c (example_test): Fix reversed assert.
22765 * tests/example_unit_test.c (example_test): Likewise.
22766
2e1cb9bb
CW
227672010-01-28 Colin Watson <cjwatson@ubuntu.com>
22768
22769 * util/grub.d/10_linux.in: This script does not use any of the
22770 contents of gettext.sh, only the external command `gettext', so stop
22771 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22772 the same prefix as GRUB.)
22773 * util/grub.d/10_kfreebsd.in: Likewise.
22774
63533ab0
VS
227752010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22778 of the line.
22779
989e1f93
VS
227802010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22781
22782 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22783 last sectors.
22784
e709ebe2
VS
227852010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22786
22787 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22788 having a 4KiB and not 32KiB buffer size.
22789
27dea7ed
RM
227902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22791
22792 * util/hostfs.c: Include `<errno.h>'.
22793 (grub_hostfs_read): Handle errors from fseeko() and fread().
22794
67667b9c
RM
227952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22796
22797 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22798 loop when using read hooks on files whose size isn't sector-aligned.
22799
c294d9d8
RM
228002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22801
22802 Remove unused parameter.
22803
22804 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22805 (grub_iso9660_open): Remove initialization of `data->length'.
22806
af75a9f1
RM
228072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22808
22809 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22810 memleak conditions.
22811
254e2ce5 228122010-01-27 Carles Pina i Estany <carles@pina.cat>
22813
22814 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22815 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22816
b510928c 228172010-01-26 Carles Pina i Estany <carles@pina.cat>
22818
22819 * util/bin2h.c (usage): Fix warning (space after backslash).
22820
aa2f9dd2 228212010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22822
22823 * font/font.c: Include `grub/fontformat.h.
22824 Remove font file format constants.
22825 (grub_font_load): Use the new macros.
22826 * include/grub/fontformat.h: New file.
22827 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22828 (write_font_pf2): Use the new macros.
22829
94e7e712
RM
228302010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22831
22832 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22833 does.
22834
3973a59a
RM
228352010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22836
22837 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22838
22839 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22840 (_start): Macroify `0x7F'.
22841
22842 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22843 (make_install_device): Use "(pxe)" as fallback prefix when booting
22844 via PXE.
22845
42e0cba3
GS
228462010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22847
22848 * configure.ac: Reset LIBS after check for libgcc symbols.
22849
847effd8
CW
228502010-01-25 Colin Watson <cjwatson@ubuntu.com>
22851
22852 * util/hostdisk.c (open_device): Add trailing newline to debug
22853 message.
22854
ea4a7e35
GS
228552010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22856
22857 * configure.ac: Check for `limits.h'.
22858 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22859
67951a53
RM
228602010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22861
22862 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22863 capitalize error strings.
22864
c273d4ce
ST
228652010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22866
22867 * util/grub.d/10_hurd.in: Add a recovery mode.
22868
69be5b74
VS
228692010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 * configure.ac: Check for libgcc symbols with -nostdlib.
22872
fc9e5810
BC
228732010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22874
22875 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22876
4b358c0a
VS
228772010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22878
22879 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22880 stack since heap may be unavailable at that point.
22881 (grub_ofconsole_gotoxy): Likewise.
22882
454fcd1c
VS
228832010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22884
22885 * configure.ac: Check for _restgpr_14_x.
22886 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22887 and _savegpr_* prototypes.
22888
566863ca
RM
228892010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22890
22891 Use generic grub_reboot() for i386-efi.
22892
22893 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22894 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22895 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22896
bf86e59a
VS
228972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22898
22899 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22900 presence of "prefix" variable as it breaks when normal.mod is
22901 embedded.
22902
d645e0f8
VS
229032010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22906 stack since heap is unavailable at that point.
22907
f9ab2e25
VS
229082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22911 (grub_freebsd_bootinfo): Rewritten.
22912 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22913
01fc7054
VS
229142010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22915
22916 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22917
caab4fd6
RM
229182010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22919
22920 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22921 domain now.
22922
67eb1427
FZ
229232010-01-20 Felix Zielcke <fzielcke@z-51.de>
22924
22925 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22926 around for handling "/" to the correct fix. Fix a memory leak. Use
22927 xstrdup instead of strdup.
22928
a9ed4ff3
VS
229292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22932
229332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22934
22935 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22936
22937 * font/font.c (struct grub_font): New member 'bmp_idx'.
22938 (font_init): Initialise 'bmp_idx'.
22939 (load_font_index): Fill 'bmp_idx'.
22940 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22941
48209f4f
VS
229422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22943
22944 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22945 unnecessary calls.
22946
9f0a4bb7
VS
229472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22948
22949 Move context handling out of the kernel.
22950
22951 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22952 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22953 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22954 * conf/i386-efi.rmk: Likewise.
22955 * conf/i386-ieee1275.rmk: Likewise.
22956 * conf/i386-pc.rmk: Likewise.
22957 * conf/powerpc-ieee1275.rmk: Likewise.
22958 * conf/sparc64-ieee1275.rmk: Likewise.
22959 * conf/x86_64-efi.rmk: Likewise.
22960 * include/grub/env.h: Include grub/menu.h.
22961 (grub_env_var_type): Removed.
22962 (grub_env_var): Replaced field 'type' with 'global'.
22963 (grub_env_find): New prototype.
22964 (grub_env_context_open): Remove EXPORT_FUNC.
22965 (grub_env_context_close): Likewise.
22966 (grub_env_export): Likewise.
22967 (grub_env_set_data_slot): Removed.
22968 (grub_env_get_data_slot): Likewise.
22969 (grub_env_unset_data_slot): Likewise.
22970 (grub_env_unset_menu): New prototype.
22971 (grub_env_set_menu): Likewise.
22972 (grub_env_get_menu): Likewise.
22973 * include/grub/env_private.h: New file.
22974 * include/grub/normal.h (grub_context_init): New prototype.
22975 (grub_context_fini): Likewise.
22976 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22977 * normal/context.c (grub_cmd_export): ... to here.
22978 * kern/env.c: Include env_private.h.
22979 (HASHSZ): Moved to include/grub/env_private.h.
22980 (grub_env_context): Likewise.
22981 (grub_env_sorted_var): Likewise.
22982 (current_context): Renamed from this ...
22983 (grub_current_context): ...to this. 'static' removed. All users updated.
22984 (grub_env_find): Removed 'static'.
22985 (grub_env_context_open): Moved to normal/context.c.
22986 (grub_env_context_close): Likewise.
22987 (grub_env_export): Likewise.
22988 (mangle_data_slot_name): Removed.
22989 (grub_env_set_data_slot): Likewise.
22990 (grub_env_get_data_slot): Likewise.
22991 (grub_env_unset_data_slot): Likewise.
22992 * kern/main.c (grub_set_root_dev): Don't export root.
22993 It will be done later.
22994 (grub_main): Don't export prefix.
22995 It will be done later.
22996 * normal/context.c: New file.
22997 * normal/main.c (free_menu): Use grub_env_unset_menu.
22998 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22999 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23000 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23001 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23002
8dd35b8c
VS
230032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 setpci support.
23006
23007 * commands/setpci.c: New file.
23008 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23009 (setpci_mod_SOURCES): New variable.
23010 (setpci_mod_CFLAGS): Likewise.
23011 (setpci_mod_LDFLAGS): Likewise.
23012
449193d5
VS
230132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23014
23015 Byte-addressable PCI configuration space.
23016
23017 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23018 dword address.
23019 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23020 GRUB_PCI_REG_CACHELINE.
23021 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23022 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23023 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23024 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23025 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23026 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23027 grub_pci_make_address.
23028 (lock_rom_area): Likewise.
23029 * commands/lspci.c (grub_lspci_iter): Use macroses
23030 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23031 of grub_pci_make_address.
23032 * disk/ata.c (grub_ata_pciinit): Likewise.
23033 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23034 (GRUB_PCI_REG_VENDOR): Likewise.
23035 (GRUB_PCI_REG_DEVICE): Likewise.
23036 (GRUB_PCI_REG_COMMAND): Likewise.
23037 (GRUB_PCI_REG_STATUS): Likewise.
23038 (GRUB_PCI_REG_REVISION): Likewise.
23039 (GRUB_PCI_REG_CLASS): Likewise.
23040 (GRUB_PCI_REG_CACHELINE): Likewise.
23041 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23042 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23043 (GRUB_PCI_REG_BIST): Likewise.
23044 (GRUB_PCI_REG_ADDRESSES): Likewise.
23045 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23046 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23047 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23048 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23051 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23052 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23053 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23054 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23055 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23056 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23057 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23058 (GRUB_PCI_REG_MIN_GNT): Likewise.
23059 (GRUB_PCI_REG_MAX_LAT): Likewise.
23060 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23061 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23062 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 23063 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
23064 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23065 space.
23066
96d73208
RM
230672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23068
23069 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23070 can be reliably determined to be supported.
23071
d4484482
RM
230722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23073
23074 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23075 that VESA is supported.
23076 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23077 supported.
23078
00308ecf
VS
230792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23082
f66924a4
RM
230832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23084
23085 * util/misc.c (make_system_path_relative_to_its_root): Work around
23086 special-casing of "/", as previous incarnation of this routine did.
23087
cbca0ada
VS
230882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23089
23090 Fix any-emu compilation.
23091
23092 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23093 * grub_bin2h_SOURCES: New variable.
23094
34a66d99
RM
230952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23096
23097 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23098
94fabf58
RM
230992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23100
23101 * util/grub.d/00_header.in: Fix handling of locale_dir.
23102
02cf98ca
VS
231032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23104
23105 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23106 as possible unifont location (Gentoo).
23107 Reported by: Alexander Brüning
23108
327dbcd7
VS
231092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23110
23111 Don't try to generate lists for kernel.img.
23112
23113 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23114 (pkglib_MODULES): Remove kernel.img.
23115 (kernel_img_EXPORTS): Removed.
23116 (kernel_img_RELOCATABLE): New variable.
23117 * conf/x86_64-efi.rmk: Likewise.
23118 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23119
ca467290
VS
231202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23123 grub_xasprintf or grub_snprintf.
23124 (grub_vsprintf): Likewise.
23125 (grub_snprintf): New proto.
23126 (grub_vsnprintf): Likewise.
23127 (grub_xasprintf): Likewise.
23128 (grub_xvasprintf): Likewise.
23129 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23130 (grub_sprintf): Removed.
23131 (grub_vsnprintf): New function.
23132 (grub_snprintf): Likewise.
23133 (grub_xvasprintf): Likewise.
23134 (grub_xasprintf): Likewise.
23135 (grub_vsprintf): Renamed to ...
23136 (grub_vsnprintf_real): ...this. New argument max_len.
23137
aca655fd
BC
231382010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23139
23140 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23141 fix grub-script-check warning.
23142
7ee92c32
VS
231432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 * include/grub/font.h (grub_font_load): Fix prototype.
23146
f80927ca
VS
231472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23148
23149 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23150
119c50ea
VS
231512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * include/grub/x86_64/at_keyboard.h: New file.
23154
47d5f3c1
VS
231552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23156
23157 * loader/mips/linux.c: Include missing grub/i18n.h.
23158
55ff5266
RM
231592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23160
23161 * normal/menu.c (notify_execution_failure): Clarify error message.
23162
c893cc87
RM
231632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23164
23165 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23166 return value (and revert all return statements). Update users.
23167
917dd370
CW
231682010-01-20 Dan Merillat <debian@dan.merillat.org>
23169
23170 * kern/device.c (grub_device_iterate): Allocate new part_ent
23171 structure based on sizeof (*p) rather than sizeof (p->next), to
23172 account for structure padding.
23173
23174 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23175 disk is NULL, which might happen for LVM physical volumes with no
23176 LVM signature.
23177
d4a4ee57
RM
231782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * loader/mips/linux.c (grub_cmd_initrd)
23181 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23182
231832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23184
23185 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23186 (grub_video_video_init, grub_video_bitmap_init)
23187 (grub_font_manager_init, grub_term_gfxterm_init)
23188 (grub_at_keyboard_init): New extern declarations.
23189 (grub_machine_init): Initialize gfxterm and at_keyboard.
23190
23191 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23192
23193 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23194 `gfxterm.mod' into core image.
23195
23196 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23197 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23198 (kernel_img_FORMAT): Copy to ...
23199
23200 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23201 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23202 (kernel_img_FORMAT): ... here, and ...
23203
23204 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23205 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23206 (kernel_img_FORMAT): ... here.
23207
23208 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23209 and input (at_keyboard) terminals in kernel.
23210 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23211
23212 (pkglib_MODULES): Remove `pci.mod'.
23213 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23214 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23215 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23216 (at_keyboard_mod_LDFLAGS): Remove variables.
23217
232182010-01-11 Felix Zielcke <fzielcke@z-51.de>
23219
23220 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23221
232222009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23223
23224 * include/grub/mips/libgcc.h: Only export symbols for functions
23225 that libgcc provides.
23226
232272009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 MIPS support.
23230
23231 * bus/bonito.c: New file.
23232 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23233 GRUB_PCI_NUM_DEVICES.
23234 * term/i386/pc/serial.c: Move to ...
23235 * term/serial.c: ... here. All users updated.
23236 * util/i386/pc/grub-mkimage.c: Move to ...
23237 * util/grub-mkrawimage.c: ... here. All users updated.
23238 * term/i386/pc/at_keyboard.c: Move to ...
23239 * term/at_keyboard.c: ... here. All users updated.
23240 * conf/mips-qemu-mips.rmk: New file.
23241 * conf/mips-yeeloong.rmk: Likewise.
23242 * conf/mips.rmk: Likewise.
23243 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23244 mipsel-qemu-mips.
23245 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23246 to port addresses.
23247 (grub_ata_pciinit): Support CS5536.
23248 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23249 * font/font_cmd.c (loadfont_command): Open file before passing it to
23250 grub_font_load.
23251 (pseudo_file_read): New function.
23252 (pseudo_file_close): Likewise.
23253 (pseudo_fs): New structure.
23254 (load_font_module): New function.
23255 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23256 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23257 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23258 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23259 * include/grub/i386/at_keyboard.h: Split into ...
23260 * include/grub/at_keyboard.h: ... this ...
23261 * include/grub/i386/at_keyboard.h: ... and this.
23262 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23263 New prototype.
23264 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23265 updated.
23266 (grub_elf64_size): Likewise.
23267 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23268 filename.
23269 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23270 * include/grub/i386/coreboot/serial.h: Rewritten.
23271 * include/grub/i386/ieee1275/serial.h: Include
23272 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23273 * include/grub/i386/pc/serial.h: Moved from here ...
23274 * include/grub/serial.h: ... to here. All users updated.
23275 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23276 (GRUB_PCI_NUM_BUS): Likewise.
23277 (GRUB_PCI_NUM_DEVICES): Likewise.
23278 (grub_pci_device_map_range): Add missing volatile keyword.
23279 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23280 * include/grub/mips/at_keyboard.h: New file.
23281 * include/grub/mips/cache.h: Likewise.
23282 * include/grub/mips/io.h: Likewise.
23283 * include/grub/mips/kernel.h: Likewise.
23284 * include/grub/mips/libgcc.h: Likewise.
23285 * include/grub/mips/pci.h: Likewise.
23286 * include/grub/mips/qemu-mips/boot.h: Likewise.
23287 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23288 * include/grub/mips/qemu-mips/loader.h: Likewise.
23289 * include/grub/mips/qemu-mips/memory.h: Likewise.
23290 * include/grub/mips/qemu-mips/serial.h: Likewise.
23291 * include/grub/mips/qemu-mips/time.h: Likewise.
23292 * include/grub/mips/relocator.h: Likewise.
23293 * include/grub/mips/time.h: Likewise.
23294 * include/grub/mips/types.h: Likewise.
23295 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23296 * include/grub/mips/yeeloong/boot.h: Likewise.
23297 * include/grub/mips/yeeloong/kernel.h: Likewise.
23298 * include/grub/mips/yeeloong/loader.h: Likewise.
23299 * include/grub/mips/yeeloong/memory.h: Likewise.
23300 * include/grub/mips/yeeloong/pci.h: Likewise.
23301 * include/grub/mips/yeeloong/serial.h: Likewise.
23302 * include/grub/mips/yeeloong/time.h: Likewise.
23303 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23304 * kern/elf.c (grub_elf32_size): New parameter. All users
23305 updated.
23306 (grub_elf64_size): Likewise.
23307 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23308 Load modules before saying "Welcome to GRUB!".
23309 Call grub_refresh after saying "Welcome to GRUB!".
23310 * kern/mips/cache.S: New file.
23311 * kern/mips/cache_flush.S: Likewise.
23312 * kern/mips/dl.c: Likewise.
23313 * kern/mips/init.c: Likewise.
23314 * kern/mips/qemu-mips/init.c: Likewise.
23315 * kern/mips/startup.S: Likewise.
23316 * kern/mips/yeeloong/init.c: Likewise.
23317 * kern/term.c (grub_putcode): Handle NULL terminal.
23318 (grub_getcharwidth): Likewise.
23319 (grub_getkey): Likewise.
23320 (grub_checkkey): Likewise.
23321 (grub_getkeystatus): Likewise.
23322 (grub_getxy): Likewise.
23323 (grub_getwh): Likewise.
23324 (grub_gotoxy): Likewise.
23325 (grub_cls): Likewise.
23326 (grub_setcolorstate): Likewise.
23327 (grub_setcolor): Likewise.
23328 (grub_getcolor): Likewise.
23329 (grub_refresh): Likewise.
23330 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23331 (write_jump): Add hatch nop.
23332 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23333 * lib/mips/setjmp.S: New file.
23334 * loader/mips/linux.c: Likewise.
23335 * term/i386/pc/at_keyboard.c: Move from here ...
23336 * term/at_keyboard.c: ... to here.
23337 * term/i386/pc/serial.c: Moved from here ...
23338 * term/serial.c: ... to here. All users updated.
23339 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23340 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23341 (serial_translate_key_sequence): Avoid deadlock.
23342 (grub_serial_getkey): Handle backspace.
23343 (grub_serial_putchar): Fix newline handling.
23344 * util/i386/pc/grub-mkimage.c: Move from here ...
23345 * util/grub-mkrawimage.c: ... to here. All users updated.
23346 (generate_image): New parameters 'font_path' and 'format'.
23347 Support embedding font.
23348 Use grub_host_to_target* instead of grub_cpu_to_le*.
23349 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23350 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23351 (options): New option "--font".
23352 (usage): Likewise.
23353 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23354 (main): Handle "--font".
23355 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23356 (grub_virtual_screen_setup): Set bg_color_display.
23357 (redraw_screen_rect): Use bg_color_display instead of incorrect
23358 bg_color.
23359 (grub_gfxterm_cls): Likewise.
23360 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23361 Support embedding config file.
23362 (add_segments): Likewise.
23363 (options): New option "--config".
23364 (main): Handle "--config".
23365 * video/sm712.c: New file.
23366
25c2b5b3
RM
233672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23368
23369 Fix parallel builds.
23370
23371 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23372 font.c depend on ascii.h).
23373
233742010-01-12 Carles Pina i Estany <carles@pina.cat>
23375
23376 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23377
233782010-01-11 Carles Pina i Estany <carles@pina.cat>
23379
23380 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23381 By default: disabled.
23382 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23383 parameter.
23384
233852010-01-10 Carles Pina i Estany <carles@pina.cat>
23386
23387 * font/font.c: Update copyright years.
23388 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23389
233902010-01-10 Carles Pina i Estany <carles@pina.cat>
23391
23392 * font/font.c: Include `ascii.h'.
23393 (ASCII_BITMAP_SIZE): New macro.
23394 (ascii_font_glyph): Define.
23395 (ascii_glyph_lookup): New function.
23396 (grub_font_get_string_width): Change comment. If glyph not found, use
23397 ascii_glyph_lookup.
23398 (grub_font_get_glyph_with_fallback): If glyph not available returns
23399 ascii_glyph_lookup.
23400 * util/grub-mkfont.c (file_formats): New enum.
23401 (options): Add `ascii-bitmaps' new option.
23402 (usage): Add `asii-bitmaps' new option.
23403 (write_font_ascii_bitmap): New function.
23404 (write_font): Rename to ...
23405 (write_font_p2): ... this. Remove print_glyphs call.
23406 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23407 used. Call print_glyphs.
23408 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23409
234102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23411
23412 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23413 (grub_bin2h_SOURCES): New variable.
23414 * util/bin2h.c: New file.
23415
915fc1b8
VS
234162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23417
23418 * include/multiboot.h: Resynced with spec.
23419 * include/multiboot2.h: Likewise.
23420 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23421 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23422
9444b678
RM
234232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 * include/grub/term.h (grub_term_register_input,
23426 grub_term_register_output): Check return of terminal init()
23427 routines, and abort if errors are raised.
23428
23429 * commands/terminal.c: Update copyright year.
23430
cba98e8d
RM
234312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23432
23433 * commands/terminal.c (grub_cmd_terminal_input)
23434 (grub_cmd_terminal_output): Check return of terminal init()
23435 routines, and abort if errors are raised.
23436
6f7db5d6
VS
234372010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 * include/grub/i386/bsd.h: Fix include pathes.
23440
262bff8d
VS
234412010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23442
23443 Add missing *BSD copyright headers.
23444
23445 * include/grub/aout.h: Add BSD licence.
23446 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23447 * include/grub/i386/freebsd_linker.h: ... here,
23448 * include/grub/i386/freebsd_reboot.h: ... here,
23449 * include/grub/i386/netbsd_bootinfo.h: ... here,
23450 * include/grub/i386/netbsd_reboot.h: ... here,
23451 * include/grub/i386/openbsd_bootarg.h: ... here,
23452 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23453 licence to each file.
23454
b2cab848
RM
234552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23456
23457 * acinclude.m4: Remove `nop' assembly instruction; it's not
23458 implemented by all architectures.
23459
2cb6be4b
RM
234602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23461
23462 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23463 ELILO. This is no longer necessary.
23464
a2eaee15
BC
234652010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23466
23467 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23468
23469 * util/grub-script-check.c: grub-script-check tool.
23470 * conf/common.rmk: Make rules for grub-script-check.
23471
88d17012
RM
234722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23473
23474 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23475 spotting it back in 2008. Shame on me for forgetting he did.
23476
23477 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23478
8040619d
RM
234792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23480
23481 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23482 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23483 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23484 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23485 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23486 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23487
a0c2a0f6
RM
234882010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23489
23490 * include/grub/test.h: Add license header.
23491 * tests/example_functional_test.c: Likewise.
23492 * tests/example_unit_test.c: Likewise.
23493 * tests/lib/functional_test.c: Likewise.
23494 * tests/lib/test.c: Likewise.
23495 * tests/lib/unit_test.c: Likewise.
23496
b0b13907
VS
234972010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23498
23499 Use flag-based instead of hook-based video mode selection and "auto"
23500 keyword.
23501
23502 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23503 (grub_video_set_mode): Changed prototype. All users updated.
23504 (grub_video_check_mode_flag): New inline function.
23505 * video/video.c (parse_modespec): New function.
23506 (grub_video_set_mode): Parse flags and keywords.
23507
ea379330 235082010-01-17 Carles Pina i Estany <carles@pina.cat>
23509
23510 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23511 fprintf call.
23512
e15c215e
FZ
235132010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23514
23515 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23516
409ae1c9 235172010-01-16 Carles Pina i Estany <carles@pina.cat>
23518
23519 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23520 string.
23521 * util/grub-emu.c (usage): Likewise.
23522 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23523 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23524 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23525 * util/i386/pc/grub-setup.c (usage): Likewise.
23526
70a14d3d 235272010-01-16 Carles Pina i Estany <carles@pina.cat>
23528
23529 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23530 the message.
23531 (grub_util_info): Likewise.
23532 (grub_util_error): Likewise.
23533 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23534 and/or new lines in `grub_util_warna', `grub_util_info',
23535 `grub_util_error' calls.
23536 * util/getroot.c: Likewise.
23537 * util/grub-editenv.c: Likewise.
23538 * util/grub-emu.c: Likewise.
23539 * util/grub-fstest.c: Likewise.
23540 * util/grub-mkdevicemap.c: Likewise.
23541 * util/grub-mkfont.c: Likewise.
23542 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23543 * util/grub-mkrelpath.c: Likewise.
23544 * util/grub-pe2elf.c: Likewise.
23545 * util/grub-probe.c: Likewise.
23546 * util/hostdisk.c: Likewise.
23547 * util/i386/efi/grub-mkimage.c: Likewise.
23548 * util/i386/pc/grub-mkimage.c: Likewise.
23549 * util/i386/pc/grub-setup.c: Likewise.
23550 * util/ieee1275/ofpath.c: Likewise.
23551 * util/mkisofs/eltorito.c: Likewise.
23552 * util/mkisofs/rock.c: Likewise.
23553 * util/mkisofs/write.c: Likewise.
23554 * util/raid.c: Likewise.
23555 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23556 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23557
a0b766fc
VS
235582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23559
23560 Enable multiboot on non-pc.
23561
23562 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23563 multiboot.mod and multiboot2.mod to ...
23564 * conf/i386.rmk (pkglib_MODULES): ... here.
23565 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23566 Moved to ...
23567 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23568 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23569 Moved to ...
23570 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23571 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23572 Moved to ...
23573 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23574 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23575 Moved to ...
23576 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23577 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23578 relocator.mod.
23579 (ata_mod_SOURCES): Removed.
23580 (ata_mod_CFLAGS): Likewise.
23581 (ata_mod_LDFLAGS): Likewise.
23582 (relocator_mod_SOURCES): Removed.
23583 (relocator_mod_CFLAGS): Likewise.
23584 (relocator_mod_ASFLAGS): Likewise.
23585 (relocator_mod_LDFLAGS): Likewise.
23586 Include i386.mk.
23587 * include/grub/x86_64/multiboot.h: New file.
23588 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23589 Terminate EFI.
23590
884ade56
VS
235912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 Video multiboot support.
23594
23595 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23596 New prototype.
23597 * include/multiboot.h: Resynced with multiboot specification.
23598 * include/multiboot2.h: Likewise.
23599 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23600 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23601 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23602 (HAS_VGA_TEXT): Likewise.
23603 (accepts_video): New variable.
23604 (grub_multiboot_set_accepts_video): New function.
23605 (grub_multiboot_get_mbi_size): Account for video structures.
23606 (set_video_mode): New function.
23607 (retrieve_video_parameters): Likewise.
23608 (grub_multiboot_make_mbi): Fill video fields.
23609
0d90e8a6
VS
236102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23611
23612 Video driver ids.
23613
23614 * include/grub/video.h (grub_video_driver_id): New type.
23615 (grub_video_adapter): New member 'id'. All users updated.
23616 (grub_video_get_driver_id): New proto.
23617 * video/video.c (grub_video_get_driver_id): New function.
23618
5c71db1b 236192010-01-14 Carles Pina i Estany <carles@pina.cat>
23620
23621 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23622 `var=val'.
23623
cca15b52 236242010-01-14 Carles Pina i Estany <carles@pina.cat>
23625
23626 * normal/cmdline.c (print_completion): Gettextizze.
23627
c586fbb2 236282001-01-14 Carles Pina i Estany <carles@pina.cat>
23629
23630 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23631
ba2f6848 236322010-01-14 Carles Pina i Estany <carles@pina.cat>
23633
23634 * gettext/gettext.c (grub_gettext_translate): Push and pop
23635 grub_errno.
23636 (grub_gettext_delete_list): Change comment style.
23637 * kern/err.c (grub_error): Gettextizze.
23638 (grub_fatal): Gettextizze.
23639
0a46429a
RM
236402010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23641
23642 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23643 (grub_linux16_real_boot): ... this.
23644 * kern/i386/loader.S: Likewise.
23645 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23646 (grub_linux16_boot): New function. Switches to text mode and calls
23647 grub_linux16_real_boot().
23648
23649 * loader/i386/bsd.c: Include `<grub/video.h>'.
23650 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23651 text mode before calling grub_unix_real_boot().
23652
23653 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23654 (grub_multiboot_boot): Switch to text mode before calling
23655 grub_relocator32_boot().
23656
23657 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23658 (grub_chainloader_boot): Switch to text mode before calling
23659 grub_chainloader_real_boot().
23660
d6f93a66
RM
236612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
236622010-01-05 Colin Watson <cjwatson@ubuntu.com>
23663
23664 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23665 non-empty value.
23666
236672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
236682010-01-05 Colin Watson <cjwatson@ubuntu.com>
23669
23670 * util/grub.d/00_header.in: Define a "savedefault" function for use
23671 in menu entries.
23672 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23673
236742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
236752010-01-05 Colin Watson <cjwatson@ubuntu.com>
23676
23677 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23678 saved_entry if boot_once is unset.
23679 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23680 previous saved entry (i.e. grub-reboot).
23681
236822009-12-08 Colin Watson <cjwatson@ubuntu.com>
23683
23684 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23685
236862009-12-08 Colin Watson <cjwatson@ubuntu.com>
23687
23688 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23689 `var=val'.
23690 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23691
236922009-12-08 Colin Watson <cjwatson@ubuntu.com>
23693
23694 * util/grub-reboot.in: Fix --version output.
23695 * util/grub-set-default.in: Likewise.
23696
236972009-12-08 Colin Watson <cjwatson@ubuntu.com>
23698
23699 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23700 blocks.
23701
237022009-12-08 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * util/grub.d/00_header.in: Quote the value assigned to `default',
23705 in case it contains spaces.
23706
237072009-12-08 Colin Watson <cjwatson@ubuntu.com>
23708
23709 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23710 `save_default_entry' call from the macosx case to the linux case.
23711
237122009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
237132009-10-25 Colin Watson <cjwatson@ubuntu.com>
23714
23715 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23716 in `chosen' environment variable.
23717 * normal/menu_text.c (get_entry_number): Check if the variable
23718 matches the title of a menu entry.
23719 (run_menu): Pass menu to get_entry_number.
23720
23721 * util/grub-reboot.in: New file.
23722 * util/grub-set-default.in: New file.
23723 * conf/common.rmk (grub-reboot): New utility.
23724 (grub-set-default): New utility.
23725
23726 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23727 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23728 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23729 move it to `saved_entry' for the next boot. Load environment on
23730 initialisation.
23731 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23732 * util/grub.d/10_hurd.in: Likewise.
23733 * util/grub.d/10_linux.in (linux_entry): Likewise.
23734 * util/grub.d/10_windows.in: Likewise.
23735 * util/grub.d/30_os-prober.in: Likewise.
23736
23737 * util/grub-install.in: Create environment block.
23738 * util/i386/efi/grub-install.in: Likewise.
23739 * util/ieee1275/grub-install.in: Likewise.
23740 * util/sparc64/ieee1275/grub-install.in: Likewise.
23741
0934d184
BC
237422010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23743
23744 Unit testing framework for GRUB.
23745
23746 * Makefile.in: Test framework build rules for 'make check'.
23747 * conf/tests.rmk: Build rules for individual tests and framework.
23748
23749 * include/grub/test.h: Header file for whitebox tests.
23750 * tests/lib/functional_test.c: Framework support for whitebox
23751 functional tests.
23752 * tests/lib/test.c: Common whitebox testing code for unit and
23753 functional tests.
23754 * tests/lib/unit_test.c: Framework support for whitebox unit
23755 tests.
23756
23757 * tests/util/grub-shell-tester.in: Support utility for grub-script
23758 tests.
23759 * tests/util/grub-shell.in: Utility to execute grub-script
23760 commands in a Qemu instance.
23761
23762 * tests/example_functional_test.c: Example whitebox functional
23763 test.
23764 * tests/example_grub_script_test.in: Example grub-script test.
23765 * tests/example_scripted_test.in: Example scripted test.
23766 * tests/example_unit_test.c: Example whitebox unit test.
23767
9c4ffeeb
VS
237682010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23771 Add loader/i386/multiboot_mbi.c.
23772 (multiboot2_mod_SOURCES): Likewise.
23773 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23774 (multiboot2_mod_SOURCES): Likewise.
23775 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23776 (grub_multiboot_make_mbi): Likewise.
23777 (grub_multiboot_free_mbi): Likewise.
23778 (grub_multiboot_init_mbi): Likewise.
23779 (grub_multiboot_add_module): Likewise.
23780 (grub_multiboot_set_bootdev): Likewise.
23781 * loader/i386/multiboot.c (mbi): Removed.
23782 (mbi_dest): Likewise.
23783 (alloc_mbi): New variable.
23784 (grub_multiboot_payload_size): Removed. All users updated.
23785 (grub_multiboot_pure_size): New variable.
23786 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23787 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23788 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23789 (grub_fill_multiboot_mmap): Likewise.
23790 (grub_multiboot_get_bootdev): Likewise.
23791 (grub_multiboot): Use multiboot_mbi functions.
23792 * loader/i386/multiboot_mbi.c: New file.
23793
17383dfe
VS
237942010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23797 it would result in module crash.
23798
c1f28820
VS
237992010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23802 (grub_ofconsole_getwh): Split to ...
23803 (grub_ofconsole_getwh): ... this.
23804 (grub_ofconsole_dimensions): ...and this.
23805 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23806
58655a16
RM
238072010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23808
23809 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23810
10891398
VS
238112010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23812
23813 * loader/i386/pc/multiboot2.c: Removed stalled file.
23814
0b8a223c
VS
238152010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23818 Reported by: Grégoire Sutre
23819
92ab12b0
RM
238202010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23821
23822 * util/misc.c (canonicalize_file_name): New function.
23823 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23824 instead of realpath().
23825
a788afb6
CW
238262010-01-11 Colin Watson <cjwatson@ubuntu.com>
23827
23828 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23829 and make it clearer that it's optional. Based on confusion
23830 witnessed on IRC.
23831
ffa8e3d2
VS
238322010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23833
23834 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23835 in premature implicit newline.
23836
e9060a9d
VS
238372010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23838
23839 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23840 which resulted in garbled command line at the end of screen.
23841
f0d0c0b7
RM
238422010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23843
23844 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23845 initialization with similar approach as with other Linux loaders.
23846
0e60bae7
RM
238472010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23848
23849 Fix i386-ieee1275 build.
23850
23851 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23852 and grub_term_height() for video_{width,height} initialization.
23853
238542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23855
23856 Fix grub-emu build.
23857
23858 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23859
cdb3f378
RM
238602010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
238612010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23862
23863 Support for multiple terminals.
23864
23865 * Makefile.in (pkglib_DATA): terminal.lst.
23866 (terminal.lst): New target.
23867 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23868 (GRUB_MOD_INIT(handler)): Likewise.
23869 (GRUB_MOD_FINI(handler)): Likewise.
23870 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23871 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23872 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23873 (grub_cmd_sleep): Use grub_term_save_pos.
23874 * commands/terminal.c: New file.
23875 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23876 commands/terminal.c and lib/charset.c.
23877 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23878 (pkglib_MODULES): Add terminal.mod.
23879 (terminal_mod_SOURCES): New variable.
23880 (terminal_mod_CFLAGS): Likewise.
23881 (terminal_mod_LDFLAGS): Likewise.
23882 * genhandlerlist.sh: Don't handle terminals.
23883 * genmk.rb: Generate terminal-*.lst.
23884 * genterminallist.sh: New file.
23885 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23886 (grub_is_valid_utf8): Likewise.
23887 (grub_utf8_to_ucs4_alloc): Likewise.
23888 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23889 (grub_menu_register_viewer): Changed argument.
23890 (grub_menu_try_text): New proto.
23891 (grub_gfxmenu_try_hook): New declaration.
23892 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23893 (grub_menu_init_page): Additional argument term.
23894 (grub_normal_init_page): Likewise.
23895 (grub_cmdline_get): Arguments simplified.
23896 (grub_utf8_to_ucs4_alloc): Removed.
23897 (grub_print_ucs4): Additional argument term.
23898 (grub_getstringwidth): Likewise.
23899 (grub_print_message_indented): Likewise.
23900 (grub_menu_text_register_instances): New proto.
23901 (grub_show_menu): Likewise.
23902 (read_terminal_list): Likewise.
23903 (grub_set_more): Likewise.
23904 * include/grub/parser.h: Include handler.h.
23905 * include/grub/reader.h: Rewritten.
23906 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23907 (GRUB_TERM_WIDTH): Changed to function.
23908 (GRUB_TERM_HEIGHT): Likewise.
23909 (GRUB_TERM_BORDER_WIDTH): Likewise.
23910 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23911 (GRUB_TERM_NUM_ENTRIES): Likewise.
23912 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23913 (GRUB_TERM_CURSOR_X): Likewise.
23914 (grub_term_input_class): Likewise.
23915 (grub_term_output_class): Likewise.
23916 (grub_term_outputs_disabled): New declaration.
23917 (grub_term_inputs_disabled): Likewise.
23918 (grub_term_outputs): Likewise.
23919 (grub_term_inputs): Likewise.
23920 (grub_term_register_input): Rewritten.
23921 (grub_term_register_output): Likewise.
23922 (grub_term_unregister_input): Likewise.
23923 (grub_term_unregister_output): Likewise.
23924 (FOR_ACTIVE_TERM_INPUTS): New macro.
23925 (FOR_DISABLED_TERM_INPUTS): Likewise.
23926 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23927 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23928 * include/grub/terminfo.h: Add oterm argument to all protypes.
23929 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23930 Use grub_rescue_run.
23931 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23932 All users updated.
23933 * kern/reader.c: Removed. All users updated.
23934 * kern/rescue_reader.c (grub_rescue_init): Removed.
23935 (grub_rescue_reader): Likewise.
23936 (grub_register_rescue_reader): Likewise.
23937 (grub_rescue_run): New function based on kern/reader.c.
23938 * kern/term.c: Adapted for multiterm.
23939 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23940 (grub_is_valid_utf8): Likewise.
23941 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23942 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23943 right terminal.
23944 * loader/i386/linux.c (grub_linux_boot): Likewise.
23945 * normal/auth.c (grub_username_get): New function.
23946 (grub_auth_check_authentication): Use grub_username_get.
23947 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23948 * normal/color.c: Adapt for multiterm.
23949 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23950 (grub_normal_init_page): Additional argument term.
23951 (read_lists): Call read_terminal_lists.
23952 (grub_enter_normal_mode): Call grub_cmdline_run.
23953 Handle grub_normal_exit_level.
23954 (grub_cmd_normal): Make reentrant.
23955 (grub_cmd_normal_exit): New function.
23956 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23957 * normal/menu.c: Adapt for multiterm.
23958 * normal/menu_entry.c: Likewise.
23959 * normal/menu_text.c: Likewise.
23960 * normal/menu_viewer.c: Removed. All users updated.
23961 * normal/term.c: New file.
23962 * util/console.c: Change order of includes to workaround a bug in
23963 ncurses headers.
23964 * term/terminfo.c: New argument oterm on all exported functions.
23965 All users updated.
23966 * util/grub-editenv.c (grub_term_input_class): Removed.
23967 (grub_term_output_class): Likewise.
23968
1a064917
RM
239692010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23970
23971 Make loader output a bit more user-friendly.
23972
23973 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23974 is being loaded. Likewise for the Hurd.
23975
23976 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23977 that kernel of FreeBSD ${version} is being loaded.
23978
23979 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23980 grub_dprintf().
23981 (grub_cmd_initrd): Likewise.
23982 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23983 that Linux ${version} is being loaded. Likewise for initrd.
23984
5ce0a83a 239852010-01-09 Carles Pina i Estany <carles@pina.cat>
23986
23987 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23988
809bbfeb 239892010-01-08 Carles Pina i Estany <carles@pina.cat>
23990
23991 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23992 (GRUB_MOD_INIT): Gettextizze.
23993 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23994 (GRUB_MOD_INIT): Gettextizze.
23995 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23996 (grub_cmd_linux): Capitalise Linux.
23997 (GRUB_MOD_INIT): Gettextizze.
23998 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23999 (grub_cmd_linux): Capitalise Linux.
24000 (GRUB_MOD_INIT): Gettextizze.
24001 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24002 (grub_cmd_linux): Capitalise Linux.
24003 (GRUB_MOD_INIT): Gettextizze.
24004 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24005 (GRUB_MOD_INIT): Gettextizze.
24006 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24007 (grub_cmd_linux): Capitalise Linux.
24008 (GRUB_MOD_INIT): Gettextizze.
24009 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24010 (grub_cpu_xnu_init): Gettextizze.
24011 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24012 (GRUB_MOD_INIT): Gettextizze.
24013 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24014 (GRUB_MOD_INIT): Gettextizze.
24015 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24016 (grub_linux_load64): Capitalise Linux.
24017 (GRUB_MOD_INIT): Gettextizze.
24018 * loader/xnu.c: Include `<grub/i18n.h>'.
24019 (GRUB_MOD_INIT): Gettextizze.
24020 * po/POTFILES: Add `loader/efi/appleloader.c',
24021 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24022 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24023 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24024 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24025 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24026 and `loader/xnu.c'.
24027
b394b2ca
RM
240282010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24029
24030 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24031
240322010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
24033
24034 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24035 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24036 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24037
bc8b32b3
RM
240382010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24039
24040 Reset Multiboot 2 support. New loader implements the draft in
24041 /branches/multiboot2 and shares as much code as possible with the
24042 production Multiboot 1 implementation.
24043
24044 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24045 * loader/multiboot2.c: Likewise.
24046 * loader/i386/multiboot_helper.S: Likewise.
24047 * include/multiboot2.h: Replace with latest version from the draft
24048 in /branches/multiboot2.
24049
24050 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24051 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24052 and `loader/multiboot2.c'.
24053 (pkglib_MODULES): Add `multiboot2.mod'.
24054 (multiboot2_mod_SOURCES): New variable.
24055 (multiboot2_mod_LDFLAGS): Likewise.
24056 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24057
24058 * conf/i386-pc.rmk: Likewise.
24059
24060 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24061 (multiboot_mod_SOURCES): Remove variable.
24062 (multiboot_mod_LDFLAGS): Likewise.
24063 (multiboot_mod_CFLAGS): Likewise.
24064
24065 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24066 `<multiboot2.h>' instead of `<multiboot.h>'.
24067 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24068 (MULTIBOOT_HEADER_MAGIC): New macros.
24069
24070 * loader/multiboot_loader.c (module_version_status): Remove variable.
24071 (find_multi_boot2_header): Remove function.
24072 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24073 logic. Always check for the Multiboot version we're compiling for.
24074 (grub_cmd_module_loader): Likewise.
24075 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24076 command instead of `multiboot'.
24077
5d2c52b8
RM
240782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24079
24080 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24081 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24082 all users.
24083
53108d92
RM
240842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
240852010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 Fix breakage introduced with previous commit.
24088
24089 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24090 commands.
24091 * normal/handler.c (read_handler_list): Revert part of previous commit
24092 affecting this file.
24093 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24094 (grub_normal_execute): ... here.
24095
e2e936b2
RM
240962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 Merge prefix-redefinition-fix branch.
24099
24100 * normal/autofs.c (read_fs_list): Make function capable of being
24101 run multiple times, gracefuly replacing the previous data
24102 structures.
24103 * normal/dyncmd.c (read_command_list): Likewise.
24104 * normal/handler.c (read_handler_list): Likewise.
24105 * normal/main.c (read_lists): New function. Calls all the
24106 list reading functions.
24107 (grub_normal_execute): Use read_lists() instead of calling all
24108 list reading functions explicitly. Register read_lists() as a
24109 variable hook attached to ${prefix}.
24110
607a3701
VS
241112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 Merge crypto branch.
24114
24115 * Makefile.in (pkglib_DATA): Add crypto.lst.
24116 (crypto.lst): New target.
24117 * commands/hashsum.c: New file.
24118 * commands/password.c (check_password): Use grub_crypto_memcmp.
24119 * commands/password_pbkdf2.c: New file.
24120 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24121 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24122 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24123 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24124 -I$(srcdir)/lib/libgcrypt_wrap.
24125 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24126 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24127 password_pbkdf2.mod.
24128 (crypto_mod_SOURCES): New variable.
24129 (crypto_mod_CFLAGS): Likewise.
24130 (crypto_mod_LDFLAGS): Likewise.
24131 (hashsum_mod_SOURCES): New variable.
24132 (hashsum_mod_CFLAGS): Likewise.
24133 (hashsum_mod_LDFLAGS): Likewise.
24134 (pbkdf2_mod_SOURCES): New variable.
24135 (pbkdf2_mod_CFLAGS): Likewise.
24136 (pbkdf2_mod_LDFLAGS): Likewise.
24137 (password_pbkdf2_mod_SOURCES): New variable.
24138 (password_pbkdf2_mod_CFLAGS): Likewise.
24139 (password_pbkdf2_mod_LDFLAGS): Likewise.
24140 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24141 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24142 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24143 Include conf/gcry.rmk.
24144 * include/grub/auth.h: Rewritten.
24145 * include/grub/crypto.h: New file.
24146 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24147 * include/grub/normal.h (read_crypto_list): New prototype.
24148 * lib/crypto.c: New file.
24149 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24150 * lib/pbkdf2.c: Likewise.
24151 * normal/auth.c (grub_auth_strcmp): Removed.
24152 (grub_iswordseparator): Likewise.
24153 (grub_auth_strword): Likewise.
24154 (is_authenticated): Use grub_strword.
24155 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24156 and grub_strword. Pass entered password to authentication callback.
24157 * normal/crypto.c: New file.
24158 * normal/main.c: Call read_crypto_list.
24159 * util/grub-mkpasswd-pbkdf2.c: New file.
24160 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24161
42841caa
VS
241622010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24163
24164 Fix descent and ascent calculation.
24165
24166 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24167 (options): New option "asce".
24168 (usage): Likewise.
24169 (add_char): Ignore invalid glyphs for descent calculation.
24170 Calculate ascent from actual content.
24171 (print_glyphs): Use 'asce'.
24172 (write_font): Likewise. Allow ascent override.
24173 (main): Handle "asce" option.
24174
e7730de7 241752010-01-06 Carles Pina i Estany <carles@pina.cat>
24176
24177 * kern/err.c: Include `<grub/i18n.h>'.
24178 (grub_print_error): Add full stop. Gettextizze.
24179 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24180 (grub_bsd_load_elf): Capitalise ELF.
24181 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24182 (grub_cmd_freebsd_module): Likewise.
24183 (grub_cmd_freebsd_module_elf): Likewise.
24184 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24185
40e3a41f 241862010-01-06 Carles Pina i Estany <carles@pina.cat>
24187
24188 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24189 * commands/search_file.c (HELP_MESSAGE): New macro.
24190 * commands/search_label.c (HELP_MESSAGE): Likewise.
24191 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24192 * po/POTFILES: Add `commands/search_file.c',
24193 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24194 `commands/search.c'.
24195
83507e68
RM
241962010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24197
24198 * config.rpath: Update from Gnulib.
24199
465c787b
YB
242002010-01-05 Yves Blusseau <blusseau@zetam.org>
24201
24202 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24203
6581dd3a
YB
242042010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24205
24206 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24207
3bff18c5
CW
242082010-01-05 Colin Watson <cjwatson@ubuntu.com>
24209
24210 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24211 arguments to fread so that we get a return value in bytes, rather
24212 than something that will normally be rounded down to 0.
24213 Adjust error handling to avoid producing garbage when size_t is not
24214 the same size as long long.
24215
a1368118
CW
242162010-01-05 Colin Watson <cjwatson@ubuntu.com>
24217
24218 * util/mkisofs/write.c (padblock_write): Check return value of
24219 fread.
24220
7c302978
RM
242212010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24222
24223 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24224 floppy images now.
24225
24226 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24227
e33ace06
RM
242282010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24229
24230 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24231 instead of manual alignment.
24232 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24233 verbose). Avoid attempts to read past end of the device
24234 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24235 but GRUB_DISK_CACHE_SIZE may exceed that).
24236
4b856776
RM
242372010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24238
24239 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24240 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24241 it to upper layer.
24242
52c2d97f
VS
242432010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24246 New constant.
24247 (grub_efi_piwg_device_path): New structure
24248 (grub_efi_piwg_device_path_t): New type.
24249 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24250 (devpath_1): Transform to a structure. All users updated.
24251 (devpath_2): Likewise.
24252 (devpath_3): Likewise.
24253 (devpath_4): Likewise.
24254 (devpath_5): Likewise.
24255
98ff6a54
VS
242562010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * loader/efi/appleloader.c: Restored. Update all users.
24259
3a73dcb6
RM
242602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24261
24262 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24263
24264 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24265 (struct boot_blocklist): Move from here ...
24266 * include/grub/i386/pc/boot.h [ASM_FILE]
24267 (struct grub_boot_blocklist): ... to here. Update all users.
24268 (setup): Only initialize `start' member of `first_block'
24269 structure. Add assert() calls to verify the other members.
24270
24271 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24272 (generate_image): Fix broken blocklist length initialization.
24273 Add assert() call to verify blocklist `segment' field.
24274
ab0eeb0c
RM
242752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24276
24277 * loader/efi/appleloader.c: Remove. Update all users.
24278
58bc8bd5
RM
242792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24280
24281 * boot/i386/pc/boot.S: Update copyright year.
24282 * boot/i386/pc/cdboot.S: Likewise.
24283 * boot/i386/pc/diskboot.S: Likewise.
24284 * boot/i386/pc/lnxboot.S: Likewise.
24285 * boot/i386/pc/pxeboot.S: Likewise.
24286 * bus/pci.c: Likewise.
24287 * commands/cmp.c: Likewise.
24288 * commands/help.c: Likewise.
24289 * commands/hexdump.c: Likewise.
24290 * commands/i386/pc/halt.c: Likewise.
24291 * commands/i386/pc/play.c: Likewise.
24292 * commands/i386/pc/vbeinfo.c: Likewise.
24293 * commands/ls.c: Likewise.
24294 * commands/test.c: Likewise.
24295 * disk/dmraid_nvidia.c: Likewise.
24296 * disk/i386/pc/biosdisk.c: Likewise.
24297 * disk/ieee1275/nand.c: Likewise.
24298 * disk/ieee1275/ofdisk.c: Likewise.
24299 * disk/lvm.c: Likewise.
24300 * disk/raid.c: Likewise.
24301 * disk/raid6_recover.c: Likewise.
24302 * disk/scsi.c: Likewise.
24303 * fs/affs.c: Likewise.
24304 * fs/cpio.c: Likewise.
24305 * fs/ext2.c: Likewise.
24306 * fs/hfs.c: Likewise.
24307 * fs/iso9660.c: Likewise.
24308 * fs/ntfs.c: Likewise.
24309 * fs/sfs.c: Likewise.
24310 * fs/udf.c: Likewise.
24311 * fs/ufs.c: Likewise.
24312 * fs/xfs.c: Likewise.
24313 * gencmdlist.sh: Likewise.
24314 * genmk.rb: Likewise.
24315 * include/grub/disk.h: Likewise.
24316 * include/grub/efi/api.h: Likewise.
24317 * include/grub/efi/efi.h: Likewise.
24318 * include/grub/efi/pe32.h: Likewise.
24319 * include/grub/elf.h: Likewise.
24320 * include/grub/fs.h: Likewise.
24321 * include/grub/i386/at_keyboard.h: Likewise.
24322 * include/grub/i386/pc/memory.h: Likewise.
24323 * include/grub/i386/pc/vbe.h: Likewise.
24324 * include/grub/i386/pci.h: Likewise.
24325 * include/grub/i386/tsc.h: Likewise.
24326 * include/grub/ieee1275/ieee1275.h: Likewise.
24327 * include/grub/ntfs.h: Likewise.
24328 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24329 * include/grub/sparc64/libgcc.h: Likewise.
24330 * include/grub/symbol.h: Likewise.
24331 * include/grub/types.h: Likewise.
24332 * include/multiboot2.h: Likewise.
24333 * io/gzio.c: Likewise.
24334 * kern/device.c: Likewise.
24335 * kern/disk.c: Likewise.
24336 * kern/efi/efi.c: Likewise.
24337 * kern/efi/mm.c: Likewise.
24338 * kern/elf.c: Likewise.
24339 * kern/file.c: Likewise.
24340 * kern/i386/dl.c: Likewise.
24341 * kern/i386/pc/init.c: Likewise.
24342 * kern/i386/pc/startup.S: Likewise.
24343 * kern/ieee1275/ieee1275.c: Likewise.
24344 * kern/ieee1275/init.c: Likewise.
24345 * kern/main.c: Likewise.
24346 * kern/mm.c: Likewise.
24347 * kern/powerpc/dl.c: Likewise.
24348 * kern/sparc64/dl.c: Likewise.
24349 * kern/x86_64/dl.c: Likewise.
24350 * lib/hexdump.c: Likewise.
24351 * loader/efi/appleloader.c: Likewise.
24352 * loader/i386/ieee1275/linux.c: Likewise.
24353 * loader/i386/pc/chainloader.c: Likewise.
24354 * loader/i386/pc/linux.c: Likewise.
24355 * loader/i386/pc/multiboot2.c: Likewise.
24356 * loader/ieee1275/multiboot2.c: Likewise.
24357 * loader/multiboot2.c: Likewise.
24358 * loader/multiboot_loader.c: Likewise.
24359 * loader/powerpc/ieee1275/linux.c: Likewise.
24360 * normal/completion.c: Likewise.
24361 * normal/menu_entry.c: Likewise.
24362 * partmap/apple.c: Likewise.
24363 * util/grub.d/10_hurd.in: Likewise.
24364 * util/hostfs.c: Likewise.
24365 * video/readers/png.c: Likewise.
24366
e2d70b5c
CW
243672010-01-03 Colin Watson <cjwatson@ubuntu.com>
24368
24369 * include/grub/misc.h (GNUC_PREREQ): New macro.
24370 (ATTRIBUTE_ERROR): New macro.
24371 * include/grub/list.h (grub_bad_type_cast_real): Use
24372 ATTRIBUTE_ERROR.
24373
a173283f 243742010-01-03 Carles Pina i Estany <carles@pina.cat>
24375
24376 * normal/menu_text.c (print_message): Change messages.
24377
7fa7ff74 243782010-01-03 Carles Pina i Estany <carles@pina.cat>
24379
24380 * normal/menu_entry.c (store_completion): Gettextizze.
24381
136d24f6 243822010-01-03 Carles Pina i Estany <carles@pina.cat>
24383
24384 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24385
f936862e 243862010-01-03 Carles Pina i Estany <carles@pina.cat>
24387
24388 * po/POTFILES: Sort correctly.
24389
29c44ad1 243902010-01-03 Carles Pina i Estany <carles@pina.cat>
24391
24392 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24393 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24394 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24395 full stop.
24396 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24397 summary. Gettextizze the strings.
24398 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24399 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24400 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24401 full stop.
24402 (GRUB_MOD_INIT): Remove command name from summary.
24403 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24404 summary.
24405 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24406 * term/i386/pc/serial.c (options): Add full stops.
24407 (GRUB_MOD_INIT): Remove command name from the summary.
24408
77a79592 244092010-01-03 Carles Pina i Estany <carles@pina.cat>
24410
24411 * commands/acpi.c: Gettextizze help strings and/or options. Include
24412 `grub/i18n.h' if needed.
24413 * commands/blocklist.c: Likewise.
24414 * commands/boot.c: Likewise.
24415 * commands/cat.c: Likewise.
24416 * commands/cmp.c: Likewise.
24417 * commands/configfile.c: Likewise.
24418 * commands/crc.c: Likewise.
24419 * commands/date.c: Likewise.
24420 * commands/echo.c: Likewise.
24421 * commands/efi/fixvideo.c: Likewise.
24422 * commands/efi/loadbios.c: Likewise.
24423 * commands/gptsync.c: Likewise.
24424 * commands/halt.c: Likewise.
24425 * commands/handler.c: Likewise.
24426 * commands/hdparm.c: Likewise.
24427 * commands/hexdump.c: Likewise.
24428 * commands/i386/cpuid.c: Likewise.
24429 * commands/i386/pc/drivemap.c: Likewise.
24430 * commands/i386/pc/halt.c: Likewise.
24431 * commands/i386/pc/pxecmd.c: Likewise.
24432 * commands/i386/pc/vbeinfo.c: Likewise.
24433 * commands/i386/pc/vbetest.c: Likewise.
24434 * commands/ieee1275/suspend.c: Likewise.
24435 * commands/keystatus.c: Likewise.
24436 * commands/loadenv.c: Likewise.
24437 * commands/ls.c: Likewise.
24438 * commands/lsmmap.c: Likewise.
24439 * commands/lspci.c: Likewise.
24440 * commands/memrw.c: Likewise.
24441 * commands/minicmd.c: Likewise.
24442 * commands/parttool.c: Likewise.
24443 * commands/password.c: Likewise.
24444 * commands/probe.c: Likewise.
24445 * commands/read.c: Likewise.
24446 * commands/reboot.c: Likewise.
24447 * commands/search.c: Likewise.
24448 * commands/sleep.c: Likewise.
24449 * commands/test.c: Likewise.
24450 * commands/true.c: Likewise.
24451 * commands/usbtest.c: Likewise.
24452 * commands/videotest.c: Likewise.
24453 * commands/xnu_uuid.c: Likewise.
24454 * disk/loopback.c: Likewise.
24455 * hello/hello.c: Likewise.
24456 * loader/i386/bsd.c: Likewise.
24457 * term/i386/pc/serial.c: Likewise.
24458 * po/POTFILES: Add new files.
24459
da8d5c53
CW
244602010-01-02 Colin Watson <cjwatson@ubuntu.com>
24461
24462 * term/i386/pc/at_keyboard.c
24463 (keyboard_controller_wait_untill_ready): Rename to ...
24464 (keyboard_controller_wait_until_ready): ... this. Update all users.
24465
33937904 244662010-01-01 Carles Pina i Estany <carles@pina.cat>
24467
24468 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24469 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24470 string using string width.
24471 * normal/menu_text.c (grub_print_message_indented): Use
24472 grub_print_spaces and not print_spaces.
24473 (print_timeout): Likewise.
24474 (print_spaces): Move to...
24475 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24476
3fd3b8d8
RM
244772010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24478
24479 Import from Gnulib.
24480
24481 * gnulib/getdelim.c: New file.
24482 * gnulib/getline.c: Likewise.
24483
33433555
VS
244842009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24485
24486 * include/grub/list.h (grub_assert_fail): Removed.
24487 (grub_bad_type_cast_real): New function.
24488 (grub_bad_type_cast): New macro.
24489 (GRUB_AS_LIST): Use grub_bad_type_cast.
24490 (GRUB_AS_LIST_P): Likewise.
e44721e8 24491 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24492 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24493 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24494 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24495 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24496
f5a51306
VS
244972009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24500 Fix syntax error.
24501
90d1e879
RM
245022009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24503
24504 * configure.ac: Check for TARGET_CFLAGS initialization before we
24505 initialize it ourselves (sigh).
24506 Move a few modifications to TARGET_CFLAGS to be unconditional
24507 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24508 eh_frame)
24509
24510 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24511 * term/i386/pc/at_keyboard.c
24512 (keyboard_controller_wait_untill_ready): Likewise.
24513 (keyboard_controller_led): Rename `led_status' paramter to avoid
24514 name conflict.
24515
465b5a81 245162009-12-28 Carles Pina i Estany <carles@pina.cat>
24517
24518 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24519 quotes.
24520
c181849b
VS
245212009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24522
24523 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24524
9c8739a4
VS
245252009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * normal/menu_text.c (grub_print_message_indented): Prevent
24528 past-the-end-of-array dereference.
24529
3e74249c
VS
245302009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24531
24532 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24533 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24534
64fd18ed 245352009-12-27 Carles Pina i Estany <carles@pina.cat>
24536
24537 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24538 * normal/main.c (grub_normal_read_line): Remove a space from the
24539 default prompt.
24540
714af9b9 245412009-12-27 Carles Pina i Estany <carles@pina.cat>
24542
24543 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24544 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24545 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24546 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24547 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24548 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24549 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24550
82f3e412 245512009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24552
24553 * video/readers/jpeg.c (cmd): Declare.
24554 (grub_cmd_jpegtest): Use `grub_command_t' type.
24555 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24556 Assign to `cmd'.
24557 (GRUB_MOD_FINI): Use `cmd' to unregister.
24558 * video/readers/png.c (cmd): Declare.
24559 (grub_cmd_pngtest): Use `grub_command_t' type.
24560 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24561 Assign to `cmd'.
24562 (GRUB_MOD_FINI): Use `cmd' to unregister.
24563 * video/readers/tga.c (cmd): Declare.
24564 (grub_cmd_tgatest): Use `grub_command_t' type.
24565 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24566 Assign to `cmd'.
24567 (GRUB_MOD_FINI): Use `cmd' to unregister.
24568
82f3e412 245692009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24570
24571 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24572 stops.
24573 * kern/corecmd.c (grub_register_core_commands): Likewise.
24574 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24575 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24576 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24577 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24578 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24579 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24580 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24581 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24582 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24583 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24584 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24585 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24586 * normal/handler.c (insert_handler): Likewise.
24587 * normal/main.c (GRUB_MOD_INIT): Likewise.
24588 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24589
fdcdbb66 245902009-12-26 Carles Pina i Estany <carles@pina.cat>
24591
24592 * commands/help.c (grub_cmd_help): Print the command name before the
24593 summary.
24594 (GRUB_MOD_INIT): Remove command name from the summary.
24595 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24596 string as summary.
fdcdbb66 24597 * lib/arg.c (find_long): Print the command name before the summary.
24598 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24599 summary.
24600 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24601 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24602 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24603 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24604 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24605 * commands/date.c (GRUB_MOD_INIT): Likewise.
24606 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24607 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24608 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24609 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24610 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24611 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24612 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24613 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24614 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24615 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24616 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24617 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24618 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24619 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24620 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24621 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24622 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24623 * commands/password.c (GRUB_MOD_INIT): Likewise.
24624 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24625 * commands/read.c (GRUB_MOD_INIT): Likewise.
24626 * commands/search.c (GRUB_MOD_INIT): Likewise.
24627 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24628 * commands/test.c (GRUB_MOD_INIT): Likewise.
24629 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24630 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24631 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24632 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24633 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24634 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24635 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24636 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24637 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24638 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24639 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24640 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24641 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24642 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24643
9c288be2
VS
246442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 Use search command for preliminar UUID search.
24647
24648 * commands/search.c: Split into ...
24649 * commands/search_wrap.c: ...this
24650 * commands/search.c: ...and this.
24651 * commands/search_file.c: New file.
24652 * commands/search_label.c: New file.
24653 * commands/search_uuid.c: New file.
24654 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24655 Add commands/search_wrap.c, commands/search_file.c,
24656 commands/search_label.c and commands/search_uuid.c.
24657 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24658 (search_mod_SOURCES): Set to commands/search_wrap.c.
24659 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24660 search_label.mod.
24661 (search_fs_file_mod_SOURCES): New variable.
24662 (search_fs_file_mod_CFLAGS): Likewise.
24663 (search_fs_file_mod_LDFLAGS): Likewise.
24664 (search_label_mod_SOURCES): Likewise.
24665 (search_label_mod_CFLAGS): Likewise.
24666 (search_label_mod_LDFLAGS): Likewise.
24667 (search_fs_uuid_mod_SOURCES): New variable.
24668 (search_fs_uuid_mod_CFLAGS): Likewise.
24669 (search_fs_uuid_mod_LDFLAGS): Likewise.
24670 (fs_file_mod_SOURCES): Removed.
24671 (fs_file_mod_CFLAGS): Likewise.
24672 (fs_file_mod_LDFLAGS): Likewise.
24673 (fs_uuid_mod_SOURCES): Removed.
24674 (fs_uuid_mod_CFLAGS): Likewise.
24675 (fs_uuid_mod_LDFLAGS): Likewise.
24676 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24677 Set to util/grub-install.in.
24678 * disk/fs_file.c: Removed.
24679 * disk/fs_uuid.c: Likewise.
24680 * include/grub/search.h: New file.
24681 * util/grub-install.in: Handle sparc64.
24682 Create and use load.cfg.
24683 * util/sparc64/ieee1275/grub-install.in: Removed.
24684
db943399
VS
246852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24686
24687 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24688 Ignore return status if CF is cleared.
24689 (grub_biosdisk_get_diskinfo_standard): Likewise.
24690
3fdae612
RM
246912009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * term/i386/pc/at_keyboard.c
24694 (keyboard_controller_wait_untill_ready): New function.
24695 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24696 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24697 for keyboard polling, rather than duplicate the same loop. This
24698 saves a few bytes in code size.
24699
7ebaa2b4
VS
247002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24701
24702 Support for (pxe[:server[:gateway]]) syntax and
24703 use environment variable for PXE.
24704
24705 * commands/i386/pc/pxecmd.c (options): Removed.
24706 (print_ip): Removed.
24707 (grub_cmd_pxe): Removed
24708 (grub_cmd_pxe_unload): New function.
24709 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24710 (grub_pxe_your_ip): Made static.
24711 (grub_pxe_default_server_ip): Likewise.
24712 (grub_pxe_default_gateway_ip): Likewise.
24713 (grub_pxe_blksize): Likewise.
24714 (parse_ip): New function.
24715 (grub_pxe_open): Support server and gateway specification.
24716 (grub_pxe_close): Free disk->data.
24717 (grub_pxefs_open): Use disk->data.
24718 (grub_pxefs_read): Likewise.
24719 (grub_env_write_readonly): New function.
24720 (set_mac_env): Likewise.
24721 (set_env_limn_ro): Likewise.
24722 (parse_dhcp_vendor): Likewise.
24723 (grub_pxe_detect): Set the environment variables.
24724 (set_ip_env): New function.
24725 (write_ip_env): Likewise.
24726 (grub_env_write_pxe_default_server): Likewise.
24727 (grub_env_write_pxe_default_gateway): Likewise.
24728 (grub_env_write_pxe_blocksize): Likewise.
24729 (GRUB_MOD_INIT(pxe)): Set environment variables.
24730 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24731 (grub_pxe_mac_addr_t): ... this. All users updated.
24732 (grub_pxe_your_ip): Removed.
24733 (grub_pxe_server_ip): Likewise.
24734 (grub_pxe_gateway_ip): Likewise.
24735 (grub_pxe_blksize): Likewise.
24736
ec5f98ab 247372009-12-25 Carles Pina i Estany <carles@pina.cat>
24738
24739 * commands/help.c: Include `<grub/i18n.h>'.
24740 (grub_cmd_help): Gettextizze.
24741 (GRUB_MOD_INIT): Likewise.
24742 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24743 (GRUB_MOD_INIT): Gettextizze.
24744 * commands/search.c: Include `<grub/i18n.h>'.
24745 (options): Gettextizze.
24746 (GRUB_MOD_INIT): Gettextizze.
24747 * lib/arg.c: Include `<grub/i18n.h>'.
24748 (help_options): Gettextizze.
24749 (find_long): Likewise.
24750 (grub_arg_show_help): Likewise.
24751 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24752 (read_command_list): Gettextizze.
24753 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24754 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24755
22815526
RM
247562009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24757
24758 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24759 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24760 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24761 (led_status): New variable.
24762 (keyboard_controller_led): New function.
24763 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24764 update led status for caps lock, num lock and scroll lock.
24765
0ad46fd7
FZ
247662009-12-25 Felix Zielcke <fzielcke@z-51.de>
24767
24768 * util/hostdisk.c (open_device): Fix a comment.
24769
d0e158c2
RM
247702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24771
24772 * util/grub-install.in (host_os): New variable.
24773 * util/i386/efi/grub-install.in (host_os): Likewise.
24774
401c0ad6
RM
247752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24776
24777 * util/mkisofs/write.c (padblock_write): Abort when given an
24778 excedingly large embed image, instead of silently truncating it.
24779
d14d3370
RM
247802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24781
24782 * include/multiboot.h: Indentation fixes.
24783
eeed10b4
RM
247842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24785
24786 * include/multiboot.h (struct multiboot_aout_symbol_table)
24787 (struct multiboot_elf_section_header_table): New structure
24788 declarations (stolen from GRUB Legacy).
24789 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24790 table information.
24791
24792 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24793 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24794 type aliases.
24795
681c70ab
RM
247962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24797
24798 * include/multiboot.h: Make comments src2texi-friendly.
24799
e4d47d8d
RM
248002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24801
24802 For consistency with [multiboot]/docs/boot.S.
24803
24804 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24805 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24806 (MULTIBOOT_MAGIC2): Rename from this ...
24807 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24808
a0b70bda
RM
248092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24810
24811 * include/multiboot.h: Remove `<grub/types.h>'.
24812 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24813 types. Update all users.
24814
61ba42be 248152009-12-25 Carles Pina i Estany <carles@pina.cat>
24816
24817 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24818 `couldn't' and `can not' by `cannot'.
24819 * commands/i386/pc/drivemap.c: Likewise.
24820 * disk/ata.c: Likewise.
24821 * disk/ieee1275/nand.c: Likewise.
24822 * fs/affs.c: Likewise.
24823 * fs/fat.c: Likewise.
24824 * fs/hfs.c: Likewise.
24825 * fs/hfsplus.c: Likewise.
24826 * fs/iso9660.c: Likewise.
24827 * fs/jfs.c: Likewise.
24828 * fs/minix.c: Likewise.
24829 * fs/reiserfs.c: Likewise.
24830 * fs/sfs.c: Likewise.
24831 * fs/udf.c: Likewise.
24832 * fs/ufs.c: Likewise.
24833 * fs/xfs.c: Likewise.
24834 * loader/powerpc/ieee1275/linux.c: Likewise.
24835 * loader/sparc64/ieee1275/linux.c: Likewise.
24836 * util/grub-probe.c: Likewise.
24837 * util/misc.c: Likewise.
24838
7fd0baee 248392009-12-24 Carles Pina i Estany <carles@pina.cat>
24840
24841 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24842 grub_errno calls.
24843 * commands/acpi.c: Likewise.
24844 * commands/blocklist.c: Likewise.
24845 * commands/efi/loadbios.c: Likewise.
24846 * commands/i386/pc/drivemap.c: Likewise.
24847 * commands/loadenv.c: Likewise.
24848 * commands/memrw.c: Likewise.
24849 * commands/password.c: Likewise.
24850 * commands/videotest.c: Likewise.
24851 * disk/ata.c: Likewise.
24852 * disk/ata_pthru.c: Likewise.
24853 * disk/dmraid_nvidia.c: Likewise.
24854 * disk/ieee1275/nand.c: Likewise.
24855 * disk/ieee1275/ofdisk.c: Likewise.
24856 * disk/loopback.c: Likewise.
24857 * disk/lvm.c: Likewise.
24858 * disk/mdraid_linux.c: Likewise.
24859 * disk/raid.c: Likewise.
24860 * disk/raid6_recover.c: Likewise.
24861 * disk/scsi.c: Likewise.
24862 * efiemu/main.c: Likewise.
24863 * efiemu/mm.c: Likewise.
24864 * efiemu/pnvram.c: Likewise.
24865 * efiemu/symbols.c: Likewise.
24866 * font/font.c: Likewise.
24867 * fs/cpio.c: Likewise.
24868 * fs/hfsplus.c: Likewise.
24869 * fs/iso9660.c: Likewise.
24870 * fs/jfs.c: Likewise.
24871 * fs/minix.c: Likewise.
24872 * fs/ntfs.c: Likewise.
24873 * fs/ntfscomp.c: Likewise.
24874 * fs/reiserfs.c: Likewise.
24875 * fs/ufs.c: Likewise.
24876 * fs/xfs.c: Likewise.
24877 * gettext/gettext.c: Likewise.
24878 * include/grub/auth.h: Likewise.
24879 * kern/elf.c: Likewise.
24880 * kern/file.c: Likewise.
24881 * kern/ieee1275/init.c: Likewise.
24882 * kern/ieee1275/mmap.c: Likewise.
24883 * kern/ieee1275/openfw.c: Likewise.
24884 * kern/powerpc/dl.c: Likewise.
24885 * kern/sparc64/dl.c: Likewise.
24886 * lib/arg.c: Likewise.
24887 * loader/i386/bsd.c: Likewise.
24888 * loader/i386/bsdXX.c: Likewise.
24889 * loader/i386/efi/linux.c: Likewise.
24890 * loader/i386/efi/xnu.c: Likewise.
24891 * loader/i386/ieee1275/linux.c: Likewise.
24892 * loader/i386/linux.c: Likewise.
24893 * loader/i386/multiboot.c: Likewise.
24894 * loader/i386/pc/linux.c: Likewise.
24895 * loader/i386/pc/multiboot2.c: Likewise.
24896 * loader/i386/xnu.c: Likewise.
24897 * loader/ieee1275/multiboot2.c: Likewise.
24898 * loader/macho.c: Likewise.
24899 * loader/machoXX.c: Likewise.
24900 * loader/multiboot2.c: Likewise.
24901 * loader/multiboot_loader.c: Likewise.
24902 * loader/powerpc/ieee1275/linux.c: Likewise.
24903 * loader/sparc64/ieee1275/linux.c: Likewise.
24904 * loader/xnu.c: Likewise.
24905 * loader/xnu_resume.c: Likewise.
24906 * mmap/i386/pc/mmap.c: Likewise.
24907 * normal/menu_viewer.c: Likewise.
24908 * partmap/acorn.c: Likewise.
24909 * partmap/amiga.c: Likewise.
24910 * partmap/apple.c: Likewise.
24911 * script/lexer.c: Likewise.
24912 * term/gfxterm.c: Likewise.
24913 * term/i386/pc/serial.c: Likewise.
24914 * term/i386/pc/vga.c: Likewise.
24915 * term/ieee1275/ofconsole.c: Likewise.
24916 * term/terminfo.c: Likewise.
24917 * video/bitmap.c: Likewise.
24918 * video/efi_gop.c: Likewise.
24919 * video/efi_uga.c: Likewise.
24920 * video/fb/video_fb.c: Likewise.
24921 * video/i386/pc/vbe.c: Likewise.
24922 * video/readers/tga.c: Likewise.
24923 * video/video.c: Likewise.
24924
0ad46fd7 249252009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24926
24927 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24928 * commands/lspci.c: Likewise.
24929 * commands/probe.c: Likewise.
24930 * commands/xnu_uuid.c: Likewise.
24931 * conf/i386-coreboot.rmk: Likewise.
24932 * conf/i386-efi.rmk: Likewise.
24933 * conf/i386-ieee1275.rmk: Likewise.
24934 * conf/i386-pc.rmk: Likewise.
24935 * conf/powerpc-ieee1275.rmk: Likewise.
24936 * conf/sparc64-ieee1275.rmk: Likewise.
24937 * conf/x86_64-efi.rmk: Likewise.
24938 * fs/i386/pc/pxe.c: Likewise.
24939 * gettext/gettext.c: Likewise.
24940 * include/grub/efi/graphics_output.h: Likewise.
24941 * include/grub/i386/pc/memory.h: Likewise.
24942 * kern/env.c: Likewise.
24943 * kern/i386/qemu/startup.S: Likewise.
24944 * lib/i386/pc/biosnum.c: Likewise.
24945 * lib/i386/relocator.c: Likewise.
24946 * lib/i386/relocator_asm.S: Likewise.
24947 * lib/relocator.c: Likewise.
24948 * loader/i386/bsd.c: Likewise.
24949 * loader/i386/multiboot.c: Likewise.
24950 * loader/i386/pc/chainloader.c: Likewise.
24951 * loader/i386/xnu.c: Likewise.
24952 * loader/xnu.c: Likewise.
24953 * normal/main.c: Likewise.
24954 * normal/menu_text.c: Likewise.
24955 * util/getroot.c: Likewise.
24956 * util/grub-mkconfig_lib.in: Likewise.
24957 * util/grub.d/00_header.in: Likewise.
24958 * util/i386/pc/grub-mkimage.c: Likewise.
24959 * util/mkisofs/eltorito.c: Likewise.
24960 * util/mkisofs/exclude.h: Likewise.
24961 * util/mkisofs/hash.c: Likewise.
24962 * util/mkisofs/iso9660.h: Likewise.
24963 * util/mkisofs/joliet.c: Likewise.
24964 * util/mkisofs/mkisofs.c: Likewise.
24965 * util/mkisofs/mkisofs.h: Likewise.
24966 * util/mkisofs/multi.c: Likewise.
24967 * util/mkisofs/name.c: Likewise.
24968 * util/mkisofs/rock.c: Likewise.
24969 * util/mkisofs/tree.c: Likewise.
24970 * util/mkisofs/write.c: Likewise.
24971 * video/efi_gop.c: Likewise.
24972
009ec743
VS
249732009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24976 size counting.
24977
0ad46fd7 249782009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24979
24980 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24981 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24982
d3d30ea0
VS
249832009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24984
24985 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24986 (GRUB_MOD_INIT(memrw)): Update help line.
24987
a34f5c70
VS
249882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24989
24990 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24991 Use grub_extcmd_t. All users updated.
24992 (options): New variable.
24993 (grub_cmd_read): Restructure for readability. Support "-v" option.
24994 (grub_cmd_write): Restructure for readability.
24995
0ad46fd7 249962009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24997
24998 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24999
0ad46fd7 250002009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
25001
25002 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25003 with the actual contents of the correspondending make variable.
25004 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25005 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25006 specifying `*.lst' and `efiemu??.o'
25007
0ad46fd7 250082009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
25009
25010 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25011 after function name.
25012 Noticed by Rene Engelhard <rene@debian.org>.
25013
dc77a799
VS
250142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25017 (options): New variable.
25018 (iospace): Likewise.
25019 (grub_lspci_iter): List IO spaces if "-i" was given.
25020 (grub_cmd_lspci): Parse options.
25021 (GRUB_MOD_INIT(lspci)): Use extcmd.
25022 (GRUB_MOD_FINI(lspci)): Likewise.
25023
0ad46fd7 250242009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
25025
25026 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25027 `function' keyword.
25028 Patch by Tony Mancill <tmancill@debian.org>.
25029
b5d5993b
VS
250302009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25033 (grub_uhci_portstatus): Likewise.
25034 (grub_uhci_portstatus): Add necessary delay.
11d18281 25035 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 25036
941903f2 250372009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 25038
941903f2 25039 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25040 (GRUB_MOD_INIT): Likewise.
25041 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 25042 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25043 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 25044 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25045 (enable_rom_area): Likewise.
25046 (GRUB_MOD_INIT): Likewise.
25047 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25048 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25049 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25050 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25051 * commands/hexdump.c (options): Likewise.
25052 * commands/i386/cpuid.c (options): Likewise.
25053 (GRUB_MOD_INIT): Likewise.
25054 * commands/i386/pc/drivemap.c (options): Likewise.
25055 (GRUB_MOD_INIT): Likewise.
25056 * commands/i386/pc/halt (options): Likewise.
25057 (GRUB_MOD_INIT): Likewise.
25058 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25059 * commands/i386/pc/pxecmd.c (options): Likewise.
25060 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25061 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25062 * commands/keystatus.c (options): Likewise.
25063 (GRUB_MOD_INIT): Likewise.
25064 * commands/loadenv.c (options): Likewise.
25065 * commands/ls.c (options): Likewise.
25066 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25067 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25068 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25069 * commands/parttool.c (helpmsg): Likewise.
25070 * commands/probe.c (options): Likewise.
25071 * commands/read.c (GRUB_MOD_INIT): Likewise.
25072 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25073 * commands/search.c (options): Likewise.
25074 * commands/sleep.c (options): Likewise.
25075 * commands/test.c (GRUB_MOD_INIT): Likewise.
25076 * commands/true.c (GRUB_MOD_INIT): Likewise.
25077 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25078 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25079 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25080 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25081 `$(XGETTEXT)'.
98a50553 25082 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25083
0ad46fd7 250842009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25085
ef3c2c3a 25086 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25087 instead of specifying them explicit.
25088
7922f68b
RM
250892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25090
25091 * NEWS: Add grub-probe support for GNU/Hurd.
25092
537ce47f
RM
250932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25094
25095 * NEWS: gettext was added after 1.97.
25096
9b214e3a
RM
250972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25098
25099 * util/mkisofs/msdos_partition.h: New file (based on
25100 include/grub/msdos_partition.h).
25101 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25102 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25103 (ld_options, main): Recognize --protective-msdos-label.
25104 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25105 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25106 (padblock_write): If `use_protective_msdos_label' is set, patch a
25107 protective DOS-style label in the output image.
25108
25109 * util/grub-mkrescue.in: Use --protective-msdos-label.
25110
e9309813
RM
251112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25112
25113 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25114 boot.
25115
0ae56929
RM
251162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25117
25118 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25119 variables.
25120 (ld_options, main): Recognize `--embedded-boot'.
25121 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25122 declarations.
25123 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25124 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25125 (padblock_write): Likewise. Rewrite to support embedded boot image.
25126
25127 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25128 for BIOS-based disk boot instead of only ElTorito.
25129
b15937b1
RM
251302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25131
25132 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25133 build (not needed for bootstrap).
25134
52cc3ce0
RM
251352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25136
25137 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25138 from i386-pc build (not needed for bootstrap).
25139 Rewrite a pair of strings.
25140
36f5ff04
RM
251412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25144
973c6c85 251452009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25146
25147 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25148
05d21547
AB
251492009-12-21 Andreas Born <futur.andy@googlemail.com>
25150
25151 * kern/env.c (grub_env_context_open): Mark exported variable for
25152 reexport.
25153
0175d51f
AB
251542009-12-21 Andreas Born <futur.andy@googlemail.com>
25155
25156 * kern/env.c (grub_env_export): Create nonexistent variables before
25157 exporting.
25158
7f39d92f 251592009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25160
7f39d92f 25161 * include/grub/auth.h: Include `<grub/i18n.h>'.
25162 (GRUB_GET_PASSWORD): Gettextizze string.
25163 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25164 menu_text.c.
25165 (grub_utf8_to_ucs4_alloc): Fix indentation.
25166 (grub_print_ucs4): Likewise.
25167 (grub_getstringwidth): Likewise.
25168 (print_message_indented): New declaration.
25169 * normal/auth.c: Include `<grub/i18n.h>'.
25170 (grub_auth_check_authentication): Gettexttize string.
25171 * normal/cmdline.c: Include `<grub/i18n.h>'.
25172 (grub_cmdline_get): Gettextizze.
25173 * normal/color.c: Include `<grub/i18n.h>'.
25174 (grub_parse_color_name_pair): Gettexttize strings.
25175 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25176 string (use `print_message_indented').
25177 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25178 `include/grub/normal.h'.
25179 (print_message_indented): Renamed to ...
25180 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25181 used in normal/main.c).
25182 (print_message): Use `grub_print_message_indented' instead of
25183 `print_message_indented'.
25184 (print_timeout): Likewise.
25185 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25186 (grub_normal_print_device_info): Gettexttize strings.
25187 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25188
3041d898
VS
251892009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25190
25191 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25192 of arguments. Return number of tokens and not arguments. All users
25193 updated.
25194
de15bf8e
VS
251952009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25198 non-MSDOS paritions.
25199
e0a6ca52
VS
252002009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25201
25202 * include/grub/types.h (UNUSED): Removed since it conflicts with
25203 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25204 Reported by Grégoire Sutre.
25205
b99518d1 252062009-12-19 Carles Pina i Estany <carles@pina.cat>
25207
25208 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25209 (grub_print_ucs4_alloc): Likewise.
25210 (grub_getstringwidth): Likewise.
25211 * normal/main.c (grub_normal_init_page): Gettextize version string.
25212 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25213 (getstringwidth): Renamed to ...
25214 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25215 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25216 (grub_print_ucs4): Remove `static' qualifer (now used in
25217 normal/main.c).
25218 * po/POTFILES: Add normal/main.c.
25219
bfd5e52b 252202009-12-19 Carles Pina i Estany <carles@pina.cat>
25221
25222 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25223 (print_message_indented): Add `margin_left' and `margin_right'
25224 parameters.
25225 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25226 strings.
25227 (print_timeout): Use `print_message_indented' to print the message.
25228 Deletes `second_stage' parameter.
25229 (run_menu): Update `print_timeout' calls.
25230
5a1ad2b9
VS
252312009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25232
25233 Fix console palette on OpenFirmware.
25234
25235 * term/ieee1275/ofconsole.c (MAX): Removed.
25236 (colors): Redone based on VGA palette.
25237 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25238 colors are supported.
25239 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25240
b045f00a
VS
252412009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 Fix potential EfiEmu double prepare.
25244
25245 * efiemu/main.c (prepared): New variable
25246 (grub_efiemu_unload): Set prepare to '0'.
25247 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25248
25249 set_virtual_address_map support.
25250
25251 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25252 prototype.
25253 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25254 prototype.
25255 (grub_efiemu_crc32): Likewise.
25256 (grub_efiemu_crc64): Likewise.
25257 (grub_efiemu_set_virtual_address_map): Likewise.
25258 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25259 New definition.
25260 (grub_autoefi_set_virtual_address_map): Likewise.
25261 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25262 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25263 Restructure flow to accomodate it.
25264 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25265 (grub_efiemu_crc): Recompute CRC32.
25266 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25267 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25268 * efiemu/symbols.c (relocated_handle): New variable.
25269 (grub_efiemu_free_syms): Free relocated_handle.
25270 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25271 (grub_efiemu_write_sym_markers): New function.
25272 (grub_efiemu_set_virtual_address_map): Likewise.
25273
25274 Newer XNU parameters.
25275
25276 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25277 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25278 (grub_xnu_fill_devicetree): New prototype.
25279 (grub_xnu_heap_real_start): New variable.
25280 * loader/xnu.c (get_name_ptr): New function.
25281 (grub_xnu_load_driver): Fill namelen and name.
25282
25283 64-bit xnu support.
25284
25285 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25286 and 'loader/macho64.c'.
25287 * conf/i386-pc.rmk: Likewise.
25288 * conf/x86_64-efi.rmk: Likewise.
25289 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25290 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25291 * include/grub/macho.h (grub_macho_segment64): New structure.
25292 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25293 (grub_macho_size32): ... to this.
25294 (grub_macho32_get_entry_point): Renamed from ...
25295 (grub_macho_get_entry_point32): ... to this.
25296 (grub_macho_contains_macho64): New prototype.
25297 (grub_macho_size64): Likewise.
25298 (grub_macho_get_entry_point64): Likewise.
25299 (grub_macho32_load): Renamed from ...
25300 (grub_macho_load32): ... to this.
25301 (grub_macho32_filesize): Renamed from ...
25302 (grub_macho_filesize32): ... to this.
25303 (grub_macho32_readfile): Renamed from ...
25304 (grub_macho_readfile32): ... to this.
25305 (grub_macho_filesize64): New prototype.
25306 (grub_macho_readfile64): Likewise.
25307 (grub_macho_parse32): Likewise.
25308 (grub_macho_parse64): Likewise.
25309 * loader/macho.c: Split into ...
25310 * loader/machoXX.c: ... and this. Replace 32 with XX.
25311 * loader/macho32.c: New file.
25312 * loader/macho64.c: Likewise.
25313 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25314 (grub_cmd_xnu_kernel): Make 32-bit only.
25315 (grub_cmd_xnu_kernel64): New function.
25316 (grub_xnu_load_driver): Support Mach-O 64.
25317 (grub_cmd_xnu_mkext): Likewise.
25318 * util/grub.d/30_os-prober.in (osx_entry): New function.
25319 Generate entries for 64-bit boot too.
25320
25321 Eliminate ad-hoc tree format in XNU and EfiEmu.
25322
25323 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25324 * efiemu/pnvram.c: Rewritten to use environment variables.
25325 All users updated.
25326
25327 Inline utf16_to_utf8.
25328
25329 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25330 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25331 All users updated.
25332 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25333
25334 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25335 * commands/usbtest.c (grub_usb_get_string): ... move here.
25336 (usb_print_str): Fix error handling.
25337 * include/grub/usb.h (grub_usb_get_string): Remove.
25338
25339 UTF-8 to UTF-16 transformation.
25340
25341 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25342 (charset_mod_SOURCES): New variable.
25343 (charset_mod_CFLAGS): Likewise.
25344 (charset_mod_LDFLAGS): Likewise.
25345 * include/grub/utf.h: New file.
25346 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25347
25348 Support for device properties.
25349
25350 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25351 (grub_xnu_devprop_device_header): Likewise.
25352 (grub_xnu_devprop_device_descriptor): Likewise.
25353 (grub_xnu_devprop_add_device): New prototype.
25354 (grub_xnu_devprop_remove_device): Likewise.
25355 (grub_xnu_devprop_remove_property): Likewise.
25356 (grub_xnu_devprop_add_property_utf8): Likewise.
25357 (grub_xnu_devprop_add_property_utf16): Likewise.
25358 (grub_cpu_xnu_init): Likewise.
25359 (grub_cpu_xnu_fini): Likewise.
25360 (grub_cpu_xnu_unload): Likewise.
25361 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25362 (property_descriptor): Likewise.
25363 (devices): New variable.
25364 (grub_xnu_devprop_remove_property): New function.
25365 (grub_xnu_devprop_add_device): Likewise.
25366 (grub_xnu_devprop_remove_device): Likewise.
25367 (grub_xnu_devprop_add_property): Likewise.
25368 (grub_xnu_devprop_add_property_utf8): Likewise.
25369 (grub_xnu_devprop_add_property_utf16): Likewise.
25370 (hextoval): Likewise.
25371 (grub_cpu_xnu_fill_devprop): Likewise.
25372 (grub_cmd_devprop_load): Likewise.
25373 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25374 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25375 (cmd_devprop_load): New variable.
25376 (grub_cpu_xnu_init): New function.
25377 (grub_cpu_xnu_fini): Likewise.
25378 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25379 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25380 (grub_cmd_xnu_devtree): Likewise.
25381 (hextoval): New function.
25382 (unescape): Likewise.
25383 (grub_xnu_fill_devicetree): Likewise.
25384
25385 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25386 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25387
0945f181
VS
253882009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 Workaround for broken ATI VBE.
25391
25392 * video/i386/pc/vbe.c (last_set_mode): New variable.
25393 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25394 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25395 (grub_video_vbe_setup): Don't check for reserved flag.
25396
0ad46fd7 253972009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25398
25399 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25400 the `find' command.
25401
c179ebe4
VS
254022009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25403
25404 UUID support for HFS.
25405
25406 * fs/hfs.c (grub_hfs_uuid): New function.
25407 (grub_hfs_fs): New value .uuid.
25408 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25409
0ad46fd7 254102009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25411
25412 Fix a segfault with parsing unknown long options.
25413
25414 * util/grub-mkrelpath.c (options): Zero terminate it.
25415
c4a3e41a
CPE
254162009-12-13 Carles Pina i Estany <carles@pina.cat>
25417
25418 * include/grub/misc.h (grub_puts): New declaration.
25419 (grub_puts_): Likewise.
a22008a6 25420 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25421 (grub_puts_): Likewise.
25422
2e8a7602
RM
254232009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25424
25425 * util/grub-probe.c (probe): Improve error message.
25426
b50b77b9
RM
254272009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25428
25429 * loader/i386/multiboot_elfxx.c
25430 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25431 initialization.
25432
254332009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Relocator framework
25436
25437 * loader/i386/xnu_helper.S: Removed. All users updated.
25438 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25439 (relocator_mod_SOURCES): New variable.
25440 (relocator_mod_CFLAGS): Likewise.
25441 (relocator_mod_LDFLAGS): Likewise.
25442 (relocator_mod_ASFLAGS): Likewise.
25443 * conf/x86_64.rmk: Likewise.
25444 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25445 (grub_multiboot_payload_entry_offset): Likewise.
25446 (grub_multiboot_forward_relocator): Likewise.
25447 (grub_multiboot_forward_relocator_end): Likewise.
25448 (grub_multiboot_backward_relocator): Likewise.
25449 (grub_multiboot_backward_relocator_end): Likewise.
25450 (grub_multiboot_payload_eip): New variable.
25451 (grub_multiboot_payload_orig): Likewise.
25452 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25453 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25454 * include/grub/i386/memory.h
25455 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25456 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25457 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25458 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25459 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25460 * include/grub/i386/relocator.h: New file.
25461 * include/grub/x86_64/relocator.h: Likewise.
25462 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25463 (XNU_RELOCATOR): New macro.
25464 (grub_xnu_launcher_start): Remove.
25465 (grub_xnu_launcher_end): Likewise.
25466 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25467 (grub_xnu_heap_real_start): Remove.
25468 (grub_xnu_heap_start): Change to void *. All users updated.
25469 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25470 * lib/i386/relocator.c: New file.
25471 * lib/i386/relocator_asm.S: Likewise.
25472 * lib/i386/relocator_backward.S: Likewise.
25473 * lib/mips/relocator.c: Likewise.
25474 * lib/mips/relocator_asm.S: Likewise.
25475 * lib/relocator.c: Likewise.
25476 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25477 (entry): Removed.
25478 (playground): Likewise.
25479 (grub_multiboot_payload_orig): New variable.
25480 (grub_multiboot_payload_dest): Likewise.
25481 (grub_multiboot_payload_size): Likewise.
25482 (grub_multiboot_payload_eip): Likewise.
25483 (grub_multiboot_payload_esp): Likewise.
25484 (grub_multiboot_boot): Use grub_relocator32_boot.
25485 (grub_multiboot_unload): Free relocators.
25486 (grub_multiboot): Setup stack. Use relocators.
25487 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25488 (grub_multiboot_load_elfXX): Use relocators.
25489 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25490 (grub_multiboot_payload_size): Likewise.
25491 (grub_multiboot_payload_dest): Likewise.
25492 (grub_multiboot_payload_entry_offset): Likewise.
25493 (grub_multiboot_forward_relocator): Likewise.
25494 (grub_multiboot_backward_relocator): Likewise.
25495 (grub_multiboot_real_boot): Likewise.
25496 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25497 (grub_xnu_entry_point): Likewise.
25498 (grub_xnu_arg1): Likewise.
25499 (grub_xnu_stack): Likewise.
25500 (grub_xnu_launch): Removed.
25501 (grub_xnu_boot_resume): New function.
25502 (grub_xnu_boot): Use relocators.
25503 * loader/i386/xnu_helper.S: Removed.
25504 * loader/xnu.c (grub_xnu_heap_start): New variable.
25505 (grub_xnu_heap_size): Likewise.
25506 (grub_xnu_heap_malloc): Use relocators.
25507 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25508
29eb90c6
VS
255092009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25512 anything.
25513
31027430
CPE
255142009-12-13 Carles Pina i Estany <carles@pina.cat>
25515
25516 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25517 GRUB_ERR_NONE before calling grub_env_set.
25518
dc0c71d9
RM
255192009-12-12 Robert Millan <rmh@aybabtu.com>
25520
25521 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25522 * genmk.rb (video): New variable.
25523 (CLEANFILES, VIDEOFILES): Add #{video}.
25524 (#{video}): New target rule.
25525 * genvideolist.sh: New file.
25526 * Makefile.in (pkglib_DATA): Add video.lst.
25527 (video.lst): New target rule.
25528 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25529 `video.lst'.
25530 * util/grub.d/30_os-prober.in: Replace `vbe' with
25531 ${GRUB_VIDEO_BACKEND}.
25532
2a4bfcf0
RM
255332009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25534
25535 * THANKS: Add David Miller.
25536
2a3aa4d5
RM
255372009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 libpciaccess support.
25540
25541 * Makefile.in (LIBPCIACCESS): New variable.
25542 (enable_grub_emu_pci): Likewise.
25543 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25544 util/pci.c and commands/lspci.c.
25545 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25546 * configure.ac (grub-emu-pci): New option.
25547 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25548 (grub_pci_device_unmap_range): Likewise.
25549 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25550 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25551 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25552 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25553 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25554 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25555 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25556 * include/grub/pciutils.h: New file.
25557 * util/pci.c: Likewise.
25558
0ad46fd7 255592009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25560
25561 * util/misc.c: Don't include <errno.h> twice.
25562
0ad46fd7 255632009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25564
25565 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25566 name in an error message.
25567 (grub_biosdisk_rw): Likewise.
25568
2e59983c
VS
255692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25570
25571 Eliminate NTFS 4Gib barrier.
25572
25573 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25574 (read_run_data): Likewise.
25575 (grub_ntfs_read_run_list): Likewise.
25576 (grub_ntfs_read_block): Likewise.
25577 (grub_ntfs_iterate_dir): Likewise.
25578 (read_mft): Likewise.
25579 (read_data): Likewise.
25580 Use COM_LOG_LEN.
25581 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25582 to avoid 64-bit division
25583 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25584 (grub_ntfs_rlst): Use grub_disk_addr_t.
25585
71ee178a
VS
255862009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25587
25588 Eliminate grub-fstest 4Gib barrier.
25589
25590 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25591 (read_file): Fix error reporting.
25592
2520d4b8
VS
255932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 Eliminate hexdump 4Gib barrier.
25596
25597 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25598 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25599
e1f27065
VS
256002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25601
25602 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25603 Fixes amarsh bug.
25604
1a0f7f45
RM
256052009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25606
25607 Remove miscellaneous files in distclean target.
25608
25609 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25610
c631d9fb
CW
256112009-12-09 Colin Watson <cjwatson@ubuntu.com>
25612
25613 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25614 if they're already set. This resolves the conflict between my
25615 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25616 fixing the --grub-probe option again.
25617 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25618 change on 2009-10-06, so that we now once again source
25619 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25620
7c7b6106
RM
256212009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25622
25623 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25624 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25625 `util/devicemap.c'.
25626
e3069ec1
CPE
256272009-12-08 Carles Pina i Estany <carles@pina.cat>
25628
25629 * include/grub/misc.h (grub_printf_): New declaration.
25630 * kern/misc.c (grub_printf_): New definition.
25631 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25632 instead of `grub_printf' and `_'.
25633 * normal/menu_entry.c (store_completion): Likewise.
25634 (run): Likewise.
25635 (grub_menu_entry_run): Likewise.
25636 * normal/menu_text.c (grub_wait_after_message): Likewise.
25637 (notify_booting): Likewise.
25638 (notify_fallback): Likewise.
25639 (notify_execution_failure): Likewise.
25640
d6ceebf1
CW
256412009-12-07 Colin Watson <cjwatson@ubuntu.com>
25642
25643 * configure.ac: Check for vasprintf.
25644 * util/misc.c (asprintf): Move allocation from here ...
25645 (vasprintf): ... to here. New function.
25646 (xasprintf): New function.
25647 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25648 prototypes.
25649 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25650 * util/grub-mkfont.c (write_font): Likewise.
25651 * util/grub-probe.c (probe): Likewise.
25652 * util/hostdisk.c (make_device_name): Likewise.
25653
de6daa8b
DM
256542009-12-06 David S. Miller <davem@sunset.davemloft.net>
25655
25656 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25657 anything even prefixed with 'cdrom' as a cdrom.
25658
0ad46fd7 256592009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25660
25661 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25662 mount points.
25663
98d3dc02
CPE
256642009-12-05 Carles Pina i Estany <carles@pina.cat>
25665
25666 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25667 grub_gettext_msg_list.
25668 (grub_gettext_gettranslation_from_position): Return const char *
25669 and not char *.
a2c1332b 25670 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25671 returns from the list if existing there.
25672 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25673 (grub_gettext_delete_list): Delete the list.
25674 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25675 lang environment variable is changed.
25676 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25677
b283f108
VS
256782009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25679
25680 Rename kernel.mod to kernel.img.
25681
25682 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25683 (kernel_mod_EXPORTS): Rename to ...
25684 (kernel_img_EXPORTS): ... this.
25685 (kernel_mod_SOURCES): Rename to ...
25686 (kernel_img_SOURCES): ... this.
25687 (kernel_mod_HEADERS): Rename to ...
25688 (kernel_img_HEADERS): ... this. All users updated.
25689 (kernel_mod_CFLAGS): Rename to ...
25690 (kernel_img_CFLAGS): ... this.
25691 (kernel_mod_ASFLAGS): Rename to ...
25692 (kernel_img_ASFLAGS): ... this.
25693 (kernel_mod_LDFLAGS): Rename to ...
25694 (kernel_img_LDFLAGS): ... this.
25695 * conf/x86_64-efi.rmk: Likewise.
25696 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25697 (read_kernel_image): ... this. All users updated.
25698 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25699
69055f8a
CPE
257002009-12-05 Carles Pina i Estany <carles@pina.cat>
25701
25702 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25703 (print_spaces): New function.
25704 (grub_print_ucs4): New function.
25705 (getstringwidth): New function.
25706 (print_message_indented): New function.
25707 (print_message): Gettexttize strings using print_message_indented.
25708 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25709 width.
25710 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25711 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25712 Gettextize.
25713 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25714 string.
25715 (run): Likewise.
25716 (grub_menu_entry_run): Likewise.
25717 * PO/POTFILES: Add normal/menu_entry.c.
25718
f616f51c
VS
257192009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25722
57bbe3be
CPE
257232009-12-05 Carles Pina i Estany <carles@pina.cat>
25724
25725 * util/grub-install.in: Install gettext .mo files.
25726 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25727
013d67a1
CPE
257282009-12-05 Carles Pina i Estany <carles@pina.cat>
25729
25730 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25731 grub_dprintf.
25732
fb954db0
RM
257332009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25734
25735 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25736 non-firmware-dependant one in realmode.S takes precedence.
25737
6b8474f8
RM
257382009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25739
25740 * commands/halt.c: Replace misc arch-specific headers with
25741 `<grub/misc.h>'.
25742 * commands/reboot.c: Likewise.
25743 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25744 `<grub/misc.h>'.
25745 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25746 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25747 (kernel_img_SOURCES): ... to here.
25748
25749 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25750 * include/grub/i386/pc/init.h: Likewise.
25751 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25752 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25753
25754 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25755
25756 * include/grub/i386/halt.h: Remove.
25757 * include/grub/i386/reboot.h: Likewise.
25758
25759 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25760
4b2e6ca2
DM
257612009-12-03 David S. Miller <davem@sunset.davemloft.net>
25762
25763 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25764 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25765 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25766 "progname.h"
25767 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25769 (usage): Add missing comma in printf.
25770
5239348f
RM
257712009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25772
25773 Use the same reboot approach on i386 coreboot and qemu as we do on
25774 BIOS.
25775
25776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25777 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25778 * kern/i386/reboot.c: Remove.
25779 * include/grub/i386/reboot.h (grub_reboot): Export function.
25780 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25781 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25782 0xf000:0xfff0 instead of 0xffff:0x0000.
25783 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25784 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25785
ef34cbd4
RM
257862009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25787
25788 Fix $srcdir != $objdir build.
25789
25790 * Makefile.in (po/%.po): Rewrite as ...
25791 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25792
dc9837ea
ST
257932009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25794
25795 Fix GNU/Hurd grub-install crash.
25796 * util/grub-probe.c (probe): Try to access `path' only when it is not
25797 NULL.
25798
2f857f98
VS
257992009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25800
25801 Correct module naming.
25802
25803 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25804 (GRUB_MOD_INIT(efi_uga)): ... to this
25805 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25806 (GRUB_MOD_FINI(efi_uga)): ... to this
25807 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25808 (GRUB_MOD_INIT(efi_gop)): ... to this
25809 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25810 (GRUB_MOD_FINI(efi_gop)): ... to this
25811
c5448046
RM
258122009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25813
25814 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25815 translatable.
25816 (usage): Translate `arg' strings using gettext().
25817 Thanks to Jordi Mallach for the suggestion.
25818
c85184ad
VS
258192009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 GOP support. Based on patch from Bean
25822 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25823
25824 * video/efi_gop.c: New file.
25825 * include/grub/efi/graphics_output.h: Likewise.
25826 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25827 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25828 variables.
25829 * conf/x86_64-efi.rmk: Likewise.
25830
8a4c48d8
VS
258312009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25832
25833 Rename efi_fb to efi_uga.
25834
25835 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25836 'efi_uga.mod'.
25837 (efi_fb_mod_SOURCES): Rename this ...
25838 (efi_uga_mod_SOURCES): ... to this.
25839 (efi_fb_mod_CFLAGS): Rename this ...
25840 (efi_uga_mod_CFLAGS): ... to this.
25841 (efi_fb_mod_LDFLAGS): Rename this ...
25842 (efi_uga_mod_LDFLAGS): ... to this.
25843 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25844 'efi_uga.mod'.
25845 (efi_fb_mod_SOURCES): Rename this ...
25846 (efi_uga_mod_SOURCES): ... to this.
25847 (efi_fb_mod_CFLAGS): Rename this ...
25848 (efi_uga_mod_CFLAGS): ... to this.
25849 (efi_fb_mod_LDFLAGS): Rename this ...
25850 (efi_uga_mod_LDFLAGS): ... to this.
25851 * video/efi_fb.c: Move this ...
25852 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25853
fb6c1a7b
RM
258542009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25855
25856 * po/README: New file. Explain our PO file workflow.
25857
3bc7896c
RM
258582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25859
25860 * po/ChangeLog: Remove. Move relevant entries back to ...
25861 * ChangeLog: ... here.
25862 * po/ca.po: Remove (now handled by TLP).
25863 * po/id.po: Likewise.
25864 * po/zh_CN.po: Likewise.
25865 * Makefile.in (LINGUAS): Initialize in a way that supports
25866 empty set.
25867
9ed4841d
RM
258682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25871 reliing on po/LINGUAS.
25872 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25873 (po/%.po): ... this.
25874
0ad46fd7 258752009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25876
25877 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25878 (main): Use `program_name' instead of nonexistent `progname'.
25879
e30dd392
FZ
258802009-11-26 Felix Zielcke <fzielcke@z-51.de>
25881
25882 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25883 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25884
7656de4f
RM
258852009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25886
25887 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25888 commit.
25889 * conf/i386-efi.rmk: Likewise.
25890 * conf/i386-ieee1275.rmk: Likewise.
25891 * conf/powerpc-ieee1275.rmk: Likewise.
25892 * conf/sparc64-ieee1275.rmk: Likewise.
25893 * conf/x86_64-efi.rmk: Likewise.
25894
db77c4d4
FZ
258952009-11-26 Felix Zielcke <fzielcke@z-51.de>
25896
25897 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25898
a755bb04
FZ
258992009-11-26 Felix Zielcke <fzielcke@z-51.de>
25900
25901 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25902
8a4c07fd
RM
259032009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25906 (grub_mkdevicemap_SOURCES): New variable.
25907 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25908 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25909 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25910 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25911 (grub_mkdevicemap_SOURCES): Remove.
25912 * conf/i386-efi.rmk: Likewise.
25913 * conf/i386-ieee1275.rmk: Likewise.
25914 * conf/i386-pc.rmk: Likewise.
25915 * conf/powerpc-ieee1275.rmk: Likewise.
25916 * conf/sparc64-ieee1275.rmk: Likewise.
25917 * conf/x86_64-efi.rmk: Likewise.
25918 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25919 (usage): Fix strings to use `program_name'.
25920 (main): Initialize gettext.
25921 * util/grub-editenv.c: Likewise.
25922 * util/grub-emu.c: Likewise.
25923 * util/grub-fstest.c: Likewise.
25924 * util/grub-mkdevicemap.c: Likewise.
25925 * util/grub-mkfont.c: Likewise.
25926 * util/grub-mkrelpath.c: Likewise.
25927 * util/grub-pe2elf.c: Likewise.
25928 * util/grub-probe.c: Likewise.
25929 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25930 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25931 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25932
25933 * util/misc.c: Include `"progname.h"'.
25934 (progname): Remove variable.
25935 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25936
6f61ed55
FZ
259372009-11-25 Felix Zielcke <fzielcke@z-51.de>
25938
25939 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25940 printf and print a newline after the menuentry header line.
25941 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25942
f022876b
FZ
259432009-11-25 Felix Zielcke <fzielcke@z-51.de>
25944
25945 autoconf >= 2.60 support $(localedir).
25946
25947 * INSTALL: Note that autoconf 2.60 is required.
25948 * configure.ac (AC_PREREQ): Bump to 2.60.
25949 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25950 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25951
6717926e
YB
259522009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25953
25954 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25955 aclocal is run.
25956
08806a54
RM
259572009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 * normal/main.c (grub_normal_read_line): Fix off-by-one
25960 buffer overflow.
25961
13b33fba
RM
259622009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25963
25964 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25965 "parser.grub" in grub_command_execute() call.
25966
4a8572e9
CPE
259672009-11-24 Carles Pina i Estany <carles@pina.cat>
25968
25969 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25970 * conf/i386-efi.rmk: Likewise.
25971 * conf/i386-ieee1275.rmk: Likewise.
25972 * conf/i386-pc.rmk: Likewise.
25973 * conf/powerpc-ieee1275.rmk: Likewise.
25974 * conf/sparc64-ieee1275.rmk: Likewise.
25975 * conf/x86_64-efi.rmk: Likewise.
25976 * gettext/gettex.c: Include <grub/i18n.h>.
25977 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25978 here ...
25979 * include/grub/i18n.h: ... to here
25980 * include/grub/i18n.h: ... to here.
25981 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25982 (grub_gettext_dummy): Move above user.
4a8572e9 25983
bee48093
FZ
259842009-11-24 Felix Zielcke <fzielcke@z-51.de>
25985
25986 * util/Makefile.in (install-local): Convert a `for' into a normal
25987 shell expansion.
25988
a031e91c
RM
259892009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25990
25991 * autogen.sh: Add automake call.
25992 * config.guess: Remove.
25993 * config.sub: Likewise.
25994 * install-sh: Likewise.
25995
26bec39d
FZ
259962009-11-24 Felix Zielcke <fzielcke@z-51.de>
25997
25998 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25999
8e2532fd
FZ
260002009-11-24 Felix Zielcke <fzielcke@z-51.de>
26001
26002 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26003 function to a normal shell `for'.
26004
fefa1b7d
FZ
260052009-11-24 Felix Zielcke <fzielcke@z-51.de>
26006
26007 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26008
4501250b
FZ
260092009-11-24 Felix Zielcke <fzielcke@z-51.de>
26010
26011 * util/grub-mkrelpath.c: New file.
26012 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26013 (grub_mkrelpath_SOURCES): New variable.
26014 * include/grub/util/misc.h: New function prototype.
26015 * util/misc.c (make_system_path_relative_to_its_root): New function.
26016
26017 * util/grub-mkconfig_lib.in (bindir): New variable.
26018 (grub_mkrelpath): Likewise.
26019 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26020
26021 * util/probe.c (probe): Make the file path relative to its root.
26022 Change a info message to use the GRUB path. Enable again the
26023 check if we can read the file with GRUB facilities.
26024
26025 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26026 to its root.
26027
11d9778b
FZ
260282009-11-24 Felix Zielcke <fzielcke@z-51.de>
26029
26030 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26031 platform.
26032
4465287d
FZ
260332009-11-24 Felix Zielcke <fzielcke@z-51.de>
26034
26035 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26036 strncmp().
26037
62b47f22
FZ
260382009-11-24 Felix Zielcke <fzielcke@z-51.de>
26039
26040 * util/getroot.c (grub_util_is_dmraid): New function.
26041 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26042 devices as normal ones, not as LVM.
26043
1eafb9b9 260442009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
26045
26046 * conf/common.rmk: Add grub-gettext_lib target and updates
26047 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26048 LDFLAGS.
26049 * gettext/gettext.c: New file. (Reads mo files).
26050 * include/grub/file.h (grub_file_pread): New prototype.
26051 * include/grub/i18n.h (_): New prototype.
26052 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26053 prototypes.
26054 * kern/misc.c (grub_gettext_dummy): New function.
26055 * normal/menu_text.c: Include <grub/i18n.h>.
26056 * normal/menu_text.c (print_timeout): Gettexttize string.
26057 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
26058 * po/POTFILES: Add `normal/menu_text.c'.
26059 * po/ca.po: Add new translations.
c3ea6bd4
CPE
26060 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26061 gettext module and defines locale_dir and lang in grub.cfg.
26062 * NEWS: Add gettext support.
26063
0fdb2568
RM
260642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26065
26066 * util/hostdisk.c: Include `<grub/i18n.h>'.
26067 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26068 (make_device_name): Rewrite using asprintf.
26069 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26070 (find_system_device): If a device is not found, generate one just
26071 by reusing the OS path name.
26072 (read_device_map): Make it permissible for device.map not to exist.
26073
f515aa62
RM
260742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26075
26076 * script/sh/execute.c: Move from here ...
26077 * script/execute.c: ... to here. Update all users.
26078 * script/sh/function.c: Move from here ...
26079 * script/function.c: ... to here. Update all users.
26080 * script/sh/lexer.c: Move from here ...
26081 * script/lexer.c: ... to here. Update all users.
26082 * script/sh/main.c: Move from here ...
26083 * script/main.c: ... to here. Update all users.
26084 * script/sh/parser.y: Move from here ...
26085 * script/parser.y: ... to here. Update all users.
26086 * script/sh/script.c: Move from here ...
26087 * script/script.c: ... to here. Update all users.
26088
f84b481b
RM
260892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26090
26091 * configure.ac: Detect all `emu' platforms. Define
26092 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26093 --enable-grub-emu logic. Disable include/grub/machine
26094 symlink on `emu' platforms.
26095
26096 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26097 * gensymlist.sh.in: Likewise.
26098
26099 * include/grub/i386/coreboot/machine.h: Remove file.
26100 * include/grub/i386/efi/machine.h: Likewise.
26101 * include/grub/i386/ieee1275/machine.h: Likewise.
26102 * include/grub/i386/pc/machine.h: Likewise.
26103 * include/grub/i386/qemu/machine.h: Likewise.
26104 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26105 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26106 * include/grub/x86_64/efi/machine.h: Likewise.
26107
26108 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26109 * commands/halt.c: Likewise.
26110 * commands/reboot.c: Likewise.
26111 * include/grub/autoefi.h: Likewise.
26112 * include/grub/i386/at_keyboard.h: Likewise.
26113 * include/grub/i386/kernel.h: Likewise.
26114 * include/grub/i386/loader.h: Likewise.
26115 * include/grub/i386/pc/memory.h: Likewise.
26116 * kern/dl.c: Likewise.
26117 * kern/i386/coreboot/init.c: Likewise.
26118 * loader/i386/bsd.c: Likewise.
26119 * loader/i386/linux.c: Likewise.
26120 * loader/multiboot_loader.c: Likewise.
26121 * term/i386/pc/serial.c: Likewise.
26122 * term/usb_keyboard.c: Likewise.
26123
26124 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26125 `<grub/machine/machine.h>'
26126 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26127 * util/misc.c: Remove `<grub/machine/machine.h>' and
26128 `<grub/machine/time.h>'.
26129
26130 * Makefile.in (enable_grub_emu): Remove variable.
26131 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26132
26133 * conf/any-emu.rmk: New file.
26134 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26135 (grub_emu_init.c): Move from here ...
26136 * conf/any-emu.rmk: ... to here.
26137
26138 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26139 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26140 * conf/any-emu.rmk: ... to here.
26141
4efeab03
RM
261422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 * include/grub/parser.h (grub_parser_register): Document need
26145 of `name' parameter.
26146 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26147 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26148 "sh" to "grub".
26149
ea1dd8bf
RM
261502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26151
26152 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26153 `$(XGETTEXT)'.
26154 * include/grub/i18n.h (N_): New macro.
26155 * util/mkisofs/mkisofs.h: Likewise.
26156 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26157 around N_().
26158 (usage): Use gettext() to translate help strings when printing them.
26159
0c140626
RM
261602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26161
26162 Based on patch from Bean
26163 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26164
26165 * video/efi_fb.c: New file.
26166 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26167 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26168 variables.
26169 * conf/x86_64-efi.rmk: Likewise.
26170
87d58298
RM
261712009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26172
26173 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26174 * util/i386/pc/grub-setup.c: Likewise.
26175
994cc3a3
ST
261762009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26177
26178 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26179 <hurd/fs.h>
26180 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26181 file_get_storage_info to implement grub_guess_root_device.
26182
26a61d6a
FZ
261832009-11-21 Felix Zielcke <fzielcke@z-51.de>
26184
26185 * Makefile.in (target): Use make's builtin $(shell) function
26186 instead of calling directly $(SHELL) to create the locale directories,
26187 inside the $(foreach) function.
26188
74ff1dd5
FZ
261892009-11-21 Felix Zielcke <fzielcke@z-51.de>
26190
26191 * util/grub-mkrescue.in: Print an error and usage if output option
26192 has not been given.
26193
0b787d0e
FZ
261942009-11-21 Felix Zielcke <fzielcke@z-51.de>
26195
26196 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26197 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26198 root and /boot are on different devices.
26199
1164b270
RM
262002009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26201
26202 Fix build for srcdir != objdir.
26203
26204 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26205 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26206 $(srcdir).
26207 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26208 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26209 reference for input.
26210
13774a2f
RM
262112009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26212
26213 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26214 or hardlinking it). Remove -J option, Joliet is not compatible with
26215 multiple source directories.
26216
efda854e
RM
262172009-11-21 Carles Pina i Estany <carles@pina.cat>
262182009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26219
26220 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26221 (process_input_dir): New function. Process an arbitrary input
26222 directory.
26223 Misc adjustments to support both "override mode" and system-wide mode.
26224
6c09890c
FZ
262252009-11-20 Felix Zielcke <fzielcke@z-51.de>
26226
26227 * configure.ac (UNIFONT_BDF): Rename to ...
26228 (FONT_SOURCE): ... this. Update all users.
26229
a797824f
FZ
262302009-11-20 Felix Zielcke <fzielcke@z-51.de>
26231
26232 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26233 to the list of unifont files to look for.
26234
cd4f42b0
RM
262352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 Patch from Joe Auricchio <jauricchio@gmail.com>
26238 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26239 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26240 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26241
393c783d
FZ
262422009-11-19 Felix Zielcke <fzielcke@z-51.de>
26243
26244 * Makefile.in (install-local): Add a missing backslash.
26245
b2f1e327
FZ
262462009-11-19 Felix Zielcke <fzielcke@z-51.de>
26247
26248 * include/grub/x86_64/io.h: New file.
26249
f577f7a0
RM
262502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26253 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26254 Include `"progname.h"'.
26255 (main): Initialize gettext.
26256 * util/i386/pc/grub-setup.c: Gettexttize.
26257 * util/i386/pc/grub-mkimage.c: Likewise.
26258
26259 * Makefile.in (po/*.po): Redefine as ...
26260 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26261
3bc7896c
RM
26262 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26263
c37943b6
RM
262642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26265
26266 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26267 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26268 (program_name): Remove.
26269 (main): Initialize gettext support.
6323f705
RM
26270 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26271 Include `<libintl.h>'.
26272 (_): New macro.
c37943b6
RM
26273
26274 * util/mkisofs/eltorito.c: Gettexttize.
26275 * util/mkisofs/joliet.c: Likewise.
26276 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26277 * util/mkisofs/multi.c: Likewise.
26278 * util/mkisofs/rock.c: Likewise.
26279 * util/mkisofs/tree.c: Likewise.
26280 * util/mkisofs/write.c: Likewise.
26281
3bc7896c
RM
26282 * po/POTFILES: Update with new files.
26283
5ce77c6e
RM
262842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26285
26286 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26287 * util/mkisofs/iso9660.h: Likewise.
26288 * util/mkisofs/joliet.c: Likewise.
26289 * util/mkisofs/mkisofs.c: Likewise.
26290 * util/mkisofs/mkisofs.h: Likewise.
26291 * util/mkisofs/rock.c: Likewise.
26292 * util/mkisofs/tree.c: Likewise.
26293 * util/mkisofs/write.c: Likewise.
26294
26295 * util/mkisofs/eltorito.c (rcsid): Remove.
26296 * util/mkisofs/hash.c: Likewise.
26297 * util/mkisofs/joliet.c: Likewise.
26298 * util/mkisofs/name.c: Likewise.
26299 * util/mkisofs/rock.c: Likewise.
26300 * util/mkisofs/tree.c: Likewise.
26301 * util/mkisofs/write.c: Likewise.
26302
1dabbc77
RM
263032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26304
26305 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26306 instead of static allocation.
26307 * util/mkisofs/match.h: Likewise.
26308
633877cb
RM
263092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26310
3bc7896c
RM
26311 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26312 and `util/grub.d/10_linux.in'.
633877cb
RM
26313 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26314 translatable Shell files.
26315
af1c0c85
RM
263162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26317
26318 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26319
769ae37b
RM
263202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26321
26322 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26323 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26324 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26325 Add gettext initialization.
26326 (kfreebsd_entry): Make menuentry output translatable.
26327
263282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26331 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26332 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26333 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26334 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26335 * po/LINGUAS: New file.
769ae37b
RM
26336
263372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26338
26339 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26340 other things).
26341 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26342 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26343 bindtextdomain() calls for gettext initialization.
26344
263452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26346
26347 * gnulib/progname.c: New file (imported from Gnulib).
26348 * gnulib/progname.h: Likewise.
26349 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26350 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26351 (usage): Replace `progname' with `program_name'.
26352 (main): Use set_program_name() for program name initialization.
26353
263542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26357 from here ...
26358 * Makefile.in (CPPFLAGS): ... to here.
26359
263602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26361
26362 * aclocal.m4: Move from here ...
26363 * acinclude.m4: ... to here.
26364 * autogen.sh: Add call to `aclocal'.
26365 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26366
263672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26368
26369 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26370 (LINGUAS): New variable.
26371 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26372 (install-local): Install MO files.
26373 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26374 * include/grub/i18n.h: New file.
3bc7896c
RM
26375 * po/POTFILES: New file.
26376 * po/ca.po: New file.
769ae37b
RM
26377 * util/grub.d/10_linux.in (bindir): New variable.
26378 Add gettext initialization.
26379 (linux_entry): Make menuentry output translatable.
26380 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26381 (usage): Make --help output translatable.
26382 (main): Initialize gettext.
26383
02c0a6ad
RM
263842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26385
26386 * import_gcry.py: New file (written by Vladimir with minor
26387 adjustments).
26388 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26389 ciphers.
26390 * INSTALL: Document that Python is required for bootstrap.
26391
263922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26393
26394 Import ciphers from libgcrypt 1.4.4.
26395
26396 * lib/libgcrypt/cipher/ChangeLog
26397 * lib/libgcrypt/cipher/ac.c
26398 * lib/libgcrypt/cipher/arcfour.c
26399 * lib/libgcrypt/cipher/bithelp.h
26400 * lib/libgcrypt/cipher/blowfish.c
26401 * lib/libgcrypt/cipher/camellia-glue.c
26402 * lib/libgcrypt/cipher/camellia.c
26403 * lib/libgcrypt/cipher/camellia.h
26404 * lib/libgcrypt/cipher/cast5.c
26405 * lib/libgcrypt/cipher/cipher.c
26406 * lib/libgcrypt/cipher/crc.c
26407 * lib/libgcrypt/cipher/des.c
26408 * lib/libgcrypt/cipher/dsa.c
26409 * lib/libgcrypt/cipher/ecc.c
26410 * lib/libgcrypt/cipher/elgamal.c
26411 * lib/libgcrypt/cipher/hash-common.c
26412 * lib/libgcrypt/cipher/hash-common.h
26413 * lib/libgcrypt/cipher/hmac-tests.c
26414 * lib/libgcrypt/cipher/md.c
26415 * lib/libgcrypt/cipher/md4.c
26416 * lib/libgcrypt/cipher/md5.c
26417 * lib/libgcrypt/cipher/primegen.c
26418 * lib/libgcrypt/cipher/pubkey.c
26419 * lib/libgcrypt/cipher/rfc2268.c
26420 * lib/libgcrypt/cipher/rijndael-tables.h
26421 * lib/libgcrypt/cipher/rijndael.c
26422 * lib/libgcrypt/cipher/rmd.h
26423 * lib/libgcrypt/cipher/rmd160.c
26424 * lib/libgcrypt/cipher/rsa.c
26425 * lib/libgcrypt/cipher/seed.c
26426 * lib/libgcrypt/cipher/serpent.c
26427 * lib/libgcrypt/cipher/sha1.c
26428 * lib/libgcrypt/cipher/sha256.c
26429 * lib/libgcrypt/cipher/sha512.c
26430 * lib/libgcrypt/cipher/tiger.c
26431 * lib/libgcrypt/cipher/twofish.c
26432 * lib/libgcrypt/cipher/whirlpool.c
26433
af2f93ac
RM
264342009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26435
26436 Fix build for systems without error().
26437
26438 * gnulib/error.c: New file (imported from Gnulib).
26439 * gnulib/error.h: Likewise.
26440 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26441 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26442 (this variable is now used by error()).
26443
73fb3dd5
FZ
264442009-11-16 Felix Zielcke <fzielcke@z-51.de>
26445
814f5e96
FZ
26446 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26447 instead of relying that char is signed.
73fb3dd5 26448
a691ca33
VS
264492009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26450
26451 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26452 blocksize different from specified.
26453 (grub_pxefs_read): Likewise.
26454
2af8f0f4
FZ
264552009-11-16 Felix Zielcke <fzielcke@z-51.de>
26456
26457 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26458
26459 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26460 (grub_ata_readwrite): Likewise. Update 2 format strings.
26461 (grub_atapi_read): Likewise.
26462
26463 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26464 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26465 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26466 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26467 (ata_mod_LDFLAGS): Move from here ...
26468 * conf/i386.rmk: ... to here ...
26469 * conf/x86_64-efi.rmk: ... and here.
26470 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26471 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26472
83bdecaf
RM
264732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26474
26475 Relicense multiboot.h, with RMS' blessing.
26476
26477 * include/multiboot.h: Change to X11 license.
26478
fd6fd3d7
RM
264792009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 Support --version in grub-mkisofs.
26482
26483 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26484 (OPTION_VERSION): New macro.
26485 (ld_options): Recognize --version.
26486 (usage): Move `program_name' from here ...
26487 (program_name): ... to here. Add `static' qualifier.
26488 (main): Recognize `OPTION_VERSION'.
26489
16a88c49
FZ
264902009-11-15 Felix Zielcke <fzielcke@z-51.de>
26491
26492 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26493 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26494
a4158476
RM
264952009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26496
26497 Fix help2man generation for mkisofs.
26498
26499 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26500 (usage): Send output to stdout (rather than stderr).
26501
fc2208b0
RM
265022009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26503
26504 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26505 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26506 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26507 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26508 (bin_SCRIPTS): Add `grub-mkfloppy'.
26509 (grub_mkfloppy_SOURCES): New variable.
26510
26511 * util/grub-mkrescue.in: New file.
26512 * util/i386/pc/grub-mkfloppy.in: New file.
26513
26514 * util/i386/coreboot/grub-mkrescue.in: Remove.
26515 * util/i386/pc/grub-mkrescue.in: Remove.
26516
8d0edf4a
RM
265172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26518
26519 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26520 from here ...
26521 * include/multiboot.h (struct multiboot_header): ... to here. Update
26522 all users.
26523 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26524 from here ...
26525 * include/multiboot.h (struct multiboot_info): ... to here. Update
26526 all users.
26527 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26528 from here ...
26529 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26530 Update all users.
26531 * include/grub/multiboot.h (struct grub_mod_list): Move
26532 from here ...
26533 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26534 Update all users.
26535
a73f5969
RM
265362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26537
26538 * include/multiboot2.h (multiboot_word): Rename from this ...
26539 (multiboot2_word): ... to this. Update all users.
26540 (multiboot_header): Rename from this ...
26541 (multiboot2_header): ... to this. Update all users.
26542 (multiboot_tag_header): Rename from this ...
26543 (multiboot2_tag_header): ... to this. Update all users.
26544 (multiboot_tag_start): Rename from this ...
26545 (multiboot2_tag_start): ... to this. Update all users.
26546 (multiboot_tag_name): Rename from this ...
26547 (multiboot2_tag_name): ... to this. Update all users.
26548 (multiboot_tag_module): Rename from this ...
26549 (multiboot2_tag_module): ... to this. Update all users.
26550 (multiboot_tag_memory): Rename from this ...
26551 (multiboot2_tag_memory): ... to this. Update all users.
26552 (multiboot_tag_unused): Rename from this ...
26553 (multiboot2_tag_unused): ... to this. Update all users.
26554 (multiboot_tag_end): Rename from this ...
26555 (multiboot2_tag_end): ... to this. Update all users.
26556
1c8927f0
RM
265572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26558
26559 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26560 this platform we should support Multiboot1 first.
26561
26562 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26563 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26564 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26565
6e1e0d89
RM
265662009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26569 of write calls (converting them to fwrite() if they aren't already).
26570 (get_torito_desc): Likewise.
26571 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26572
7f2b34d8
RM
265732009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * util/i386/pc/grub-install.in: Move from here ...
26576 * util/grub-install.in: ... to here. Update all users.
26577
c0ef3311
CW
265782009-11-11 Colin Watson <cjwatson@ubuntu.com>
26579
26580 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26581
e1f240ff
RM
265822009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26583
26584 Support for El Torito without floppy emulation.
26585
26586 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26587 (init_boot_catalog): Improve error handling.
26588 (get_torito_desc): Don't use floppy emulation unless requested by
26589 user. Patch boot information table when requested via
26590 `-boot-info-table'.
26591 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26592 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26593 (use_boot_info_table): New variables.
26594 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26595 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26596 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26597 `--eltorito-emul-floppy'.
26598 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26599 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26600 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26601 (use_boot_info_table, get_731): New prototypes.
26602 * util/mkisofs/write.c (get_731): New function.
26603
af7d4de5
FZ
266042009-11-11 Felix Zielcke <fzielcke@z-51.de>
26605
26606 Fix the generation of the man page.
26607
26608 * util/pc/i386/grub-install.in: Source
26609 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26610
2c55dbc0
RM
266112009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26612
26613 Large file support for grub-mkisofs.
26614
26615 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26616 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26617 (session_start): Upgrade type to `uint64_t'. Update all users.
26618 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26619 (struct directory_entry): Upgrade type of `starting_block' and
26620 `size' to `uint64_t'. Update all users.
26621 (struct deferred): Remove unused structure.
26622 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26623 Update all users.
26624 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26625 file is larger than `UINT32_MAX'.
26626 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26627 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26628 return value.
26629 (struct deferred_write): Upgrade type of `extent' and `size' to
26630 `uint64_t'. Update all users.
26631 (last_extent_written): Upgrade type to `uint64_t'. Update all
26632 users.
26633 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26634 Update all users. Upgrade type of `remain' to `int64_t' and
26635 `use' to `size_t'. Use error() to handle fread() errors.
26636 (write_files): Rely on write_one_file() rather than calling
26637 xfwrite() directly.
26638
6a9cead5
FZ
266392009-11-09 Felix Zielcke <fzielcke@z-51.de>
26640
26641 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26642
4825d790
RM
266432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26644
26645 * util/mkisofs/fnmatch.c: Remove.
26646 * util/mkisofs/getopt1.c: Likewise.
26647 * util/mkisofs/getopt.c: Likewise.
26648 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26649 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26650 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26651 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26652 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26653
26654 * configure.ac: Detect `mingw32msvc' host_os.
26655 Check for lstat(), getuid() and getgid().
26656
26657 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26658 instances of `u_char' with `uint8_t'.
26659
26660 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26661 [!HAVE_GETUID] (getuid): New function (stub).
26662 [!HAVE_GETGID] (getgid): Likewise.
26663 [!HAVE_LSTAT] (lstat): Likewise.
26664 [!S_IROTH] (S_IROTH): New macro (dummy).
26665 [!S_IRGRP] (S_IRGRP): Likewise.
26666
84b860d8
RM
266672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26668
26669 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26670 conditional expression).
26671
66e9b712
RM
266722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26673
26674 Import from Gnulib.
26675
26676 * gnulib/fnmatch.c: New file.
26677 * gnulib/fnmatch.h: Likewise.
26678 * gnulib/fnmatch_loop.c: Likewise.
26679 * gnulib/getopt.c: Likewise.
26680 * gnulib/getopt.h: Likewise.
26681 * gnulib/getopt1.c: Likewise.
26682 * gnulib/getopt_int.h: Likewise.
26683 * gnulib/gettext.h: Likewise.
26684
34f4a5b0
RM
266852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26686
26687 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26688 * normal/handler.c (read_handler_list): Likewise.
26689
ac451143
RM
266902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26691
26692 Misc cleanup.
26693
26694 * kern/command.c (grub_register_command_prio): Use
26695 grub_zalloc() instead of explicitly zeroing data.
26696 * kern/list.c: Include `<grub/mm.h>'.
26697 (grub_named_list_find): Replace `0' with `NULL'.
26698 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26699 (fs_module_list): Change type to `grub_named_list_t'. Update all
26700 users.
26701 * normal/dyncmd.c (read_command_list): Add space between function
26702 call and parenthesis.
26703 * normal/handler.c (read_handler_list): Likewise.
26704
4089b167
RM
267052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26706
26707 * normal/auth.c (punishment_delay): Moved from here ...
26708 (grub_auth_strcmp): ... to here (inside function).
26709
325f5037
RM
267102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26711
26712 * include/grub/list.h (struct grub_named_list): Remove `const'
26713 qualifier from `name'.
26714 (struct grub_prio_list): Likewise.
26715
7aea29a3
RM
267162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26717
26718 * normal/auth.c: Include `<grub/time.h>'.
26719 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26720
3fd6f044
RM
267212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26722
26723 * normal/auth.c (punishment_delay): New variable.
26724 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26725 (grub_auth_check_authentication): Punish failed login attempts with
26726 an incremental (2^N) delay.
26727
a4cd68e4
RM
267282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26729
26730 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26731 path with $(srcdir).
26732
7ad12f43
VS
267332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26736
c1129f03
RM
267372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26738
26739 * util/i386/coreboot/grub-mkrescue.in: New file.
26740 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26741 variables.
26742
26743 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26744 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26745 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26746 requirements.
26747 * util/mkisofs/defaults.h: New file.
26748 * util/mkisofs/eltorito.c: Likewise.
26749 * util/mkisofs/exclude.h: Likewise.
26750 * util/mkisofs/fnmatch.c: Likewise.
26751 * util/mkisofs/getopt.c: Likewise.
26752 * util/mkisofs/getopt1.c: Likewise.
26753 * util/mkisofs/hash.c: Likewise.
26754 * util/mkisofs/include/fctldefs.h: Likewise.
26755 * util/mkisofs/include/mconfig.h: Likewise.
26756 * util/mkisofs/include/prototyp.h: Likewise.
26757 * util/mkisofs/include/statdefs.h: Likewise.
26758 * util/mkisofs/iso9660.h: Likewise.
26759 * util/mkisofs/joliet.c: Likewise.
26760 * util/mkisofs/match.c: Likewise.
26761 * util/mkisofs/match.h: Likewise.
26762 * util/mkisofs/mkisofs.c: Likewise.
26763 * util/mkisofs/mkisofs.h: Likewise.
26764 * util/mkisofs/multi.c: Likewise.
26765 * util/mkisofs/name.c: Likewise.
26766 * util/mkisofs/rock.c: Likewise.
26767 * util/mkisofs/tree.c: Likewise.
26768 * util/mkisofs/write.c: Likewise.
26769
ec8bb77d
VS
267702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26773 being insecure.
26774
3716b12c
RM
267752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26776
26777 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26778 `grub-mkimage' (and use $0 when possible).
26779
b97b7b91
RM
267802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26783 error message for excessively large memory map.
26784
04114812
RM
267852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26786
26787 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26788 executable bit.
26789
e4eb2373
RM
267902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26791
26792 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26793 message for coreboot users.
26794
c926e1d5 267952009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26796
26797 Fix build with GNU gold.
26798
26799 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26800 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26801 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26802 link addresses.
26803 * aclocal.m4: Likewise.
26804
86e5b1db 268052009-11-04 Felix Zielcke <fzielcke@z-51.de>
26806
26807 * configure.ac (AC_PREREQ): Bump to 2.59d.
26808 * INSTALL: Make it more clear when Autoconf and Ruby are
26809 needed and when to run `./autogen.sh'.
26810
246cd78f 268112009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26812
26813 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26814 OSes.
26815
4f9dfb37 268162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26817
26818 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26819
b82bd5e1 268202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26821
26822 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26823 giving it to GNU Mach.
26824
ff1a9bca 268252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26826
26827 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26828 GNU partition number to get internal GRUB partition number.
26829
61697d9c 268302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26831
26832 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26833 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26834
a50569e1 268352009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26836
26837 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26838 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26839 case.
26840
5b153867 268412009-11-01 Felix Zielcke <fzielcke@z-51.de>
26842
26843 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26844
d9e2cd70 268452009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26846
26847 Fix build problem.
26848
26849 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26850 `-isystem=$(srcdir)/include'.
26851
805111a4 268522009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26853
26854 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26855 checked (grub-install doesn't currently rely on it).
26856
fa6e945f 268572009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26858
26859 Revert SVN r2660.
26860
26861 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26862 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26863 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26864 * conf/i386-ieee1275.rmk: Likewise.
26865 * conf/i386-pc.rmk: Likewise.
26866 * conf/powerpc-ieee1275.rmk: Likewise.
26867 * conf/sparc64-ieee1275.rmk: Likewise.
26868 * conf/x86_64-efi.rmk: Likewise.
26869
cee15086 268702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26871
26872 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26873
95b9239e 268742009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26875
26876 * include/grub/misc.h: Stop checking for APPLE_CC.
26877
2ed19dfd 268782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26881 doesn't cause an infinite call loop.
26882
fdcdde19 268832009-10-28 Felix Zielcke <fzielcke@z-51.de>
26884
26885 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26886 strings.
26887
cefabfe1 268882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26889
26890 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26891 variable.
26892 * Makefile.in: Likewise.
26893
ed96ab6d 268942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26895
26896 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26897
0579b753 268982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26901
478df409 269022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26903
26904 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26905
083d1679 269062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26907
26908 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26909 from here ...
26910 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26911
5947ae32 269122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26913
26914 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26915 in $(MAKEINFO) invocation. This makes it clear in output that
26916 errors are being ignored.
26917
94180ff6 269182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26919
26920 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26921 from here ...
26922 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26923 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26924 * conf/i386-ieee1275.rmk: Likewise.
26925 * conf/i386-pc.rmk: Likewise.
26926 * conf/powerpc-ieee1275.rmk: Likewise.
26927 * conf/sparc64-ieee1275.rmk: Likewise.
26928 * conf/x86_64-efi.rmk: Likewise.
26929
9031b03a 269302009-10-26 Colin Watson <cjwatson@ubuntu.com>
26931
26932 * util/grub-editenv.c (main): If only a command is given, use
26933 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26934 (usage): FILENAME is now optional and has a default.
26935
e4f6809b 269362009-10-26 Colin Watson <cjwatson@ubuntu.com>
26937
26938 Improve grub-mkconfig performance when there are several menu
26939 entries on a single filesystem.
26940
26941 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26942 prepare_grub_to_access_device.
26943 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26944 * util/grub.d/30_os-prober.in: Likewise.
26945
67937d4d 269462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26947
26948 * util/grub.d/10_freebsd.in: Remove.
26949 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26950 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26951
ee3756cc 269522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26953
5c35048e 26954 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26955
4dea1c6f 269562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26959 grub_util_error() call.
26960
042484d7 269612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26962
26963 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26964 `reserved_first_sector' member.
26965 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26966 `reserved_first_sector' to 1.
26967 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26968 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26969 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26970 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26971 filesystems which begin at first sector.
26972 (options): New option --skip-fs-probe.
26973 (main): Handle --skip-fs-probe and pass it to setup().
26974
d64448a7 269752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26976
26977 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26978 (memset): Fix function prototype.
26979
508d42ec 269802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
269812009-10-25 Vasily Averin <vvs@parallels.com>
26982
26983 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26984 `dirent.direntlen == 0'.
26985
b240e30c 269862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26987
26988 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26989 `cpio'.
26990 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26991
346e7fbe 269922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26993
26994 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26995 `__trampoline_setup' and `__ucmpdi2'.
26996 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26997 that libgcc provides.
26998
cdb308b0 269992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27000
27001 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27002 * include/grub/sparc64/libgcc.h (memset): Likewise.
27003 * include/grub/misc.h (memset, memcmp): New function prototypes.
27004
fb26abc2 270052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27006
27007 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27008 `cpio'.
27009 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27010
f6693890 270112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27014 * docs/grub.cfg: Compensate for recent change in multiboot
27015 loader (since 2009-08-14 it won't pass filename to payload).
27016 * util/grub.d/10_hurd.in: Likewise.
27017
0933cdc0 270182009-10-21 Felix Zielcke <fzielcke@z-51.de>
27019
27020 * config.guess: Update to latest version from config git
27021 repository.
27022 * config.sub: Likewise.
27023
3b2fe8c2 270242009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27025
27026 Fix build on sparc64.
27027
27028 * configure.ac: Perform checks for libgcc symbols before
27029 adding `-nostdlib' to LDFLAGS.
27030
46695a62 270312009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 Let user specify OpenBSD root device.
27034
27035 * loader/i386/bsd.c (openbsd_root): New variable.
27036 (openbsd_opts): New option 'root'.
27037 (OPENBSD_ROOT_ARG): New macro.
27038 (grub_openbsd_boot): Use 'openbsd_root'.
27039 (grub_cmd_openbsd): Fill 'openbsd_root'.
27040
d2b6b7fc 270412009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27042
27043 * NEWS: Misc adjustments.
27044
421bd7ac 270452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27046
27047 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27048
f1d29d87 270492009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27050
27051 * configure.ac: Bump version to 1.97.
27052
6f3cd880 270532009-10-16 Colin Watson <cjwatson@ubuntu.com>
27054
27055 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27056 -mno-3dnow on x86 architectures. Some toolchains enable these
27057 features by default, but they rely on registers that aren't enabled
27058 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27059
035f7122 270602009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27061
27062 Make entry text a bit more readable.
27063
27064 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27065
44998e58 270662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27067
27068 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27069
cd2851b3 270702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27071
27072 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27073 operations.
27074
c6f3b249 270752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27076
27077 * configure.ac: Add missing dollar.
27078
6b5886ba 270792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27080
27081 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27082
27083 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27084 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27085 exports.
27086 * include/grub/sparc64/libgcc.h: Likewise. Use
27087 preprocessor conditionals.
27088
e9d66f6d 270892009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27090
27091 * conf/common.rmk (grub-dumpbios): Remove rule.
27092 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27093 * util/grub-dumpbios.in: Remove file.
27094
9155bc17 270952009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27096
27097 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27098 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27099
27100 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27101 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27102 users.
27103
27104 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27105 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27106 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27107 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27108 users.
27109
bf7f7a18 271102009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27111
27112 * term/tparm.c: Switch to GPLv3.
27113
86564c26 271142009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27115
27116 * include/grub/i386/cpuid.h: Add header protection.
27117
5c936493 271182009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27119
27120 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27121
27122 * include/grub/i386/cpuid.h: New file.
27123 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27124 (has_longmode): Rename to ...
27125 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27126 `static' attribute.
27127 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27128 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27129 on a CPU that doesn't implement AMD64 instruction set.
27130
186e7cf2 271312009-10-06 Colin Watson <cjwatson@ubuntu.com>
27132
27133 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27134 that version.texi is rebuilt on version number changes.
27135
83b65c4a 271362009-10-06 Colin Watson <cjwatson@ubuntu.com>
27137
27138 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27139 Fixes bug #27602.
27140
d244281c 271412009-10-06 Colin Watson <cjwatson@ubuntu.com>
27142
27143 * util/i386/pc/grub-install.in: Source
27144 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27145 that the --grub-probe option will work.
27146 * util/sparc64/ieee1275/grub-install.in: Likewise.
27147
da25306d 271482009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27149
27150 * configure.ac: Bump version to 1.97~beta4.
27151
e8ee83c0 271522009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27153
27154 Resync grub-mkdevicemap in x86_64-efi.
27155
27156 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27157 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27158 `util/devicemap.c'.
27159
50dcabcf 271602009-10-01 Colin Watson <cjwatson@ubuntu.com>
27161
27162 * util/grub-editenv.c (create_envblk_file): Write new block with a
27163 .new suffix and then rename it into place, to ensure atomic
27164 creation.
27165
0e51c3a7 271662009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27167
27168 Do not automatically install headers.
27169
27170 * Makefile.in (include_DATA): Remove. Update all users.
27171
31299a95 271722009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27173
27174 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27175 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27176
27177 * util/osdetect.lua: Remove.
27178 * script/lua/lauxlib.c: Likewise.
27179 * script/lua/ldebug.c: Likewise.
27180 * script/lua/grub_main.c: Likewise.
27181 * script/lua/lauxlib.h: Likewise.
27182 * script/lua/ldebug.h: Likewise.
27183 * script/lua/ltablib.c: Likewise.
27184 * script/lua/liolib.c: Likewise.
27185 * script/lua/lstrlib.c: Likewise.
27186 * script/lua/lualib.h: Likewise.
27187 * script/lua/ldo.c: Likewise.
27188 * script/lua/ldump.c: Likewise.
27189 * script/lua/ldo.h: Likewise.
27190 * script/lua/loslib.c: Likewise.
27191 * script/lua/lundump.c: Likewise.
27192 * script/lua/grub_lib.c: Likewise.
27193 * script/lua/ldblib.c: Likewise.
27194 * script/lua/lundump.h: Likewise.
27195 * script/lua/lmem.c: Likewise.
27196 * script/lua/grub_lib.h: Likewise.
27197 * script/lua/lmathlib.c: Likewise.
27198 * script/lua/lstate.c: Likewise.
27199 * script/lua/ltm.c: Likewise.
27200 * script/lua/lvm.c: Likewise.
27201 * script/lua/lmem.h: Likewise.
27202 * script/lua/lstate.h: Likewise.
27203 * script/lua/ltm.h: Likewise.
27204 * script/lua/ltable.c: Likewise.
27205 * script/lua/lvm.h: Likewise.
27206 * script/lua/llex.c: Likewise.
27207 * script/lua/lgc.c: Likewise.
27208 * script/lua/grub_lua.h: Likewise.
27209 * script/lua/loadlib.c: Likewise.
27210 * script/lua/lfunc.c: Likewise.
27211 * script/lua/lopcodes.c: Likewise.
27212 * script/lua/lparser.c: Likewise.
27213 * script/lua/ltable.h: Likewise.
27214 * script/lua/llex.h: Likewise.
27215 * script/lua/lgc.h: Likewise.
27216 * script/lua/lfunc.h: Likewise.
27217 * script/lua/lbaselib.c: Likewise.
27218 * script/lua/lopcodes.h: Likewise.
27219 * script/lua/lparser.h: Likewise.
27220 * script/lua/lzio.c: Likewise.
27221 * script/lua/linit.c: Likewise.
27222 * script/lua/lobject.c: Likewise.
27223 * script/lua/llimits.h: Likewise.
27224 * script/lua/lstring.c: Likewise.
27225 * script/lua/lzio.h: Likewise.
27226 * script/lua/lapi.c: Likewise.
27227 * script/lua/lcode.c: Likewise.
27228 * script/lua/lua.h: Likewise.
27229 * script/lua/lobject.h: Likewise.
27230 * script/lua/lstring.h: Likewise.
27231 * script/lua/lapi.h: Likewise.
27232 * script/lua/lcode.h: Likewise.
27233 * script/lua/luaconf.h: Likewise.
27234
cb8a2c38 272352009-09-26 Colin Watson <cjwatson@ubuntu.com>
27236
27237 * docs/grub.texi (Command-line and menu entry commands): Document
27238 date and echo commands.
27239
6b9b6276 272402009-09-24 Pavel Roskin <proski@gnu.org>
27241
27242 * include/grub/kernel.h (struct grub_module_header): Remove
27243 `grub_module_header_types'. Make `type' unsigned. Make `size'
27244 32-bit on all platforms.
27245 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27246 8-bit field. Use grub_host_to_target32() for `size'.
27247 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27248 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27249 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27250
4e5a02a7 272512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27252
27253 Fix "lost keypress" bug in at_keyboard.
27254
27255 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27256 Checks for readyness of input buffer (without flushing it).
27257 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27258 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27259
c6dcedf6 272602009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27261
27262 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27263 size check within GRUB_MACHINE_PCBIOS section.
27264
74c958b1 272652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27266
27267 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27268 return value.
27269 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27270 KEYBOARD_ISREADY check.
27271 (grub_at_keyboard_checkkey): Rename to ...
27272 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27273 Remove gratuitous cast.
27274
ff420223 272752009-09-23 Colin Watson <cjwatson@ubuntu.com>
27276
27277 * configure.ac: Call AC_PROG_MKDIR_P.
27278 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27279 version.texi in $(builddir) rather than $(srcdir).
27280 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27281 to makeinfo's @include search path.
27282
d96875df 272832009-09-23 Felix Zielcke <fzielcke@z-51.de>
27284
27285 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27286
9b3f8365 272872009-09-23 Felix Zielcke <fzielcke@z-51.de>
27288
27289 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27290 for `*.dpkg-new'.
27291
c44c90db 272922009-09-21 Colin Watson <cjwatson@ubuntu.com>
27293
27294 Build info documentation. Some code borrowed from Automake.
27295
27296 * configure.ac: Check for makeinfo.
27297 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27298 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27299 docs/version.texi.
27300 (MOSTLYCLEANFILES): Add vti.tmp.
27301 (docs/version.texi, docs/stamp-vti): Update automatically.
27302 (docs/grub.info): Build info documentation. Use --force and ignore
27303 errors for now.
27304 (all-local): Add $(INFOS).
27305 (install-local): Install info files.
27306 (uninstall): Uninstall info files.
27307 * docs/version.texi: Remove from revision control. This file is
27308 automatically generated on build now.
27309 * gendistlist.sh: Add `*.info'.
27310
e0b37bb5 273112009-09-21 Felix Zielcke <fzielcke@z-51.de>
27312
27313 * kern/term.c: Fix indentation.
27314
5a78865b 273152009-09-21 Felix Zielcke <fzielcke@z-51.de>
27316
27317 * util/hostdisk.c: Fix a comment.
27318
dace7e8a 273192009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27320
27321 Fix regression introduced in r2539.
27322
27323 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27324 to 0xA1.
27325
a83d079b 273262009-09-19 Colin Watson <cjwatson@ubuntu.com>
27327
27328 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27329 os-prober. Under normal operation, it does not print anything to
27330 stderr; if it does, we need to debug it, and throwing away stderr
27331 makes that excessively difficult.
a83d079b 27332
be94a509 273332009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27334
27335 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27336
63f745e8 273372009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27338
27339 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27340 AC_LANG_PROGRAM from autoconf.
27341 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27342 prototypes (fixes warning).
27343
27344 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27345 `--disable-werror' was used.
27346
bbb2a70f 273472009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27348
27349 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27350 uninitialized `lastaddr'.
27351
77c24f1d 273522009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27353
0f0b8c87 27354 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27355
07197f23 273562009-09-14 Colin Watson <cjwatson@ubuntu.com>
27357
27358 * commands/test.c (get_fileinfo): Return immediately if
27359 grub_fs_probe fails.
27360
dabf1798 273612009-09-14 José Martínez <xosemp@gmail.com>
27362
27363 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27364
d52109a7 273652009-09-14 Colin Watson <cjwatson@ubuntu.com>
27366
27367 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27368 output.
27369
56532179 273702009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27371
27372 * configure.ac: Remove --enable-grub-pe2elf. Only build
27373 grub-pe2elf when needed by the build system itself.
27374 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27375
8ef070f5 273762009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27377
27378 * configure.ac: Bump version to 1.97~beta3.
27379 * docs/version.texi: Likewise.
27380
61229557 273812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27382
27383 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27384 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27385 from here ...
27386 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27387 (grub_linux_setup_video): ... to here (with some adjustments).
27388
5c9f8d84 273892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27390
27391 Fix memory corruption issue (spotted by Colin Watson).
27392
27393 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27394 causing returned size to be stored in an incorrect memory location.
27395 Fix use of uninitialized value when storing the returned size.
27396
e8f5d6e9 273972009-09-12 Yves Blusseau <blusseau@zetam.org>
27398
27399 Change clean rules to properly remove files
27400
27401 * genmk.rb: add new clean rules
27402 * Makefile.in (clean): add the new targets
27403 (mostlyclean): likewise
27404
cda2a409 274052009-09-11 Colin Watson <cjwatson@ubuntu.com>
27406
27407 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27408 to grub_uint64_t.
27409 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27410 non-resident files.
27411
86695375 274122009-09-11 Colin Watson <cjwatson@ubuntu.com>
27413
27414 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27415 part of bug #27349.
27416
8aa1541a 274172009-09-10 Felix Zielcke <fzielcke@z-51.de>
27418
27419 * util/grub-mkconfig.in: Make the created config mode 400 and
27420 print a warning if it fails.
27421
48d9bb0a 274222009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27423
27424 * util/grub.d/40_custom.in: Ask user to type custom entries below
27425 comment, rather than below 'exec tail' line.
27426
3b0521be 274272009-09-10 Colin Watson <cjwatson@ubuntu.com>
27428
27429 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27430 visible in grub.cfg.
27431
50051d55 274322009-09-10 Colin Watson <cjwatson@ubuntu.com>
27433
27434 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27435 file.
27436
c0d34387 274372009-09-10 Felix Zielcke <fzielcke@z-51.de>
27438
27439 * docs/grub.cfg: Add an example menu entry for memtest86+.
27440
80a608f3 274412009-09-09 Felix Zielcke <fzielcke@z-51.de>
27442
a2094832 27443 * config.guess: Update to latest version from config git.
80a608f3 27444 * config.sub: Likewise.
27445
99423078 274462009-09-08 Colin Watson <cjwatson@ubuntu.com>
27447
27448 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27449 unknown-command case. Fixes bug #27320.
27450
44454e4c 274512009-09-08 Felix Zielcke <fzielcke@z-51.de>
27452
27453 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27454 `help' if the command exists.
27455
e30d87ad 274562009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27457
27458 * INSTALL: Require GCC 4.1.3 or later.
27459
9a86f1ec 274602009-09-06 Yves Blusseau <blusseau@zetam.org>
27461
27462 * Makefile.in (RMKFILES): add i386-qemu.rmk
27463 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27464 $(srcdir)/stamp-h.in
27465
7f26d466 274662009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27467
27468 * util/grub-probe.c (probe): Comment out buggy codepath, which
27469 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27470 should be re-enabled after 1.97.
27471
3a613259 274722009-09-05 Felix Zielcke <fzielcke@z-51.de>
27473
27474 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27475 find searches for.
27476
197f76c7 274772009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27480 unnecessary calls to grub_error.
27481
70ba68ce 274822009-09-04 Colin Watson <cjwatson@ubuntu.com>
27483
27484 * NEWS: Mention `keystatus' and Unicode fonts.
27485
4ff0d7a4 274862009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27487
27488 * configure.ac: Bump version to 1.97~beta2.
27489 * docs/version.texi: Likewise.
27490
77c55a87 274912009-09-03 Colin Watson <cjwatson@ubuntu.com>
27492
27493 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27494 containing unwind information in some cases where it previously did
27495 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27496 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27497 discussion.
27498
f79572cd 274992009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27500
27501 Embedding loadenv module into grub-emu
27502
27503 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27504 commands/loadenv.c
27505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27509 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27510 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27511
93a81088 275122009-09-03 Magnus Granberg <zorry@ume.nu>
27513
27514 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27515 include -fPIE in the default specs.
27516 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27517 to TARGET_CFLAGS.
27518
160034b2 275192009-09-03 Felix Zielcke <fzielcke@z-51.de>
27520
27521 * INSTALL: Note that GNU Bison 2.3 or later is required.
27522
087c07c4 275232009-09-03 Colin Watson <cjwatson@ubuntu.com>
27524
27525 * kern/i386/pc/startup.S: Fix typo.
27526
cbf978c0 275272009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27528
27529 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27530 according to GCS.
27531
275322009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27533
27534 * docs/grub.texi (Naming convention): Describe one-based partition
27535 numbering.
27536 (Device syntax): Likewise.
27537 (File name syntax): Likewise.
27538 (Block list syntax): Likewise.
27539 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27540 menu.lst.
27541 (File name syntax): Likewise.
27542 (Command-line and menu entry commands): Document acpi, blocklist,
27543 crc, export, insmod, keystatus, ls, set, and unset commands.
27544
f3e8cdfd 275452009-09-02 Colin Watson <cjwatson@ubuntu.com>
27546
27547 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27548 to avoid implying that only one of --shift, --ctrl, or --alt may be
27549 used.
27550
c0bc232b 275512009-09-02 Colin Watson <cjwatson@ubuntu.com>
27552
27553 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27554 rather than comparing against S_IFREG, which will almost never work.
27555
aa0f752d 275562009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27557
27558 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27559 (write_blocklists): Likewise.
27560
ecb3166a 275612009-09-01 Colin Watson <cjwatson@ubuntu.com>
27562
27563 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27564 argument to grub_printf.
27565
c403a125 275662009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27567
27568 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27569 non GNU test.
31aba781 27570
b5e7312c 275712009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27572
27573 * kern/file.c (grub_file_read): Spelling fix
27574
fe00f472 275752009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27576
27577 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27578 loading of headers in some cases.
27579
cc55302e 275802009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27581
27582 * configure.ac: Bump version to 1.97~beta1.
27583 * docs/version.texi: Likewise.
27584
5c90cdd2 275852009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27586
27587 * include/grub/i386/xnu.h: Add license header.
27588 include grub/err.h explicitly.
27589
c90edae4 275902009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27591
27592 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27593 to `ufs' in the vfs.root.mountfrom kernel parameter.
27594
d8888b5c 275952009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27596
27597 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27598
27599 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27600 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27601
27602 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27603 `ARRAY_SIZE' macro.
27604
6f07b921 276052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 * kern/file.c (grub_file_read): Check offset.
27608 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27609 * fs/jfs.c (grub_jfs_read_file): Likewise.
27610 * fs/ntfs.c (grub_ntfs_read): Likewise.
27611 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27612 * fs/minix.c (grub_minix_read_file): Correct offset check.
27613 * fs/ufs.c (grub_ufs_read_file): Likewise.
27614
b4f34077 276152009-08-28 Colin Watson <cjwatson@ubuntu.com>
27616
27617 * term/i386/pc/console.c (bios_data_area): Cast
27618 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27619
e7c69859 276202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27621
27622 1-bit optimised blitters.
27623
27624 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27625 prototype.
27626 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27627 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27628 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27629 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27630 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27631 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27632 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27633 function.
27634 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27635 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27636 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27637 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27638 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27639 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27640 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27641 when possible.
27642 * video/video.c (grub_video_get_blit_format): Return
27643 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27644
a57da43f 276452009-08-28 Colin Watson <cjwatson@ubuntu.com>
27646
27647 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27648 the first argument to grub_printf.
27649
4cbe67e5 276502009-08-28 Colin Watson <cjwatson@ubuntu.com>
276512009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27652
27653 Add `getkeystatus' terminal method. Add a new `keystatus' command
27654 to query it.
27655
27656 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27657 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27658 modifier key bitmasks.
27659 (struct grub_term_input): Add `getkeystatus' member.
27660 (grub_getkeystatus): Add prototype.
27661 * kern/term.c (grub_getkeystatus): New function.
27662
27663 * include/grub/i386/pc/memory.h
27664 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27665 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27666 Data Area layout.
27667 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27668 (grub_console_term_input): Set `getkeystatus' member.
27669 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27670 constants.
27671 (grub_usb_keyboard_getreport): Likewise.
27672 (grub_usb_keyboard_checkkey): Likewise.
27673 (grub_usb_keyboard_getkeystatus): New function.
27674 (grub_usb_keyboard_term): Set `getkeystatus' member.
27675
27676 * commands/keystatus.c: New file.
27677 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27678 (keystatus_mod_SOURCES): New variable.
27679 (keystatus_mod_CFLAGS): Likewise.
27680 (keystatus_mod_LDFLAGS): Likewise.
27681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27682 commands/keystatus.c.
27683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27685 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27688 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27689
6e2a9085 276902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27691
27692 Split befs.mod and afs.mod into *_be.mod and *.mod
27693
27694 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27695 (grub_fstest_SOURCES): Likewise.
27696 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27697 (afs_be_mod_SOURCES): New variable.
27698 (afs_be_mod_CFLAGS): Likewise.
27699 (afs_be_mod_LDFLAGS): Likewise.
27700 (befs_be_mod_SOURCES): Likewise.
27701 (befs_be_mod_CFLAGS): Likewise.
27702 (befs_be_mod_LDFLAGS): Likewise.
27703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27706 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27707 (grub_emu_SOURCES): Likewise.
27708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27709 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27711 * fs/afs_be.c: New file.
27712 * fs/befs_be.c: New file.
27713 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27714 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27715 (U16): Replaced with ...
27716 (grub_afs_to_cpu16): ...this. All users updated.
27717 (U32): Replaced with ...
27718 (grub_afs_to_cpu32): ...this. All users updated.
27719 (U64): Replaced with ...
27720 (grub_afs_to_cpu64): ...this. All users updated.
27721 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27722 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27723 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27724 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27725 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27726 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27727 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27728 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27729 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27730 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27731 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27732
32a71655 277332009-08-26 Bean <bean123ch@gmail.com>
27734
27735 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27736 64-bit number.
27737 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27738 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27739 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27740
552bf6c5 277412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 NetBSD memory map support.
27744
27745 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27746 (grub_netbsd_btinfo_mmap_header): New structure.
27747 (grub_netbsd_btinfo_mmap_entry): Likewise.
27748 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27749
1ae2078c 277502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27751
27752 Enable bsd.mod on coreboot.
27753
27754 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27755 (bsd_mod_SOURCES): New variable.
27756 (bsd_mod_CFLAGS): Likewise.
27757 (bsd_mod_LDFLAGS): Likewise.
27758 (bsd_mod_ASFLAGS): Likewise.
27759 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27760 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27761
beefc598 277622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27763
27764 Cleanup NetBSD root support.
27765
27766 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27767 grub_bsd_get_device.
27768 Fix typo.
27769
3b76e68b 277702009-08-25 Felix Zielcke <fzielcke@z-51.de>
27771
27772 * util/grub.d/00_header.in: Move check for the video backend of
27773 gfxterm from here ...
27774 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27775 a suitable video backend.
27776
aea664ea 277772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Fix breakage in grub-setup.
27780
27781 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27782 "msdos_partition_map".
27783
ff747d50 277842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 Fix breakage in normal/auth.c.
27787
27788 * normal/auth.c (grub_iswordseparator): New function.
27789
e7e1f93f 277902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27791
27792 Authentication support.
27793
27794 * commands/password.c: New file.
27795 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27796 (password_mod_SOURCES): New variable.
27797 (password_mod_CFLAGS): Likewise.
27798 (password_mod_LDFLAGS): Likewise.
27799 (normal_mod_SOURCES): Add normal/auth.c.
27800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27801 normal/auth.c.
27802 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27804 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27807 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27808 * include/grub/auth.h: New file.
27809 * include/grub/err.h (grub_err_t): New enum value
27810 GRUB_ERR_ACCESS_DENIED.
27811 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27812 'users'.
27813 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27814 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27815 users updated.
27816 * normal/auth.c: New file.
27817 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27818 (grub_cmdline_run): Don't allow to go to command line without
27819 authentication.
27820 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27821 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27822 menuentry without superuser rights.
27823 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27824 user isn't a superuser.
27825
70f1161d 278262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 Save space by inlining misc.c functions.
27829
27830 * kern/misc.c (grub_iswordseparator): Made static.
27831 * kern/misc.c (grub_strcat): Moved from here ...
27832 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27833 * kern/misc.c (grub_strncat): Moved from here ...
27834 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27835 * kern/misc.c (grub_strcasecmp): Moved from here ...
27836 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27837 * kern/misc.c (grub_strncasecmp): Moved from here ...
27838 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27839 * kern/misc.c (grub_isalpha): Moved from here ...
27840 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27841 * kern/misc.c (grub_isdigit): Moved from here ...
27842 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27843 * kern/misc.c (grub_isgraph): Moved from here ...
27844 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27845 * kern/misc.c (grub_tolower): Moved from here ...
27846 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27847
48e40bff 278482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27849
27850 * script/sh/function.c (grub_script_function_find): Cut error message
27851 not to flood terminal.
27852 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27853 limit.
27854 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27855
c385bfc3 278562009-08-24 Colin Watson <cjwatson@ubuntu.com>
27857
27858 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27859 `report' grub_uint8_t *.
27860 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27861 Use a 50-millisecond timeout rather than just repeating
27862 grub_usb_keyboard_getreport 50 times.
27863 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27864
2d21e3e8 278652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27866
27867 Rename *_partition_map to part_*
27868
27869 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27870 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27871 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27872 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27873 All users updated.
27874 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27875 All users updated.
27876 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27877 * util/grub-probe.c (probe_partmap): Don't transform partition name
27878 to get module name.
27879
dd103c4e 278802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27881
27882 Fix OpenBSD and NetBSD support.
27883
27884 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27885 memory address conflict.
27886 (OPENBSD_MMAP_ACPI): New definition.
27887 (OPENBSD_MMAP_NVS): Likewise.
27888 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27889 and OPENBSD_MMAP_NVS.
27890 Add memory map terminator
27891 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27892 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27893
16c84d74 278942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27895
27896 Let user specify NetBSD root device.
27897
27898 * loader/i386/bsd.c (netbsd_root): New variable.
27899 (netbsd_opts): New option 'root'.
27900 (NETBSD_ROOT_ARG): New macro.
27901 (grub_netbsd_boot): Use 'netbsd_root'.
27902 (grub_bsd_unload): Free 'netbsd_root'.
27903 (grub_cmd_netbsd): Fill 'netbsd_root'.
27904
adb29902 279052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27906
27907 Support for 64-bit NetBSD.
27908
27909 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27910 point when booting non-FreeBSD.
27911
f5ae9f74 279122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27913
27914 Support --no-smp and --no-acpi for NetBSD.
27915
27916 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27917 (NETBSD_AB_NOACPI): Likewise.
27918 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27919 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27920
de74f136 279212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27922
27923 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27924 errors.
27925 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27926 errors. Call grub_error when needed.
27927
e9a925da 279282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * commands/search.c (search_fs): Try searching without autoload first.
27931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27932 filesystem module explicitly for faster booting.
27933
5174302b 279342009-08-23 Colin Watson <cjwatson@ubuntu.com>
27935
27936 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27937
c8c80635 279382009-08-23 Colin Watson <cjwatson@ubuntu.com>
27939
27940 * util/grub.d/30_os-prober.in: Disable os-prober if
27941 `GRUB_DISABLE_OS_PROBER' was set to true.
27942
71acf5e5 279432009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * partmap/pc.c: Rename to ...
27946 * partmap/msdos.c: ... this. Update all users.
27947 (grub_pc_partition_map): Rename to ...
27948 (grub_msdos_partition_map): ... this. Update all users.
27949
27950 * parttool/pcpart.c: Rename to ...
27951 * parttool/msdospart.c: ... this. Update all users.
27952
27953 * include/grub/pc_partition.h: Rename to ...
27954 * include/grub/msdos_partition.h: ... this. Update all users.
27955 (grub_pc_partition_bsd_entry): Rename to ...
27956 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27957 (grub_pc_partition_disk_label): Rename to ...
27958 (grub_msdos_partition_disk_label): ... this. Update all users.
27959 (grub_pc_partition_entry): Rename to ...
27960 (grub_msdos_partition_entry): ... this. Update all users.
27961 (grub_pc_partition_mbr): Rename to ...
27962 (grub_msdos_partition_mbr): ... this. Update all users.
27963 (grub_pc_partition): Rename to ...
27964 (grub_msdos_partition): ... this. Update all users.
27965 (grub_pc_partition_is_empty): Rename to ...
27966 (grub_msdos_partition_is_empty): ... this. Update all users.
27967 (grub_pc_partition_is_extended): Rename to ...
27968 (grub_msdos_partition_is_extended): ... this. Update all users.
27969 (grub_pc_partition_is_bsd): Rename to ...
27970 (grub_msdos_partition_is_bsd): ... this. Update all users.
27971
27972 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27973 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27974 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27975 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27976 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27977 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27978 (gpt_mod_LDFLAGS): Rename to ...
27979 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27980 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27981 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27982 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27983 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27984 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27985 (part_gpt_mod_LDFLAGS): ... this.
27986 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27987 `pcpart.mod' to `msdospart.mod'.
27988 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27989 to ...
27990 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27991 (msdospart_mod_LDFLAGS): ... this.
27992
c11fded5 279932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27996 (openbsd_opts): Likewise.
27997 (netbsd_opts): Likewise.
27998 (freebsd_flags): Added 0 terminator.
27999 (openbsd_flags): Likewise.
28000 (netbsd_flags): Likewise.
28001 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28002 (grub_cmd_freebsd): Transformed into extended command.
28003 (grub_cmd_openbsd): Likewise.
28004 (grub_cmd_netbsd): Likewise.
28005 (cmd_freebsd): Changed type to grub_extcmd_t.
28006 (cmd_openbsd): Likewise.
28007 (cmd_netbsd): Likewise.
28008 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28009 grub_cmd_openbsd as extended commands.
28010 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28011 cmd_netbsd and cmd_openbsd
28012
11d1c769 280132009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28014
28015 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28016
7a9094e5 280172009-08-21 Pavel Roskin <proski@gnu.org>
28018
5496c37e 28019 * Makefile.in (install-local): When checking if a file is in the
28020 build directory, use "test -e" to detect symlinks.
28021
7a9094e5 28022 * Makefile.in (install-local): Remove all files in
28023 $(DESTDIR)$(pkglibdir) before installing new files there.
28024
e53cea11 280252009-08-18 Felix Zielcke <fzielcke@z-51.de>
28026
28027 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28028 grub-mkelfimage.
28029
9aced544 280302009-08-18 Felix Zielcke <fzielcke@z-51.de>
28031
28032 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28033 explicitly specified by the user.
28034
b7da6bab 280352009-08-18 Pavel Roskin <proski@gnu.org>
28036
28037 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28038 grub_uint8_t pointer for data.
28039 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28040 Likewise.
28041 * video/fb/fbutil.c: Remove unnecessary casts.
28042
19f1b335 280432009-08-17 Michal Suchanek <hramrach@centrum.cz>
28044
28045 VBE cleanup.
28046
28047 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28048 (grub_vbe_set_video_mode): Save active mode info
28049 only after setting the mode.
28050 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28051 second argument.
28052
2f467aa9 280532009-08-17 Michal Suchanek <hramrach@centrum.cz>
28054
28055 Rename variables for clarity.
28056
28057 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28058 (active_vbe_mode_info): ... this. All users updated.
28059 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28060 All users updated.
28061 (initial_mode): Rename to ...
28062 (initial_vbe_mode): ... this. All users updated.
28063 (mode_in_use): Rename to ..
28064 (vbe_mode_in_use): ... this. All users updated.
28065 (mode_list): Rename to ..
28066 (vbe_mode_list): ... this. All users updated.
28067 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28068 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28069 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28070 'mode_list_size' to 'vbe_mode_list_size'.
28071 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28072 'best_mode_info' to 'best_vbe_mode_info' and
28073 'best_mode' to 'best_vbe_mode'
28074
6025fcd7 280752009-08-17 Michal Suchanek <hramrach@centrum.cz>
28076
28077 Remove duplicate grub_video_fb_get_video_ptr.
28078
28079 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28080 (grub_video_fb_get_video_ptr): ... this.
28081 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28082 * video/fb/fbutil.c: Add comment about addressing.
28083 (get_data_ptr): Rename to ...
28084 (grub_video_fb_get_video_ptr): ... this. All users updated.
28085 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28086
cc8c6faf 280872009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28088
28089 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28090 grub_dprintf() that was just added.
28091
08aa61f0 280922009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28093
28094 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28095 (DEFAULT_VIDEO_MODE): Remove macros.
28096 (grub_linux_boot): Remove assumption that Linux has FB support,
28097 and use "text" as default video mode.
28098
7cef4f75 280992009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28102 grub_dprintf.
28103 * fs/fat.c (grub_fat_read_data): Likewise.
28104
e1f39873 281052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28106
28107 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28108 payload.
28109 (grub_module): Likewise.
28110
c166d79e 281112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28114 mbi->cmdline but free playground.
28115
c60cee8e 281162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 Handle group offset on UFS1.
28119
28120 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28121 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28122
c0d8b5d4 281232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28124
28125 Split ufs.mod into ufs1.mod and ufs2.mod.
28126
28127 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28128 (grub_fstest_SOURCES): Likewise.
28129 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28130 (ufs_mod_SOURCES): Remove.
28131 (ufs_mod_CFLAGS): Likewise.
28132 (ufs_mod_LDFLAGS): Likewise.
28133 (ufs1_mod_SOURCES): New variable.
28134 (ufs1_mod_CFLAGS): Likewise.
28135 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28136 (ufs2_mod_SOURCES): New variable.
28137 (ufs2_mod_CFLAGS): Likewise.
28138 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28140 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28141 Likewise.
28142 (grub_emu_SOURCES): Likewise.
28143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28145 (grub_setup_SOURCES): Likewise.
28146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28147 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28148 (grub_setup_SOURCES): Likewise.
28149 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28150 Likewise.
28151 * fs/ufs2.c: New file.
28152 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28153
d3539132 281542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 Framebuffer split.
28157
28158 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28159 subsystem at the end.
28160 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28161 (video_fb_mod_SOURCES): New variable.
28162 (video_fb_mod_CFLAGS): Likewise.
28163 (video_fb_mod_LDFLAGS): Likewise.
28164 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28165 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28166 * video/i386/pc/vbeblit.c: Moved from here ...
28167 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28168 * video/i386/pc/vbefill.c: Moved from here ...
28169 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28170 * video/i386/pc/vbeutil.c: Moved from here ...
28171 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28172 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28173 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28174 * include/grub/i386/pc/vbefill.h: Moved from here ...
28175 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28176 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28177 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28178 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28179 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28180 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28181 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28182 (grub_video_adapter): Added 'get_info_and_fini'.
28183 (grub_video_get_info_and_fini): New prototype.
28184 (grub_video_set_mode): make modestring const char *.
28185 * loader/i386/linux.c (grub_linux_setup_video): Use
28186 grub_video_get_info_and_fini.
28187 (grub_linux_boot): Move modesetting just before booting.
28188 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28189 grub_video_get_info_and_fini.
28190 * video/i386/pc/vbe.c: Moved framebuffer part ...
28191 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28192 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28193 grub_video_fbstd_colors and grub_video_fb_set_palette.
28194 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28195 grub_video_fb_init.
28196 (grub_video_vbe_fini): Use grub_video_fb_fini.
28197 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28198 render_target and use grub_video_fb_set_active_render_target and
28199 grub_video_fb_set_palette.
28200 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28201 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28202 (grub_video_vbe_adapter): Use framebuffer.
28203 * video/video.c (grub_video_get_info_and_fini): New function.
28204 (grub_video_set_mode): Make modestring const char *.
28205 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28206 values are already initialised.
28207
d404ee56 282082009-08-14 Pavel Roskin <proski@gnu.org>
28209
28210 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28211 ABS and APPLE_CC.
28212 * boot/i386/pc/diskboot.S: Likewise.
28213 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28214 sectors allow compilation on MacOSX.
28215 * conf/i386-pc.rmk: Enable unconditional compilation of
28216 lnxboot.img.
28217
9a10df16 282182009-08-13 Colin Watson <cjwatson@ubuntu.com>
28219
28220 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28221 * util/grub.d/00_header.in: Enter interruptible sleep if
28222 GRUB_HIDDEN_TIMEOUT is set.
28223
be3c9ca7 282242009-08-13 Yves Blusseau <blusseau@zetam.org>
28225
28226 * include/grub/symbol.h: Add the LOCAL macro.
28227 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28228 starting with "L_".
28229
1f9e557e 282302009-08-13 Pavel Roskin <proski@gnu.org>
28231
9ca62843 28232 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28233 any modern compilers we support.
28234
1f9e557e 28235 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28236 Use local labels starting with "L_" so that Apple assembler
28237 knows they are local.
28238
81623db6 282392009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28240
28241 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28242 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28243 (bsd_kernel_types): ... this enum.
28244
28245 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28246 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28247 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28248
28249 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28250 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28251 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28252 messages.
28253
f5d35e7a 282542009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28255
28256 * util/grub-dumpdevtree: Moved from here ...
28257 * util/i386/efi/grub-dumpdevtree: ... to here.
28258 (hexify): New function. Converts a string to its hex version.
28259 Generate hex versions of "efi" and "device-properties" by calling
28260 hexify() on the ASCII strings rather than by hardcoding numbers.
28261
d1e1d527 282622009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28263
28264 * fs/jfs.c: Update copyright year.
28265
1ebbe064 282662009-08-08 Felix Zielcke <fzielcke@z-51.de>
28267
28268 * util/grub.d/00_header.in: Fix a comment.
28269 * util/grub.d/10_linux.in: Likewise.
28270 * util/grub.d/10_windows.in: Likewise.
28271 * util/grub.d/10_hurd.in: Likewise.
28272
a78c8d24 282732009-08-08 Felix Zielcke <fzielcke@z-51.de>
28274
28275 * util/grub-mkconfig.in: Allow the user to specify the used font
28276 with GRUB_FONT.
28277
29a6b9e8 282782009-08-08 Pavel Roskin <proski@gnu.org>
28279
b5f16cc4 28280 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28281 available, xfs.mod needs it now.
28282
2f5cb827 28283 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28284 the "g" modifier in sed when the intention is to strip something
28285 once. This fixes comparison of kernels with multiple dashes.
28286
29a6b9e8 28287 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28288 on it. Add missing space before closing bracket. Fix
28289 misleading formatting.
28290
892a3d98 282912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28292
28293 * docs/grub.texi: Major overhaul. Remove all sections that are
28294 specific to GRUB Legacy, or mostly composed of Legacy-specific
28295 information.
28296
ed94253f 282972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28298
28299 * docs/version.texi: New file. Provides version information for
28300 grub.texi.
28301
126d6628 283022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28303
28304 * docs/grub.texi: Update CVS information to SVN.
28305 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28306
998b5aa9 283072009-08-07 Felix Zielcke <fzielcke@z-51.de>
28308
28309 * util/grub-mkconfig.in: Remove a wrong `fi'.
28310
818e094a 283112009-08-07 Felix Zielcke <fzielcke@z-51.de>
28312
28313 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28314 (grub_jfs_uuid): New function.
28315 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28316
b969c52f 283172009-08-07 Felix Zielcke <fzielcke@z-51.de>
28318
28319 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28320 of it to ...
28321 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28322 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28323
7a4894cc 283242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28325
28326 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28327 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28328 Update all users.
28329
28330 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28331 not just "vmlinu[zx]".
28332 Moved from here ...
28333 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28334 all users.
28335
28336 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28337 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28338 all users.
28339
4e2171f8 283402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28341
28342 * util/grub.d/10_freebsd.in: Use an absolute device path for
28343 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28344
6dcfcb32 283452009-08-06 Felix Zielcke <fzielcke@z-51.de>
28346
28347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28348 handling of multiple abstraction modules.
28349
f56a8756 283502009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28351
28352 Fix a bug resulting in black screen when loading Linux using a
28353 packed video mode.
28354
28355 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28356 function.
28357
28358 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28359 (grub_vbe_bios_getset_dac_palette_width): New function.
28360 (grub_vbe_bios_get_dac_palette_width)
28361 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28362 grub_vbe_bios_getset_dac_palette_width()).
28363
28364 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28365 check for return status.
28366 (grub_vbe_get_video_mode_info): When getting information for a packed
28367 mode (<= 8 bpp), obtain DAC palette width using
28368 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28369 {red,green,blue}_mark_size.
28370
222671b2 283712009-08-04 Felix Zielcke <fzielcke@z-51.de>
28372
ecb1a6d9 28373 * commands/search.c (options): Fix help output to match actual code.
222671b2 28374
f84114f5 283752009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28376
28377 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28378 of homegrown code.
28379
bd288a20 283802009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28381
28382 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28383 on XFS or ReiserFS.
28384
8aab5e25 283852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 Support Apple partition map with sector size different from 512 bytes.
28388
28389 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28390 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28391 and 'apart.partmap_size'.
28392
6ad6258a 283932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
283942009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28395
28396 Fix cpuid command.
28397
28398 * commands/i386/cpuid.c (options): New variable.
28399 (grub_cmd_cpuid): Return real error.
28400 (GRUB_MOD_INIT(cpuid)): Declare options.
28401
67459bc6 284022009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28403
28404 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28405 valid.
28406
fbc6ab54 284072009-07-31 Bean <bean123ch@gmail.com>
28408
28409 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28410 log2_inode.
28411 (grub_fshelp_node): Move inode field to the end.
28412 (grub_xfs_data): Remove inode field.
28413 (grub_xfs_inode_block): Calculate inode size using sblock.
28414 (grub_xfs_inode_offset): Likewise.
28415 (grub_xfs_read_inode): Calculate inode size using sblock.
28416 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28417 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28418 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28419 to match inode size.
28420 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28421 not accessible when data is null.
28422 (grub_xfs_open): Likewise.
28423
f45d6cfc 284242009-07-31 Bean <bean123ch@gmail.com>
28425
28426 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28427 Don't change pv->disk if it's already set.
28428
28429 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28430 (grub_raid_register): ... here.
28431 (grub_raid_rescan): Removed.
28432
28433 * include/grub/raid.h (grub_raid_rescan): Removed.
28434
28435 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28436 (fstest): Replace grub_raid_rescan with module fini function followed
28437 by init function.
28438
28439 * util/grub-probe.c: Add include file <grub/raid.h>.
28440 (probe_raid_level): New function.
28441 (probe): Detect abstraction by walking the disk device, support two
28442 level of abstraction (LVM on RAID) when detecting partition map.
28443
24443b5a 284442009-07-31 Pavel Roskin <proski@gnu.org>
28445
28446 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28447 to grub_zalloc(), it was erroneous.
28448 Reported by Bean <bean123ch@gmail.com>
28449
a275d9e7 284502009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28451
28452 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28453 embedding zone, not only the first one.
a275d9e7 28454
56c5a47f 284552009-07-29 Joe Auricchio <jauricchio@gmail.com>
28456
28457 * term/gfxterm.c (clear_char): New function.
28458 (grub_virtual_screen_setup): Use clear_char.
28459 (scroll_up): Likewise.
28460 (grub_virtual_screen_cls): Likewise.
28461
67bb323a 284622009-07-29 Felix Zielcke <fzielcke@z-51.de>
28463
28464 * util/deviceiter.c (get_acceleraid_disk_name): New static
28465 function.
28466 (grub_util_iterate_devices): Handle Accelraid devices.
28467 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28468
388a7c75 284692009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28470
28471 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28472 separator for the suggested gfxpayload string (';' collides with the
28473 parser and needs escaping).
28474
3bb7abcf 284752009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28478 Clear direction flag before jumping to OS.
28479 (grub_multiboot2_real_boot): Likewise.
28480
2ddd36d7 284812009-07-28 Felix Zielcke <fzielcke@z-51.de>
28482
28483 * util/i386/pc/grub-install: Fix parsing of --disk-module
28484 option.
28485
c521b62b 284862009-07-28 Felix Zielcke <fzielcke@z-51.de>
28487
28488 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28489 when embedding.
28490
880e0a0c 284912009-07-26 Felix Zielcke <fzielcke@z-51.de>
28492
28493 * util/grub-mkconfig.in (package_version): New variable.
28494 Use it do display the version.
28495
2366e356 284962009-07-25 Felix Zielcke <fzielcke@z-51.de>
28497
28498 * kern/file.c (grub_file_open): Revert to previous check with
28499 grub_errno.
28500
7ad8c80e 285012009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28502
28503 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28504 from help line. It's out of sync with code.
28505
72b9658b 285062009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28509 entries on failed boot.
28510
77435277 285112009-07-25 Felix Zielcke <fzielcke@z-51.de>
28512
28513 * kern/file.c (grub_file_open): Fix an error check.
28514
fcaa8b21 285152009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28516
35d16c74 28517 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28518 partition map couldn't be identified.
fcaa8b21 28519
48904cd1 285202009-07-23 Pavel Roskin <proski@gnu.org>
28521
ef3c317f 28522 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28523 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28524 case of little endian words becomes just an optimization.
28525 Respect const modifier.
ad8ea1f4 28526 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28527
48904cd1 28528 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28529 to avoid loss of upper bits if align is unsigned and shorter
28530 than addr.
28531
260c9a89 285322009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28533
28534 UUID support for UFS
28535
28536 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28537 (grub_ufs_uuid): New function.
28538 (grub_ufs_fs): add .uuid
28539
f76ce889 285402009-07-21 Pavel Roskin <proski@gnu.org>
28541
28542 * kern/dl.c (grub_dl_check_header): Make static.
28543
6a6cbcaf 285442009-07-21 Felix Zielcke <fzielcke@z-51.de>
28545
28546 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28547 add drivemap for Vista. It breaks Windows 7.
28548
cffcddb2 285492009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28550
28551 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28552 128 bytes
28553
1ef44b80 285542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 Add BFS support
28557
28558 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28559 (grub_fstest_SOURCES): Likewise.
28560 (pkglib_MODULES): Add befs.mod.
28561 (befs_mod_SOURCES): New variable.
28562 (befs_mod_CFLAGS): Likewise.
28563 (befs_mod_LDFLAGS): Likewise.
28564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28565 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28568 (grub_setup_SOURCES): Likewise.
28569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28570 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28571 (grub_setup_SOURCES): Likewise.
28572 * fs/befs.c: New file.
28573 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28574 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28575 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28576 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28577 (B_KEY_INDEX_ALIGN): New declaration.
28578 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28579 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28580 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28581 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28582 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28583 (grub_afs_mount) [MODE_BFS]: Likewise.
28584 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28585 (grub_afs_fs): Use GRUB_AFS_FSNAME
28586 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28587 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28588 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28589 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28590
4f253044 285912009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28592
28593 * util/getroot.c (find_root_device): Add support for MacOSX.
28594 * util/hostdisk.c: Likewise.
28595
57a55913 285962009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28597
28598 * font/font.c (find_glyph): Check whether a font is present to avoid
28599 segmentation fault.
75421ca9 28600
286012009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28602
28603 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28604
e98cd0c2 286052009-07-20 Pavel Roskin <proski@gnu.org>
28606
28607 * configure.ac: Trim excessively wordy excuses.
28608
1d2d169a 286092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28610
28611 Add symlink, mtime and label support to AtheFS.
28612
28613 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28614 (grub_afs_iterate_dir): Handle symlinks.
28615 (grub_afs_open): Use grub_afs_read_symlink.
28616 (grub_afs_dir): Likewise.
28617 Pass mtime.
28618 (grub_afs_label): New function.
28619 (grub_afs_fs): Add grub_afs_label.
28620 (grub_afs_read_symlink): New function.
28621
186f3189 286222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28623
28624 Fix AtheFS support.
28625
28626 * fs/afs.c: Fix comments style.
28627 (grub_afs_blockrun): Declare as packed.
28628 (grub_afs_datastream): Likewise.
28629 (grub_afs_bnode): Likewise.
28630 (grub_afs_btree): Likewise.
28631 (grub_afs_sblock): Likewise.
28632 Declare `name' as char.
28633 (grub_afs_inode): Declare as packed.
28634 Change void *vnode to grub_uint32_t unused.
28635 (grub_afs_iterate_dir): Check that key_size is positive.
28636 (grub_afs_mount): Don't read superblock twice.
75421ca9 28637 (grub_afs_dir): Don't free node in case of error,
186f3189 28638 grub_fshelp_find_file already handles this.
28639 (grub_afs_open): Likewise.
28640
5680109e 286412009-07-19 Pavel Roskin <proski@gnu.org>
28642
28643 * Makefile.in: Remove LIBLZO and enable_lzo.
28644 * conf/i386-pc.rmk: Remove lzo support.
28645 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28646 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28647 support.
28648 * kern/i386/pc/lzo1x.S: Remove.
28649 * kern/i386/pc/startup.S: Remove lzo support.
28650 * util/i386/pc/grub-mkimage.c: Likewise.
28651
ac70fa32 286522009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28653
28654 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28655 * fs/xfs.c (grub_xfs_dir): Likewise.
28656 * fs/afs.c (grub_afs_dir): Likewise.
28657 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28658 (grub_iso9660_open): Likewise.
28659 * fs/jfs.c (grub_jfs_open): Likewise.
28660 * fs/ext2.c (grub_ext2_dir): Likewise.
28661 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28662 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28663
eab58da2 286642009-07-16 Pavel Roskin <proski@gnu.org>
28665
d2838156 28666 * configure.ac: Never add "-c" to CFLAGS.
28667
55c70904 28668 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28669
43e6200c 28670 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28671 grub_cv_cc_efiemu should be used.
28672
ce7a733d 28673 * configure.ac: Typo fixes.
28674
eab58da2 28675 * kern/mm.c (grub_zalloc): New function.
28676 (grub_debug_zalloc): Likewise.
28677 * include/grub/mm.h: Declare grub_zalloc() and
28678 grub_debug_zalloc().
28679 * util/misc.c (grub_zalloc): New function.
28680 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28681 instead of grub_malloc(), remove unneeded initializations.
28682 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28683 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28684 * commands/parttool.c (grub_cmd_parttool): Likewise.
28685 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28686 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28687 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28688 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28689 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28690 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28691 (grub_cmd_efiemu_pnvram): Likewise.
28692 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28693 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28694 (grub_iso9660_iterate_dir): Likewise.
28695 * fs/jfs.c (grub_jfs_opendir): Likewise.
28696 * fs/ntfs.c (list_file): Likewise.
28697 (grub_ntfs_mount): Likewise.
28698 * kern/disk.c (grub_disk_open): Likewise.
28699 * kern/dl.c (grub_dl_load_core): Likewise.
28700 * kern/elf.c (grub_elf_file): Likewise.
28701 * kern/env.c (grub_env_context_open): Likewise.
28702 (grub_env_set): Likewise.
28703 (grub_env_set_data_slot): Likewise.
28704 * kern/file.c (grub_file_open): Likewise.
28705 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28706 * loader/i386/multiboot.c (grub_module): Likewise.
28707 * loader/xnu.c (grub_xnu_create_key): Likewise.
28708 (grub_xnu_create_value): Likewise.
28709 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28710 (read_config_file): Likewise.
28711 * normal/menu_entry.c (make_screen): Likewise.
28712 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28713 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28714 * script/sh/script.c (grub_script_parse): Likewise.
28715 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28716 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28717 * video/readers/png.c (grub_png_output_byte): Likewise.
28718 (grub_video_reader_png): Likewise.
28719
830afef7 287202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28721
28722 Enable all targets that can be built by default
28723
830afef7 28724 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28725 grub-mkfont and grub-fstest if they can be built
28726
ee293aee 287272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28728
28729 Fix hang and segmentation fault in grub-emu-usb
28730
28731 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28732 * util/usb.c (grub_libusb_devices): likewise
28733 (grub_libusb_init): rename to ...
28734 (GRUB_MOD_INIT (libusb)):...this
28735 (grub_libusb_fini): rename to ..
28736 (GRUB_MOD_FINI (libusb)):...this
28737 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28738 * include/grub/disk.h (grub_raid_init): removed, it's useless
28739 (grub_raid_fini): likewise
28740 (grub_lvm_init): likewise
28741 (grub_lvm_fini): likewise
28742 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28743 by grub_init_all
28744
94414221 287452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28746
28747 Fix libusb
28748
28749 * Makefile.in (LIBUSB): new macro
28750 * genmk.rb (Utility/print_tail): new method
28751 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28752 (top level): call util.print_tail at the end.
28753
59ade63d 287542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28755
28756 Make FreeBSD accept zpool.cache
28757
28758 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28759 type is /boot/zfs/zpool.cache
28760
a58da8c7 287612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 Fix 64-bit efiemu
28764
28765 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28766 correct wrong typedef
28767 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28768
20591577 287692009-07-15 Pavel Roskin <proski@gnu.org>
28770
560ca572 28771 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28772 * kern/disk.c (struct grub_disk_cache): Likewise.
28773
e8e8e4fd 28774 * commands/probe.c (options): Typo fix.
28775
fde24e10 28776 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28777 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28778 accordingly.
28779 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28780
379c54c1 28781 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28782 the end of "Error" to make the message more readable.
28783
7bd8f5bf 28784 * boot/i386/pc/boot.S (kernel_segment): Remove.
28785 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28786 for destination.
28787
40b132c5 28788 * boot/i386/pc/boot.S (boot_version): Remove.
28789 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28790 Remove.
28791
20591577 28792 * include/grub/i386/pc/boot.h: Sort all offsets.
28793 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28794 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28795 * boot/i386/pc/boot.S: Assert location of every offset listed in
28796 include/grub/i386/pc/boot.h.
28797
2df32b2c 287982009-07-13 Pavel Roskin <proski@gnu.org>
28799
44b5d879 28800 * include/grub/i386/coreboot/machine.h: Rename
28801 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28802 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28803 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28804
17dc3751 28805 * kern/dl.c: Force native word size to suppress warnings when
28806 compiling grub-emu.
28807
2df32b2c 28808 * kern/device.c (grub_device_iterate): Change struct part_ent to
28809 hold the name, not a pointer to it. Use one grub_malloc() per
28810 partition, not two. Free partition_name if grub_malloc() fails.
28811 Set ents to NULL only before grub_partition_iterate() is called.
28812
75c59f59 288132009-07-11 Bean <bean123ch@gmail.com>
28814
28815 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28816 childname.
28817
0ae1bf88 288182009-07-10 Bean <bean123ch@gmail.com>
288192009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28820
28821 * kern/ieee1275/openfw.c (grub_children_iterate)
28822 (grub_devalias_iterate): Fix size evaluation for property or path
28823 strings, which was broken since r2132.
28824
8279cade 288252009-07-07 Pavel Roskin <proski@gnu.org>
28826
7d8a52d3 28827 * commands/search.c (search_file): Merge into ...
28828 (search_fs): ... this. Accept search type as argument.
28829 (grub_cmd_search): Pass search type to search_fs().
28830
25f9a05a 28831 * include/grub/util/console.h: New file.
28832 * util/console.c: Use it instead of grub/machine/console.h.
28833 * util/grub-emu.c: Likewise.
28834
8279cade 28835 * lib/arg.c (find_long_option): Remove.
28836 (find_long): Add `len' argument, make `s' const char *.
28837 (grub_arg_parse): Parse long options in place, not in a
28838 temporary buffer.
28839
4a11b60f 288402009-07-06 Pavel Roskin <proski@gnu.org>
28841
99f68041 28842 * commands/search.c (search_fs): Fix potential NULL pointer
28843 dereference.
28844
4a11b60f 28845 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28846 function pointer.
28847
e110f4de 288482009-07-06 Daniel Mierswa <impulze@impulze.org>
28849
28850 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28851 comparison.
28852
46eeb6a2 288532009-07-05 Pavel Roskin <proski@gnu.org>
28854
bab74958 28855 * include/grub/i386/linux.h (struct linux_kernel_params):
28856 Restore padding3, it's still needed.
28857
46eeb6a2 28858 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28859 FreeBSD.
28860 * util/osdetect.lua: Likewise.
28861
b4a1dc79 288622009-07-05 Bean <bean123ch@gmail.com>
28863
28864 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28865
28866 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28867 (grub_lua_getenv): Likewise.
28868 (grub_lua_setenv): Likewise.
28869 (save_errno): New function.
28870 (push_result): Likewise.
28871 (grub_lua_enum_device): Likewise.
28872 (grub_lua_enum_file): Likewise.
28873 (grub_lua_file_open): Likewise.
28874 (grub_lua_file_close): Likewise.
28875 (grub_lua_file_seek): Likewise.
28876 (grub_lua_file_read): Likewise.
28877 (grub_lua_file_getline): Likewise.
28878 (grub_lua_file_getsize): Likewise.
28879 (grub_lua_file_getpos): Likewise.
28880 (grub_lua_file_eof): Likewise.
28881 (grub_lua_file_exist): Likewise.
28882 (grub_lua_add_menu): Likewise.
28883
28884 * script/lua/grub_lua.h (isupper): New inline function.
28885 (islower): Likewise.
28886 (ispunct): Likewise.
28887 (isxdigit): Likewise.
28888 (strcspn): Change to normal function.
28889 (strpbkr): New function declaration.
28890 (memchr): Likewise.
28891
28892 * script/lua/grub_main.c (scan_str): New function.
28893 (strcspn): Likewise.
28894 (strpbrk): Likewise.
28895 (memchr): Likewise.
28896
28897 * script/lua/linit.c (lualibs): Enable the string library.
28898
28899 * util/osdetect.lua: New file.
28900
2da92295 289012009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28902
28903 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28904 `capabilities' member.
28905
b2582ec9 289062009-07-02 Pavel Roskin <proski@gnu.org>
28907
28908 * genparttoollist.sh: Add missing newline at the end.
28909
32622956 289102009-07-01 Pavel Roskin <proski@gnu.org>
28911
87a7339e 28912 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28913
d23af54e 28914 * util/hostdisk.c (open_device): Remove `const' from
28915 `sysctl_size', as sysctlbyname() can change it (in this case it
28916 doesn't actually happen).
28917
c94b18a9 28918 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28919 using signed long int constants.
28920
c6cd3ef0 28921 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28922 constant to avoid a warning on FreeBSD.
28923
0df63420 28924 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28925 where it's needed.
28926
999577f1 28927 * Makefile.in: Install include/grub/machine symlink.
28928
6f41557f 28929 * Makefile.in: When installing symlinks, use "cp -fR", which
28930 works on FreeBSD and MacOSX.
28931 From Yves Blusseau <cl7m42e02@sneakemail.com>
28932
c8d22988 28933 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28934 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28935
1b96e952 28936 * util/misc.c: Move grub_reboot() and grub_halt() ...
28937 * util/grub-emu.c: ... here. Make main_env static.
28938 * include/grub/util/misc.h: Remove main_env.
28939
2ef0084d 28940 * kern/mm.c: Use correct format to print size_t.
28941
32622956 28942 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28943 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28944 * kern/powerpc/dl.c: Likewise.
28945 * kern/sparc64/dl.c: Likewise.
28946 * kern/x86_64/dl.c: Likewise.
28947
3f7f0cd0 289482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28949
28950 Fix grub-emu build on sparc64-ieee1275.
28951
75421ca9 28952 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28954
211d06b5 289552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28958 (grub_reboot, grub_halt): New functions.
28959
28960 * util/i386/pc/misc.c: Delete. Update all users.
28961 * util/sparc64/ieee1275/misc.c: Likewise.
28962 * util/powerpc/ieee1275/misc.c: Likewise.
28963
aaf53e3c 289642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28965
28966 * conf/i386.rmk (setjmp_mod_SOURCES)
28967 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28968 * conf/common.rmk (setjmp_mod_SOURCES)
28969 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28970 to use $(target_cpu).
28971 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28972 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28973 * conf/powerpc-ieee1275.rmk: Likewise.
28974 * conf/sparc64-ieee1275.rmk: Likewise.
28975
28976 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28977 $(target_cpu) for kern/$(target_cpu)/dl.c.
28978 * conf/i386-efi.rmk: Likewise.
28979 * conf/i386-ieee1275.rmk: Likewise.
28980 * conf/x86_64-efi.rmk: Likewise.
28981 * conf/i386-coreboot.rmk: Likewise.
28982 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28983 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28984 kern/$(target_cpu)/cache.S.
28985 * conf/sparc64-ieee1275.rmk: Likewise.
28986
a337130b 289872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28988
28989 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28990 type to `grub_uint8_t', and adjust `padding9' accordingly.
28991
c6fe4d53 289922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28993
b09db61d 28994 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28995
c6fe4d53 28996 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28997 assembly in final jump, using register constraints.
28998
b09db61d 28999 (grub_linux_boot): For text mode, initialize `have_vga' using
29000 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29001
29002 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29003 right before the final jump.
29004
29005 Set `video_mode' to 0x3.
29006
29007 Document initialization of `video_page', `video_mode' and
29008 `video_ega_bx'.
29009
28333ad0 290102009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29011
29012 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29013 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 29014 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 29015
02164e1b 290162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29017
29018 Fix build on Debian / sparc.
29019
29020 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29021
18b6c557 290222009-06-28 Pavel Roskin <proski@gnu.org>
29023
85f2aab6 29024 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29025 fix a warning.
29026
18b6c557 29027 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29028
ad760f81 290292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29030
29031 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29032 `err'.
29033
87a4623b 290342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29035
29036 Revert r2338.
29037
29038 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29039 file can't be opened. grub_file_open() is already supposed to set
75421ca9 29040 grub_errno / grub_errmsg appropriately.
87a4623b 29041 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29042
8231fb77 290432009-06-27 Pavel Roskin <proski@gnu.org>
290442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29045
29046 * include/grub/dl.h: Include grub/elf.h.
29047 (struct grub_dl): Add symtab field.
29048 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29049 GRUB_MODULES_MACHINE_READONLY.
29050 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29051 of the header for read-only modules.
29052 (grub_dl_unload): Free mod->symtab for read-only modules.
29053 * kern/i386/dl.c: Use mod->symtab.
29054 * kern/powerpc/dl.c: Likewise.
29055 * kern/sparc64/dl.c: Likewise.
29056 * kern/x86_64/dl.c: Likewise.
29057
29058 * conf/i386-qemu.rmk: New file.
29059 * kern/i386/qemu/startup.S: Likewise.
29060 * kern/i386/qemu/mmap.c: Likewise.
29061 * boot/i386/qemu/boot.S: Likewise.
29062 * include/grub/i386/qemu/time.h: Likewise.
29063 * include/grub/i386/qemu/serial.h: Likewise.
29064 * include/grub/i386/qemu/kernel.h: Likewise.
29065 * include/grub/i386/qemu/console.h: Likewise.
29066 * include/grub/i386/qemu/boot.h: Likewise.
29067 * include/grub/i386/qemu/init.h: Likewise.
29068 * include/grub/i386/qemu/machine.h: Likewise.
29069 * include/grub/i386/qemu/loader.h: Likewise.
29070 * include/grub/i386/qemu/memory.h: Likewise.
29071
29072 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29073 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29074 [qemu] (pkglib_IMAGES): Add `boot.img'.
29075 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29076 [qemu] (boot_img_FORMAT): New variables.
29077 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29078 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29079 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29080 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29081 [qemu] (kernel_img_FORMAT): New variables.
29082
29083 * configure.ac: Recognise `i386-qemu'.
29084
29085 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29086 (for no compression).
29087 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29088 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29089 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29090 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29091 ifdefs).
29092
97fe384e 290932009-06-27 Pavel Roskin <proski@gnu.org>
29094
29095 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29096 read.
29097 * efiemu/prepare32.c: Likewise.
29098 * efiemu/prepare64.c: Likewise.
29099
c402ab17 291002009-06-26 Pavel Roskin <proski@gnu.org>
29101
29102 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29103 * include/grub/elf.h: Define symbols without "32" or "64" based
29104 on GRUB_TARGET_WORDSIZE.
29105 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29106 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29107 ELF definitions.
29108 * efiemu/loadcore64.c: Likewise.
29109 * loader/i386/bsd32.c: Likewise.
29110 * loader/i386/bsd64.c: Likewise.
29111 * kern/dl.c: Remove own ELF definitions.
29112 * util/i386/efi/grub-mkimage.c: Likewise.
29113
9bbdfd4d 291142009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29115
29116 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29117 segment 0x0 unconditionally, because the reference generated by
29118 GAS is an absolute address.
29119
a42ce6e9 291202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29121
29122 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29123 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29124
c952cf92 291252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29126
29127 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29128 indexes. Check for -f explicitly.
cc3752ad 29129 (search_file): Improve error message.
29130 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29131
132a0a59 291322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29133
29134 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29135 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29136
387a140c 291372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29138
29139 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29140 * conf/i386-ieee1275.rmk: Likewise.
29141 * conf/i386-coreboot.rmk: Likewise.
29142
29143 * kern/i386/pc/startup.S (grub_stop): Remove function.
29144 * kern/i386/ieee1275/startup.S: Likewise.
29145 * kern/i386/coreboot/startup.S: Likewise.
29146 * kern/i386/misc.S (grub_stop): New function.
29147
41da9665 291482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29151 * kern/i386/realmode.S (real_to_prot): ... to here.
29152
bf337234 291532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29154
29155 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29156 with `kernel.img'.
29157 (kernel_elf_SOURCES): Rename to ...
29158 (kernel_img_SOURCES): ... this.
29159 (kernel_elf_HEADERS): Rename to ...
29160 (kernel_img_HEADERS): ... this. Update all users.
29161 (kernel_elf_ASFLAGS): Rename to ...
29162 (kernel_img_ASFLAGS): ... this.
29163 (kernel_elf_CFLAGS): Rename to ...
29164 (kernel_img_CFLAGS): ... this.
29165 (kernel_elf_LDFLAGS): Rename to ...
29166 (kernel_img_LDFLAGS): ... this.
29167 * conf/i386-coreboot.rmk: Likewise.
29168 * conf/powerpc-ieee1275.rmk: Likewise.
29169
29170 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29171 with "kernel.img".
29172
f52196ff 291732009-06-21 Pavel Roskin <proski@gnu.org>
29174
c3cee413 29175 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29176 to match nested functions.
29177 * loader/sparc64/ieee1275/linux.c: Likewise.
29178
f52196ff 29179 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29180
58750afc 291812009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29182
29183 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29184 all i386 platforms.
29185
15355c7d 291862009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29187
29188 Fix asm file handling on ELF, and remove workarounds.
29189
29190 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29191 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29192 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29193 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29194
3f3ec72b 291952009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29196
29197 Load BSD ELF modules
29198
29199 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29200 and loader/i386/bsd64.c
29201 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29202 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29203 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29204 (grub_freebsd_load_elfmodule32): New declaration
29205 (grub_freebsd_load_elfmoduleobj64): Likewise
29206 (grub_freebsd_load_elf_meta32): Likewise
29207 (grub_freebsd_load_elf_meta64): Likewise
29208 (grub_freebsd_add_meta): Likewise
29209 (grub_freebsd_add_meta_module): Likewise
29210 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29211 (grub_freebsd_add_meta_module): Likewise and move module-specific
29212 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29213 (grub_cmd_freebsd): Add elf-kernel specific parts
29214 based on grub_freebsd_add_meta_module
29215 (grub_cmd_freebsd_module): Add type parsing moved from
29216 grub_freebsd_add_meta_module
29217 (grub_cmd_freebsd_module_elf): New function
29218 (cmd_freebsd_module_elf): New variable
29219 (GRUB_MOD_INIT): Register freebsd_module_elf
29220 * loader/i386/bsd32.c: New file
29221 * loader/i386/bsd64.c: Likewise
29222 * loader/i386/bsdXX.c: Likewise
29223 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29224 (grub_elf64_load): Likewise
29225 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29226 All users updated
29227 (grub_elf64_load_hook_t): Likewise
29228
0db15301 292292009-06-21 Colin Watson <cjwatson@ubuntu.com>
29230
29231 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29232 variable.
29233 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29234 don't write a menu entry for recovery mode.
29235
546796c1 292362009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29237
29238 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29239 after it's no longer needed.
29240
cd7310d5 292412009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29242
29243 * include/grub/i386/loader.h (grub_linux_prot_size)
29244 (grub_linux_tmp_addr, grub_linux_real_addr)
29245 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29246 GRUB_MACHINE_PCBIOS.
29247 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29248 common grub_util_info() call to ...
29249 (generate_image): ... here.
29250 Fix use of uninitialized memory, comparison of signed with
29251 unsigned integers and memory leak.
29252 Remove bogus module address message.
29253
ab32d3b5 292542009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29257 grub_raid_register
29258 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29259
024ef597 292602009-06-19 Pavel Roskin <proski@gnu.org>
29261
29262 * configure.ac: Remove stray AC_MSG_CHECKING.
29263
3ac72b51 292642009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29267
e14cd814 292682009-06-18 Pavel Roskin <proski@gnu.org>
29269
29270 * conf/common.rmk: Add fs_file.mod.
29271 * disk/fs_file.c: New file.
29272 * include/grub/disk.h (enum grub_disk_dev_id): Add
29273 GRUB_DISK_DEVICE_FILE_ID.
29274
26586d98 292752009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29276
29277 Fix build with Apple's toolchain. Part 2
29278
29279 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29280 a fake start
29281
26de2bcd 292822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29283
29284 Fix build with Apple's toolchain. Part 1
29285
29286 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29287 for long calls
29288 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29289 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29290 Apple's toolchain
29291
09b3490b 292922009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29293
29294 Fix warnings
29295
29296 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29297 (decomp_block): initialize ch
29298 use grub_memcpy instead of memcpy
29299
c22a006a 293002009-06-17 Pavel Roskin <proski@gnu.org>
29301
d3638678 29302 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29303 version, use declarations needed to use vga_text as the startup
29304 console.
29305
c22a006a 29306 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29307 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29308 the kernel.
29309 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29310 and grub_at_keyboard_fini(), it's done on module load and
29311 unload.
29312
05b129e0 293132009-06-17 Felix Zielcke <fzielcke@z-51.de>
29314
29315 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29316 file can't be found.
29317 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29318
cf24ed9e 293192009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29320
29321 Fix newline handling
29322
29323 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29324 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29325 (grub_script_yylex): don't segfault on unterminated script
29326 newline terminates command and variable
29327
74aa8e4b 293282009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29329
29330 avoid double grub_adjust_range call. Bug reported by David Simner
29331
29332 * kern/disk.c (grub_disk_write): change to raw disk access before
29333 calling disk_read
29334
1bd265f3 293352009-06-17 Colin Watson <cjwatson@ubuntu.com>
29336
29337 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29338 spaces, for the benefit of help2man.
29339 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29340
a2d08c06 293412009-06-16 Pavel Roskin <proski@gnu.org>
29342
29343 * kern/i386/halt.c: Include grub/machine/init.h.
29344 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29345
b97bcb19 293462009-06-16 Felix Zielcke <fzielcke@z-51.de>
29347
29348 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29349 drivemap menuentry.
29350
0644f96c 293512009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29352
29353 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29354 `echo' command.
29355
3ef17a2e 293562009-06-16 Pavel Roskin <proski@gnu.org>
29357
29358 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29359 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29360 save %dx, we only need %dl and we never change it.
29361 * boot/i386/pc/cdboot.S: Don't set the root drive.
29362 * boot/i386/pc/pxeboot.S: Likewise.
29363 * include/grub/i386/pc/boot.h: Remove
29364 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29365 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29366 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29367 * kern/i386/pc/init.c (make_install_device): Remove references
29368 to grub_root_drive.
29369 * kern/i386/pc/startup.S: Likewise.
29370 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29371
693fe637 293722009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 xnu_uuid command
29375
29376 * commands/xnu_uuid.c: new file
29377 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29378 (xnu_uuid_mod_SOURCES): new variable
29379 (xnu_uuid_mod_CFLAGS): likewise
29380 (xnu_uuid_mod_LDFLAGS): likewise
29381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29382 * conf/i386-ieee1275.rmk: likewise
29383 * conf/i386-pc.rmk: likewise
29384 * conf/powerpc-ieee1275.rmk: likewise
29385 * conf/sparc64-ieee1275.rmk: likewise
29386 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29387
c9da87d0 293882009-06-16 Pavel Roskin <proski@gnu.org>
29389
29390 * configure.ac: Avoid '==' in test command, it's not portable.
29391
9c6f4596 293922009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29393
29394 Probe command
29395
29396 * commands/probe.c: new file
29397 * conf/common.rmk (pkglib_MODULES): add probe.mod
29398 (probe_mod_SOURCES): new variable
29399 (probe_mod_CFLAGS): likewise
29400 (probe_mod_LDFLAGS): likewise
29401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29402 * conf/i386-ieee1275.rmk: likewise
29403 * conf/i386-pc.rmk: likewise
29404 * conf/powerpc-ieee1275.rmk: likewise
29405 * conf/sparc64-ieee1275.rmk: likewise
29406
70b7f9fd 294072009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29408
29409 Fix handling of string like \"hello\" and "a
29410 b"
29411
29412 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29413 (grub_script_yylex): fix parsing of quoting, escaping and newline
29414
71c79a6b 294152009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29416
dd74360c 29417 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29418 handling
dd74360c 29419
0644f96c 294202009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29421
29422 * util/grub-mkconfig.in: Fix parsing of --output option.
29423
e40893c3 294242009-06-12 Pavel Roskin <proski@gnu.org>
29425
29426 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29427 genmk.rb don't need to be generated or installed.
29428
3a1acfe2 294292009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29430
29431 * commands/i386/pc/drivemap_int13h.S: add more comments
29432
3a4575d4 294332009-06-11 Pavel Roskin <proski@gnu.org>
29434
0658e928 29435 * Makefile.in (uninstall): Uninstall manuals.
29436
ca0388f0 29437 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29438 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29439 and update-grub_lib in two places.
29440 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29441
e3b27c39 29442 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29443 a compiler warning.
29444
3a4575d4 29445 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29446 `entry_lo' to fix variable shadowing.
29447
af1f4f55 294482009-06-11 Christian Franke <franke@computer.org>
29449
29450 * kern/misc.c (__enable_execute_stack): Add missing return type
29451 to prevent gcc warning.
29452
5225e649 294532009-06-11 Felix Zielcke <fzielcke@z-51.de>
29454
29455 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29456
7d83bd47 294572009-06-11 Pavel Roskin <proski@gnu.org>
29458
c1cb63ba 29459 * Makefile.in: Don't rely on any scripts being executable.
29460 Always use $(SHELL) to run shell scripts.
29461
7d83bd47 29462 * configure.ac: Always define ___main if using -nostdlib. This
29463 fixes tests on Cygwin.
29464
948f48e7 294652009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29466
29467 UDF fix
29468
7d83bd47 29469 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29470 is in bytes and not in blocks
7d83bd47 29471
8ada9bc1 294722009-06-11 Pavel Roskin <proski@gnu.org>
29473
29474 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29475 warning.
29476
25ad2323 294772009-06-11 Felix Zielcke <fzielcke@z-51.de>
29478
29479 * util/grub.d/30_os-prober.in: Fix a comment. Source
29480 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29481 to set the root device. Place drivemap command in the generated
29482 chain entry.
29483
e65acb0c 294842009-06-11 Pavel Roskin <proski@gnu.org>
29485
29486 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29487 have long been resolved.
29488
f285fe2d 294892009-06-11 Colin Watson <cjwatson@ubuntu.com>
29490
bd47b0b5 29491 * util/grub.d/10_linux.in: Capitalise "Linux".
29492
f285fe2d 29493 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29494
a0c62e4e 294952009-06-11 Pavel Roskin <proski@gnu.org>
29496
b6783cb2 29497 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29498 fix a gcc warning and ensure that the function won't ever exit.
29499
dde032e8 29500 * kern/i386/ieee1275/init.c: Add missing prototype for
29501 grub_stop_floppy().
29502
22cd079d 29503 * loader/ieee1275/multiboot2.c [__i386__]: Include
29504 grub/cpu/multiboot.h.
29505
a0c62e4e 29506 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29507 casts to short - they are not portable and cause warnings. Fix
29508 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29509
63963d17 295102009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29511
29512 Drivemap fixes
29513
29514 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29515 new function
29516 (grub_get_root_biosnumber_saved): new variable
29517 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29518 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29519 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29520 %dx after the call if necessary
29521 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29522 (boot_mod_SOURCES): remove
29523 (boot_mod_CFLAGS): remove
29524 (boot_mod_LDFLAGS): remove
29525 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29526 (boot_mod_SOURCES): new variable
29527 (boot_mod_CFLAGS): likewise
29528 (boot_mod_LDFLAGS): likewise
29529 * conf/i386-efi.rmk: likewise
29530 * conf/i386-ieee1275.rmk: likewise
29531 * conf/i386-pc.rmk: likewise
29532 * conf/powerpc-ieee1275.rmk: likewise
29533 * conf/sparc64-ieee1275.rmk: likewise
29534 * conf/x86_64-efi.rmk: likewise
29535 * include/grub/i386/pc/biosnum.h: new file
29536 * lib/i386/pc/biosnum.c: likewise
29537 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29538 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29539 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29540
33abf7ae 295412009-06-10 Pavel Roskin <proski@gnu.org>
29542
5ac35b35 29543 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29544 Use separate variables. Read only the file size at the end, but
29545 not the checksum that we don't use.
29546
5c5215d5 29547 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29548 Adjust all callers.
29549
27d5fef7 29550 * kern/ieee1275/openfw.c: Remove libc includes.
29551 * kern/ieee1275/cmain.c: Likewise.
29552 * include/grub/ieee1275/ieee1275.h: Likewise.
29553
33abf7ae 29554 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29555 compiler warnings.
29556
19d50c2b 295572009-06-10 Felix Zielcke <fzielcke@z-51.de>
29558
29559 * Makefile.in: Remove all trailing whitespace.
29560 * conf/i386-pc.rmk: Likewise.
29561 * conf/powerpc-ieee1275.rmk: Likewise.
29562 * conf/sparc64-ieee1275.rmk: Likewise.
29563 * docs/grub.texi: Likewise.
29564 * docs/texinfo.tex: Likewise.
29565 * disk/fs_uuid.c: Likewise.
29566 * disk/lvm.c: Likewise.
29567 * disk/scsi.c: Likewise.
29568 * disk/ata.c: Likewise.
29569 * disk/ieee1275/ofdisk.c: Likewise.
29570 * disk/i386/pc/biosdisk.c: Likewise.
29571 * disk/host.c: Likewise.
29572 * disk/raid.c: Likewise.
29573 * disk/efi/efidisk.c: Likewise.
29574 * disk/usbms.c: Likewise.
29575 * disk/memdisk.c: Likewise.
29576 * disk/loopback.c: Likewise.
29577 * kern/powerpc/dl.c: Likewise.
29578 * kern/device.c: Likewise.
29579 * kern/dl.c: Likewise.
29580 * kern/sparc64/dl.c: Likewise.
29581 * kern/ieee1275/ieee1275.c: Likewise.
29582 * kern/term.c: Likewise.
29583 * kern/fs.c: Likewise.
29584 * kern/i386/dl.c: Likewise.
29585 * kern/i386/pc/startup.S: Likewise.
29586 * kern/i386/pc/init.c: Likewise.
29587 * kern/i386/pc/mmap.c: Likewise.
29588 * kern/i386/pc/lzo1x.S: Likewise.
29589 * kern/i386/ieee1275/init.c: Likewise.
29590 * kern/i386/realmode.S: Likewise.
29591 * kern/i386/tsc.c: Likewise.
29592 * kern/partition.c: Likewise.
29593 * kern/corecmd.c: Likewise.
29594 * kern/file.c: Likewise.
29595 * kern/efi/efi.c: Likewise.
29596 * kern/efi/init.c: Likewise.
29597 * kern/efi/mm.c: Likewise.
29598 * kern/main.c: Likewise.
29599 * kern/err.c: Likewise.
29600 * kern/env.c: Likewise.
29601 * kern/disk.c: Likewise.
29602 * kern/generic/millisleep.c: Likewise.
29603 * kern/generic/rtc_get_time_ms.c: Likewise.
29604 * kern/misc.c: Likewise.
29605 * kern/parser.c: Likewise.
29606 * genmk.rb: Likewise.
29607 * configure.ac: Likewise.
29608 * boot/i386/pc/diskboot.S: Likewise.
29609 * boot/i386/pc/pxeboot.S: Likewise.
29610 * boot/i386/pc/boot.S: Likewise.
29611 * boot/i386/pc/lnxboot.S: Likewise.
29612 * boot/i386/pc/cdboot.S: Likewise.
29613 * parttool/pcpart.c: Likewise.
29614 * video/readers/tga.c: Likewise.
29615 * video/video.c: Likewise.
29616 * video/bitmap.c: Likewise.
29617 * lib/envblk.c: Likewise.
29618 * lib/i386/setjmp.S: Likewise.
29619 * fs/xfs.c: Likewise.
29620 * fs/afs.c: Likewise.
29621 * fs/fat.c: Likewise.
29622 * fs/ntfs.c: Likewise.
29623 * fs/udf.c: Likewise.
29624 * fs/affs.c: Likewise.
29625 * fs/iso9660.c: Likewise.
29626 * fs/hfs.c: Likewise.
29627 * fs/fshelp.c: Likewise.
29628 * fs/ext2.c: Likewise.
29629 * fs/jfs.c: Likewise.
29630 * fs/reiserfs.c: Likewise.
29631 * fs/hfsplus.c: Likewise.
29632 * fs/minix.c: Likewise.
29633 * fs/cpio.c: Likewise.
29634 * fs/sfs.c: Likewise.
29635 * fs/ufs.c: Likewise.
29636 * efiemu/prepare.c: Likewise.
29637 * efiemu/loadcore_common.c: Likewise.
29638 * efiemu/runtime/efiemu.sh: Likewise.
29639 * efiemu/runtime/efiemu.S: Likewise.
29640 * efiemu/runtime/efiemu.c: Likewise.
29641 * efiemu/pnvram.c: Likewise.
29642 * efiemu/main.c: Likewise.
29643 * efiemu/i386/pc/cfgtables.c: Likewise.
29644 * efiemu/i386/loadcore64.c: Likewise.
29645 * efiemu/i386/loadcore32.c: Likewise.
29646 * efiemu/loadcore.c: Likewise.
29647 * efiemu/symbols.c: Likewise.
29648 * efiemu/mm.c: Likewise.
29649 * include/grub/autoefi.h: Likewise.
29650 * include/grub/datetime.h: Likewise.
29651 * include/grub/term.h: Likewise.
29652 * include/grub/hfs.h: Likewise.
29653 * include/grub/lvm.h: Likewise.
29654 * include/grub/i386/tsc.h: Likewise.
29655 * include/grub/i386/linux.h: Likewise.
29656 * include/grub/i386/xnu.h: Likewise.
29657 * include/grub/i386/efiemu.h: Likewise.
29658 * include/grub/i386/pc/biosdisk.h: Likewise.
29659 * include/grub/i386/pc/memory.h: Likewise.
29660 * include/grub/i386/pc/vbe.h: Likewise.
29661 * include/grub/parttool.h: Likewise.
29662 * include/grub/video.h: Likewise.
29663 * include/grub/memory.h: Likewise.
29664 * include/grub/fs.h: Likewise.
29665 * include/grub/partition.h: Likewise.
29666 * include/grub/xnu.h: Likewise.
29667 * include/grub/efi/api.h: Likewise.
29668 * include/grub/efi/pe32.h: Likewise.
29669 * include/grub/efi/memory.h: Likewise.
29670 * include/grub/multiboot.h: Likewise.
29671 * include/grub/usbdesc.h: Likewise.
29672 * include/grub/multiboot2.h: Likewise.
29673 * include/grub/acpi.h: Likewise.
29674 * include/grub/efiemu/efiemu.h: Likewise.
29675 * include/grub/disk.h: Likewise.
29676 * include/grub/ieee1275/ieee1275.h: Likewise.
29677 * include/grub/net.h: Likewise.
29678 * include/grub/machoload.h: Likewise.
29679 * include/grub/macho.h: Likewise.
29680 * include/multiboot.h: Likewise.
29681 * genmoddep.awk: Likewise.
29682 * normal/main.c: Likewise.
29683 * normal/menu_entry.c: Likewise.
29684 * normal/menu_viewer.c: Likewise.
29685 * normal/completion.c: Likewise.
29686 * normal/cmdline.c: Likewise.
29687 * normal/misc.c: Likewise.
29688 * normal/datetime.c: Likewise.
29689 * bus/usb/usbtrans.c: Likewise.
29690 * bus/usb/ohci.c: Likewise.
29691 * bus/usb/uhci.c: Likewise.
29692 * bus/usb/usb.c: Likewise.
29693 * mmap/efi/mmap.c: Likewise.
29694 * mmap/i386/pc/mmap_helper.S: Likewise.
29695 * mmap/i386/pc/mmap.c: Likewise.
29696 * mmap/i386/mmap.c: Likewise.
29697 * mmap/i386/uppermem.c: Likewise.
29698 * mmap/mmap.c: Likewise.
29699 * commands/acpi.c: Likewise.
29700 * commands/echo.c: Likewise.
29701 * commands/blocklist.c: Likewise.
29702 * commands/loadenv.c: Likewise.
29703 * commands/usbtest.c: Likewise.
29704 * commands/boot.c: Likewise.
29705 * commands/parttool.c: Likewise.
29706 * commands/search.c: Likewise.
29707 * commands/cat.c: Likewise.
29708 * commands/i386/pc/play.c: Likewise.
29709 * commands/i386/pc/drivemap.c: Likewise.
29710 * commands/i386/pc/vbeinfo.c: Likewise.
29711 * commands/i386/pc/acpi.c: Likewise.
29712 * commands/i386/pc/vbetest.c: Likewise.
29713 * commands/ls.c: Likewise.
29714 * commands/cmp.c: Likewise.
29715 * commands/test.c: Likewise.
29716 * commands/efi/acpi.c: Likewise.
29717 * commands/gptsync.c: Likewise.
29718 * commands/help.c: Likewise.
29719 * partmap/amiga.c: Likewise.
29720 * partmap/apple.c: Likewise.
29721 * partmap/acorn.c: Likewise.
29722 * partmap/pc.c: Likewise.
29723 * partmap/sun.c: Likewise.
29724 * partmap/gpt.c: Likewise.
29725 * script/sh/lexer.c: Likewise.
29726 * script/sh/function.c: Likewise.
29727 * font/font.c: Likewise.
29728 * font/font_cmd.c: Likewise.
29729 * loader/powerpc/ieee1275/linux.c: Likewise.
29730 * loader/efi/chainloader.c: Likewise.
29731 * loader/multiboot_loader.c: Likewise.
29732 * loader/macho.c: Likewise.
29733 * loader/i386/multiboot.c: Likewise.
29734 * loader/i386/linux.c: Likewise.
29735 * loader/i386/pc/linux.c: Likewise.
29736 * loader/i386/pc/multiboot2.c: Likewise.
29737 * loader/i386/pc/chainloader.c: Likewise.
29738 * loader/i386/pc/xnu.c: Likewise.
29739 * loader/i386/bsd_trampoline.S: Likewise.
29740 * loader/i386/efi/linux.c: Likewise.
29741 * loader/i386/multiboot_elfxx.c: Likewise.
29742 * loader/i386/bsd_helper.S: Likewise.
29743 * loader/i386/bsd.c: Likewise.
29744 * loader/i386/linux_trampoline.S: Likewise.
29745 * loader/i386/xnu_helper.S: Likewise.
29746 * loader/i386/xnu.c: Likewise.
29747 * loader/i386/bsd_pagetable.c: Likewise.
29748 * loader/i386/multiboot_helper.S: Likewise.
29749 * loader/xnu.c: Likewise.
29750 * loader/xnu_resume.c: Likewise.
29751 * io/gzio.c: Likewise.
29752 * term/efi/console.c: Likewise.
29753 * term/terminfo.c: Likewise.
29754 * term/ieee1275/ofconsole.c: Likewise.
29755 * term/i386/pc/serial.c: Likewise.
29756 * term/i386/pc/vesafb.c: Likewise.
29757 * term/i386/pc/vga.c: Likewise.
29758 * term/usb_keyboard.c: Likewise.
29759 * term/gfxterm.c: Likewise.
29760 * aclocal.m4: Likewise.
29761 * util/lvm.c: Likewise.
29762 * util/grub.d/30_os-prober.in: Likewise.
29763 * util/grub.d/10_hurd.in: Likewise.
29764 * util/console.c: Likewise.
29765 * util/grub-macho2img.c: Likewise.
29766 * util/grub-probe.c: Likewise.
29767 * util/hostfs.c: Likewise.
29768 * util/i386/pc/grub-mkimage.c: Likewise.
29769 * util/i386/pc/grub-setup.c: Likewise.
29770 * util/i386/efi/grub-mkimage.c: Likewise.
29771 * util/grub-mkconfig.in: Likewise.
29772 * util/raid.c: Likewise.
29773 * util/resolve.c: Likewise.
29774 * util/grub-mkdevicemap.c: Likewise.
29775 * util/grub-emu.c: Likewise.
29776 * util/getroot.c: Likewise.
29777 * util/hostdisk.c: Likewise.
29778 * util/usb.c: Likewise.
29779 * util/grub-editenv.c: Likewise.
29780 * util/misc.c: Likewise.
29781
d2d49665 297822009-06-10 Felix Zielcke <fzielcke@z-51.de>
29783
29784 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29785 `genparttoollist.sh'.
29786 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29787 Add `*.sh' to the list find searches for and change `mdate.sh'
29788 to `mdate-sh'.
29789
fe052e37 297902009-06-10 Pavel Roskin <proski@gnu.org>
29791
2763ac18 29792 * include/grub/multiboot2.h: Provide compatibility defines for
29793 multiboot2.h.
29794 * include/multiboot2.h: Include stdint.h only if needed, using
29795 angle brackets.
29796 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29797 grub/multiboot2.h.
29798 * loader/ieee1275/multiboot2.c: Likewise.
29799 * loader/multiboot2.c: Likewise.
29800 * loader/multiboot_loader.c: Likewise.
29801
437e6adc 29802 * configure.ac: Use -nostdlib when probing for the target. It
29803 should not be required to have libc for the target.
29804
06a6836c 29805 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29806 they fail without libc headers for the target.
29807 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29808 exports.
29809 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29810 preprocessor conditionals.
29811
fe052e37 29812 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29813 build system doesn't need to be aware of the tar.c internals.
29814
afd22553 298152009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29816
afd22553 29817 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29818
6b787c4f 298192009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29820
29821 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29822 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29823
298242009-06-09 Felix Zielcke <fzielcke@z-51.de>
29825
29826 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29827 aren't available if ata.mod gets used.
6b787c4f 29828
473d1e45 298292009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29830
473d1e45 29831 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29832 initialising controller.
473d1e45 29833 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29834
255a27d4 298352009-06-08 Felix Zielcke <fzielcke@z-51.de>
29836
29837 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29838 to choose between ata and biosdisk module on i386-pc.
29839
473d1e45 298402009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29841
d55842d8 29842 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29843 Subclass and Programming Interface fields in terms of the 3 byte
29844 Class Code register.
29845 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29846
fa5db0b1 29847 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29848 interface is OHCI. Add grub_dprintf for symmetry with
29849 bus/usb/uhci.c.
29850 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29851 interface is UHCI. Add interf variable for programming
29852 interface. Print interface with class/subclass.
29853
c0947beb 29854 * bus/usb/ohci.c: Set interf with correct field.
29855
69da8877 29856 * bus/usb/uhci.c: Remove unneeded doubled lines.
29857 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29858 Remove whitespace inside comment.
29859
9e172e30 298602009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29861
29862 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29863 as fallback an equivalent option without depth.
29864
de65ee2b 298652009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29866
29867 Not fail if unable to retrieve C/H/S on LBA disks
29868
473d1e45 29869 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29870 if unable to retrieve C/H/S on LBA disks
29871
b57ea2c9 298722009-06-08 Pavel Roskin <proski@gnu.org>
29873
29874 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29875 about aliasing.
29876
af361263 298772009-06-08 Felix Zielcke <fzielcke@z-51.de>
29878
29879 * Makefile.in (uninstall): Remove all $lib_DATA files.
29880
4c9ec6b3 298812009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29882
29883 Bugfix: install on partitionless device
29884
29885 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29886 is a whole disk
29887
e76fc924 298882009-06-08 Felix Zielcke <fzielcke@z-51.de>
29889
29890 * Makefile.in (uninstall): Remove all $include_DATA files.
29891
ba5a0d05 298922009-06-08 Felix Zielcke <fzielcke@z-51.de>
29893
29894 * commands/true.c: New file. Implement the true and false commands.
29895 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29896 (true_mod_SOURCES): New variable.
29897 (true_mod_CFLAGS): Likewise.
29898 (true_mod_LDFLAGS): Likewise.
29899
c8048e32 299002009-06-05 Colin D Bennett <colin@gibibit.com>
29901
29902 Optimized font character lookup using binary search instead of linear
29903 search. Fonts now are required to have the character index ordered by
29904 code point.
29905
29906 * font/font.c (load_font_index): Verify that fonts have ordered
29907 character indices.
29908 (find_glyph): Use binary search instead of linear search to find a
29909 character in a font.
29910
408305be 299112009-06-05 Michael Scherer <misc@mandriva.org>
29912
29913 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29914 uses case sensitive btree.
29915 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29916 only for case insensitive filesystems.
29917
8ee1e0d9 299182009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29921 * conf/common.rmk (search_mod_CFLAGS): likewise
29922
a9966eb1 299232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29924
473d1e45 29925 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29926 compensate a compiler bug
29927
9e7100fb 299282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29929
473d1e45 29930 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29931 instead of '\b'
473d1e45 29932
ede21d71 299332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29934
29935 Definitions for creating asm symbols with Apple's CC
29936
29937 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29938 [APPLE_CC] (VARIABLE): likewise
29939
9dbf7653 299402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 Disable lnxboot.img when compiled
29943 with Apple's CC
29944
29945 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29946 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29947 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29948 [! APPLE_CC] (CODE_LENG): skip
29949 [! APPLE_CC] (setup_sects): likewise
29950 [! APPLE_CC]: skip filling
473d1e45 29951
e93cdc3d 299522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29953
29954 Address in trampolines based on 32-bit registers when compiled
29955 with Apple's CC
29956
473d1e45 29957 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29958 for addresses
29959 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29960
6c688477 299612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29962
29963 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29964
29965 * kern/misc.c [APPLE_CC] (memcpy): new function
29966 [APPLE_CC] (memmove): likewise
29967 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29968 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29969 (memset): likewise
29970 (abort): likewise
29971 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29972 APPLE_CC are defined
29973 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29974 (grub_assert_fail): make prototype conditional
29975
e37ffc5c 299762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29977
29978 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29979
473d1e45 29980 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29981 grub-macho2img
e37ffc5c 29982 (CLEANFILES): add grub-macho2img
29983 (grub_macho2img_SOURCES): new variable
29984 * kern/i386/pc/startup.S (bss_start): new variable
29985 (bss_end): likewise
29986 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29987 * util/grub-macho2img.c: new file
29988
cf00df31 299892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29990
29991 Use objconv when compiling with Apple's CC
29992
29993 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29994 (efiemu64.o): likewise
29995 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29996 when compiling with Apple's CC
29997 (efiemu64_s.o): likewise
29998 * configure.ac: check for objconv when compiling with Apple's CC
29999 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 30000
d119a20c 300012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30002
30003 Define segment as well as section when compiling with
30004 Apple's CC
30005
30006 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30007 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30008 (efiemu_convert_pointer): likewise
30009 (efiemu_set_virtual_address_map): likewise
30010 (efiemu_convert_pointer): likewise
30011 (efiemu_getcrc32): likewise
30012 (init_crc32_table): likewise
30013 (reflect): likewise
30014 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30015 (GRUB_MOD_DEP): likewise
473d1e45 30016
c8600122 300172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30018
30019 Allow a compilation without -mcmodel=large
30020
30021 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30022 when compiled without -mcmodel=large
473d1e45 30023 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 30024 without -mcmodel=large
473d1e45 30025 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 30026 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 30027
e8df1d4e 300282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30029
30030 Remove nested functions in efiemu core
30031
30032 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 30033
cc6c3ac1 300342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30035
30036 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30037
30038 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30039 temporary storage
473d1e45 30040 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30041 using Apple's CC
cc6c3ac1 30042 (grub_cpu_is_tsc_supported): likewise
30043 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 30044
3e325901 300452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 Absolute addressing through constant with Apple's cc
30048
30049 * kern/i386/pc/startup.S: Define necessary constants
30050 and address through it when using ABS with Apple's CC
30051 * boot/i386/pc/diskboot.S: likewise
30052 * boot/i386/pc/boot.S: likewise
30053 * boot/i386/pc/lnxboot.S: likewise
30054 * boot/i386/pc/cdboot.S: likewise
30055 * mmap/i386/pc/mmap_helper.S: likewise
30056 * commands/i386/pc/drivemap_int13h.S: likewise
30057
2b167a72 300582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30059
30060 Check if compiler is apple cc
30061
30062 * Makefile.in (ASFLAGS): new variable
30063 (TARGET_ASFLAGS): likewise
30064 (TARGET_MODULE_FORMAT): likewise
30065 (TARGET_APPLE_CC): likewise
30066 (OBJCONV): likewise
30067 (TARGET_IMG_CFLAGS): likewise
30068 (TARGET_CPPFLAGS): add includedir
30069 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30070 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30071 Check for linker script only if compiler isn't Apple's CC
30072 (TARGET_MODULE_FORMAT): set
30073 (TARGET_APPLE_CC): likewise
30074 (TARGET_ASFLAGS): likewise
30075 (ASFLAGS): likewise
30076 Check for objcopy only if compiler isn't Apple's CC
30077 Check for BSS symbol only if compiler isn't Apple's CC
30078 * genmk.rb: adapt nm options if we use Apple's utils
30079 * aclocal.m4 (grub_apple_cc): new test
30080 (grub_apple_target_cc): likewise
473d1e45 30081
fb14123e 300822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30083
30084 Simplify sed expressions and improve awk
30085
30086 * Makefile.in (install-local): simplify sed expression
30087 * gencmdlist.sh: likewise
30088 * genmoddep.awk: avoid adding module as a dependency of itself
30089
5b889789 300902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 Add missing start symbols
30093
30094 * boot/i386/pc/boot.S: add start
fb14123e 30095 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30096
fd2bf2e3 300972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30098
30099 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30100
30101 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30102 (relocate_addresses): consider both r_addend and value at offset
30103 (make_mods_section): zerofill modinfo and header
30104 (convert_elf): write prefix here
473d1e45 30105
5389763d 301062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30107
30108 Use .asciz instead of .string
30109
30110 * i386/pc/diskboot.S: use .asciz instead of .string
30111 * i386/pc/boot.S: likewise
30112 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30113 (GRUB_MOD_NAME): likewise
473d1e45 30114
3eb5ed4e 301152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30116
30117 gfxpayload support
30118
30119 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30120 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30121 (grub_video_setup): remove
30122 (grub_video_set_mode): new prototype
30123 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30124 (vid_mode): remove
30125 (linux_vesafb_res): compile only on PCBIOS
30126 (grub_linux_boot): support gfxpayload
30127 * loader/i386/pc/xnu.c (video_hook): new function
30128 (grub_xnu_set_video): support gfxpayload
30129 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30130 (DEFAULT_VIDEO_HEIGHT): likewise
30131 (DEFAULT_VIDEO_FLAGS): likewise
30132 (DEFAULT_VIDEO_MODE): new definition
30133 (video_hook): new function
30134 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30135 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30136 loading xnu
30137 * video/video.c (grub_video_setup): removed
473d1e45 30138 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30139 grub_video_setup
30140
4b0e1143 301412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30142
30143 Avoid calling biosdisk in drivemap
30144
30145 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30146 (revparse_biosdisk): likewise
30147 (list_mappings): derive name from id directly
30148 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30149
fda6cb98 301502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 Script fixes
30153
30154 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30155 (grub_lexer_param): add tokenonhold
30156 (grub_script_create_cmdline): remove cmdline. All callers updated
30157 (grub_script_function_create): make functionname
30158 grub_script_arg. All callers updated
30159 (grub_script_execute_argument_to_string): new prototype
30160 * kern/parser.c (state_transitions): reorder
30161 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30162 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30163 make global
30164 (grub_script_execute_cmdline): use new format
30165 * script/sh/function.c (grub_script_function_create): make functionname
30166 grub_script_arg. All callers updated
473d1e45 30167 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30168 (grub_script_yylex): remove
30169 (grub_script_yylex2): renamed to ...
30170 (grub_script_yylex): ...renamed
30171 parse the expressions like a${b}c
30172 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30173 (GRUB_PARSER_TOKEN_VAR): remove
30174 (GRUB_PARSER_TOKEN_NAME): likewise
30175 ("if"): declare as typeless
30176 ("while"): likewise
30177 ("function"): likewise
30178 ("else"): likewise
30179 ("then"): likewise
30180 ("fi"): likewise
30181 (text): remove
30182 (argument): likewise
30183 (script): accept empty scripts and make exit on error
30184 (arguments): use GRUB_PARSER_TOKEN_ARG
30185 (function): likewise
30186 (command): move error handling to script
30187 (menuentry): move grub_script_lexer_ref before
473d1e45 30188 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30189 argument. All callers updated
30190
f4448a07 301912009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30192
30193 Prevent GRUB from probing floppies during boot.
30194
30195 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30196 * commands/search.c (options): Add --no-floppy.
30197 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30198 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30199 --no-floppy when searching for UUIDs.
30200
2bf5885a 302012009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30202
30203 Simplify the code duplication in commands/search.c.
30204
30205 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30206 (search_fs): ... this. Update all users.
30207
f6fd460a 302082009-06-03 Felix Zielcke <fzielcke@z-51.de>
30209
30210 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30211
cbb3c83e 302122009-05-28 Pavel Roskin <proski@gnu.org>
30213
57788cfd 30214 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30215 Remove the original symlink explicitly.
30216
cbb3c83e 30217 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30218 just one slash. That's how grub_fshelp_find_file() does it.
30219
cd0d5e30 302202009-05-26 Pavel Roskin <proski@gnu.org>
30221
f0f8bbe2 30222 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30223 to `str'.
30224
cd0d5e30 30225 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30226 possibly unused.
30227
8c2cab51 302282009-05-25 Christian Franke <franke@computer.org>
30229
30230 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30231 register.
30232 (grub_atapi_identify): Add wait after drive select.
30233 (grub_ata_identify): Do more strict status register check before
30234 calling grub_atapi_identify (). Suppress error message if status
30235 register is 0x00 after command failure. Add status register
30236 check after PIO read to avoid bogus identify due to stuck DRQ.
30237 Thanks to Pavel Roskin for testing.
30238 (grub_device_initialize): Remove unsafe status register check.
30239 Thanks to 'phcoder' for problem report and patch.
30240 Prevent sign extension in debug message.
30241
230c0ad6 302422009-05-23 Colin D Bennett <colin@gibibit.com>
30243
30244 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30245 definition file, and functions defined in `normal/menu.c' have had
30246 their prototypes moved to `include/grub/menu.h' for consistency.
30247
30248 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30249 from normal.h.
30250 (grub_menu_get_entry): Likewise.
30251 (grub_menu_get_timeout): Likewise.
30252 (grub_menu_set_timeout): Likewise.
30253 (grub_menu_execute_entry): Likewise.
30254 (grub_menu_execute_with_fallback): Likewise.
30255 (grub_menu_entry_run): Likewise.
30256
30257 * include/grub/normal.h: Re-ordered and grouped function
30258 prototypes by file that the function is defined in.
30259 (grub_menu_execute_callback): Removed; moved to menu.h.
30260 (grub_menu_get_entry): Likewise.
30261 (grub_menu_get_timeout): Likewise.
30262 (grub_menu_set_timeout): Likewise.
30263 (grub_menu_execute_entry): Likewise.
30264 (grub_menu_execute_with_fallback): Likewise.
30265 (grub_menu_entry_run): Likewise.
30266 (grub_menu_addentry): Renamed from this ...
30267 (grub_normal_add_menu_entry): ... to this.
30268
30269 * normal/main.c (grub_menu_addentry): Renamed from this ...
30270 (grub_normal_add_menu_entry): ... to this.
30271
30272 * script/sh/execute.c (grub_script_execute_menuentry): Update
30273 reference to renamed grub_menu_addentry function.
30274
861f03a5 302752009-05-23 Felix Zielcke <fzielcke@z-51.de>
30276
30277 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30278
96b1619a 302792009-05-22 Pavel Roskin <proski@gnu.org>
30280
bf6a5fb2 30281 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30282 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30283 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30284 compiling for the i386 targets, but not for the utilities.
30285
96b1619a 30286 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30287 to grub_uint8_t.
30288 (grub_root_drive): Likewise.
30289 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30290 remove alignment.
30291 (grub_root_drive): Change size to byte.
30292 (grub_start_addr): Remove.
30293 (grub_end_addr): Likewise.
30294 (grub_apm_bios_info): Likewise.
30295
b729776b 302962009-05-21 Felix Zielcke <fzielcke@z-51.de>
30297
30298 * normal/i386: Remove.
30299 * normal/powerpc: Likewise.
30300 * normal/sparc64: Likewise.
30301 * normal/x86_64: Likewise.
30302
0a15ce80 303032009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30304
30305 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30306 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30307 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30308
33db9015 303092009-05-18 Colin D Bennett <colin@gibibit.com>
30310
d6da58e6 30311 Display error messages when parsing a Lua statement fails.
30312 Previously, executing a syntactically invalid statement like
30313 ")foo" or "bar;" would silently fail.
33db9015 30314
30315 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30316 (grub_lua_parse_line): Improved reporting of Lua parser and
30317 execution errors.
33db9015 30318
46422c89 303192009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 Remove -Werror which causes build to fail on some systems
30322
30323 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30324 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30325 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30326
22f53a96 303272009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30328
30329 trampoline for linux on 64-bit platform
30330
18f547ad 30331 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30332 loader/i386/efi/linux_trampoline.S
30333 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30334 declaration
d6da58e6 30335 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30336 here
22f53a96 30337 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30338 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30339 trampoline
22f53a96 30340 (jumpvector): removed
30341 (grub_linux_trampoline_start): new declaration
30342 (grub_linux_trampoline_end): likewise
30343 (grub_linux_boot): use trampoline when on 64-bit platform
30344 * loader/i386/linux.c: likewise
30345
cb5a0f40 303462009-05-16 Pavel Roskin <proski@gnu.org>
30347
30348 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30349 const to avoid a warning.
30350 (grub_lua_setenv): Likewise.
30351 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30352 lmsg to fix a warning.
30353
334f2c28 303542009-05-16 Felix Zielcke <fzielcke@z-51.de>
30355
30356 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30357 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30358 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30359 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30360 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30361 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30362 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30363 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30364
59e5d3ec 303652009-05-16 Felix Zielcke <fzielcke@z-51.de>
30366
30367 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30368
9d87a1ba 303692009-05-16 Bean <bean123ch@gmail.com>
30370
30371 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30372 (lua_mod_SOURCES): New variable.
30373 (lua_mod_CFLAGS): Likewise.
30374 (lua_mod_LDFLAGS): Likewise.
30375
30376 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30377 (setjmp_mod_SOURCES): New variable.
30378 (setjmp_mod_CFLAGS): Likewise.
30379 (setjmp_LDFLAGS): Likewise.
30380
30381 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30382 (setjmp_mod_SOURCES): New variable.
30383 (setjmp_mod_CFLAGS): Likewise.
30384 (setjmp_LDFLAGS): Likewise.
30385
30386 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30387 (setjmp_mod_SOURCES): New variable.
30388 (setjmp_mod_CFLAGS): Likewise.
30389 (setjmp_LDFLAGS): Likewise.
30390
30391 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30392 (setjmp_mod_SOURCES): New variable.
30393 (setjmp_mod_CFLAGS): Likewise.
30394 (setjmp_LDFLAGS): Likewise.
30395
30396 * normal/i386/setjmp.S: Moved from here ...
30397 * lib/i386/setjmp.S: ... Moved here
30398 * normal/x86_64/setjmp.S: Moved from here ...
30399 * lib/x86_64/setjmp.S: ... Moved here
30400 * normal/powerpc/setjmp.S: Moved from here ...
30401 * lib/powerpc/setjmp.S: ... Moved here
30402 * normal/sparc64/setjmp.S: Moved from here ...
30403 * lib/sparc64/setjmp.S: ... Moved here
30404
30405 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30406 returns_twice in mingw.
30407
30408 * script/lua/grub_lib.c: New file.
30409 * script/lua/grub_lib.h: Likewise.
30410 * script/lua/grub_lua.h: Likewise.
30411 * script/lua/grub_main.c: Likewise.
30412 * script/lua/lapi.c: Likewise.
30413 * script/lua/lapi.h: Likewise.
30414 * script/lua/lauxlib.c: Likewise.
30415 * script/lua/lauxlib.h: Likewise.
30416 * script/lua/lbaselib.c: Likewise.
30417 * script/lua/lcode.c: Likewise.
30418 * script/lua/lcode.h: Likewise.
30419 * script/lua/ldblib.c: Likewise.
30420 * script/lua/ldebug.c: Likewise.
30421 * script/lua/ldebug.h: Likewise.
30422 * script/lua/ldo.c: Likewise.
30423 * script/lua/ldo.h: Likewise.
30424 * script/lua/ldump.c: Likewise.
30425 * script/lua/lfunc.c: Likewise.
30426 * script/lua/lfunc.h: Likewise.
30427 * script/lua/lgc.c: Likewise.
30428 * script/lua/lgc.h: Likewise.
30429 * script/lua/linit.c: Likewise.
30430 * script/lua/liolib.c: Likewise.
30431 * script/lua/llex.c: Likewise.
30432 * script/lua/llex.h: Likewise.
30433 * script/lua/llimits.h: Likewise.
30434 * script/lua/lmathlib.c: Likewise.
30435 * script/lua/lmem.c: Likewise.
30436 * script/lua/lmem.h: Likewise.
30437 * script/lua/loadlib.c: Likewise.
30438 * script/lua/lobject.c: Likewise.
30439 * script/lua/lobject.h: Likewise.
30440 * script/lua/lopcodes.c: Likewise.
30441 * script/lua/lopcodes.h: Likewise.
30442 * script/lua/loslib.c: Likewise.
30443 * script/lua/lparser.c: Likewise.
30444 * script/lua/lparser.h: Likewise.
30445 * script/lua/lstate.c: Likewise.
30446 * script/lua/lstate.h: Likewise.
30447 * script/lua/lstring.c: Likewise.
30448 * script/lua/lstring.h: Likewise.
30449 * script/lua/lstrlib.c: Likewise.
30450 * script/lua/ltable.c: Likewise.
30451 * script/lua/ltable.h: Likewise.
30452 * script/lua/ltablib.c: Likewise.
30453 * script/lua/ltm.c: Likewise.
30454 * script/lua/ltm.h: Likewise.
30455 * script/lua/lua.h: Likewise.
30456 * script/lua/luaconf.h: Likewise.
30457 * script/lua/lualib.h: Likewise.
30458 * script/lua/lundump.c: Likewise.
30459 * script/lua/lundump.h: Likewise.
30460 * script/lua/lvm.c: Likewise.
30461 * script/lua/lvm.h: Likewise.
30462 * script/lua/lzio.c: Likewise.
30463 * script/lua/lzio.h: Likewise.
30464
5e898c9d 304652009-05-16 Bean <bean123ch@gmail.com>
30466
30467 * include/grub/kernel.h (grub_module_header_types): Add type
30468 OBJ_TYPE_CONFIG.
30469
30470 * kern/main.c (grub_load_config): New function.
30471 (grub_main): Call grub_load_config to read boot config.
30472
30473 * grub-mkimage (generate_image): New parameter config_path.
30474 (options): New option --config.
30475 (main): Parse --config option, and pass it to generate_image.
30476
cf353a47 304772009-05-14 Christian Franke <franke@computer.org>
30478
30479 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30480 This fixes build on Cygwin.
30481
3834887f 304822009-05-14 Pavel Roskin <proski@gnu.org>
30483
30484 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30485 jump. This saves two bytes, so the typical case of 2 swapped
30486 drives would fit 32 bytes.
30487
8090fc01 304882009-05-13 Pavel Roskin <proski@gnu.org>
30489
ac963883 30490 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30491 grub_uint32_t to avoid a warning.
30492
8090fc01 30493 * loader/i386/linux.c (allocate_pages): When assigning
30494 real_mode_mem, cast through grub_size_t to fix a warning. The
30495 code already makes sure that the value would fit a pointer.
30496 (grub_linux_setup_video): Cast render_target->data to
30497 grub_size_t to fix a warning.
30498
18f547ad 304992009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30500
30501 * commands/i386/pc/drivemap.c: New file - implement drivemap
30502 command.
30503 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30504 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30505
6f6a8b28 305062009-05-13 Pavel Roskin <proski@gnu.org>
30507
30508 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30509 embedding_area_exists.
30510
15fbf4c4 305112009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30512
30513 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30514 it easier to understand / work with.
59978c8a 30515 Improve warning messages for cases where there's no embedding area,
30516 or when it is too small (or core.img too large).
15fbf4c4 30517
238e871f 305182009-05-13 Pavel Roskin <proski@gnu.org>
30519
0ab3a9a4 30520 * loader/i386/pc/multiboot2.c: Add necessary includes for
30521 grub_multiboot2_real_boot().
30522
a2c8c5f8 30523 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30524 PX record is always little-endian. We only need the lower 2
30525 bytes of the mode.
30526
faec96af 30527 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30528 facilitate code reuse.
30529 (grub_cpio_mount): Use "struct head", not a char buffer. This
30530 fixes a warning reported by gcc 4.4.
30531
238e871f 30532 * kernel/disk.c (grub_disk_read): Use void pointer for the
30533 buffer.
30534 (grub_disk_write): Use const void pointer for the buffer.
30535 Adjust all callers. Remove unnecessary casts.
30536
901d2f0c 305372009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30538
30539 * util/i386/pc/grub-install.in: Update copyright year.
30540
18f547ad 305412009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30542
30543 gptsync
30544
30545 * commands/gptsync.c: new file
30546 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30547 (gptsync_mod_SOURCES): new variable
30548 (gptsync_mod_CFLAGS): likewise
30549 (gptsync_mod_LDFLAGS): likewise
18f547ad 30550 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30551 new definition
30552 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30554 * conf/i386-ieee1275.rmk: likewise
30555 * conf/i386-pc.rmk: likewise
30556 * conf/powerpc-ieee1275.rmk: likewise
30557
b4ba690a 305582009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30559
30560 Fixed grub-emu
30561
30562 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30563 (grub_dl_ref): likewise
30564
317e1a44 305652009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30566
30567 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30568 split in two functions (one for msdos and one for gpt).
30569
041b8094 305702009-05-08 Pavel Roskin <proski@gnu.org>
30571
752473c2 30572 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30573 not modified.
30574
041b8094 30575 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30576 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30577 Initialize them with -1. Add sanity check for bad1. Eliminate
30578 nerr variable.
30579
172800ce 305802009-05-08 David S. Miller <davem@davemloft.net>
30581
30582 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30583
29aa5e81 305842009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30585
30586 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30587 existence.
29aa5e81 30588
96613b62 305892009-05-05 Felix Zielcke <fzielcke@z-51.de>
30590
30591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30592 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30593
eef73c8a 305942009-05-05 David S. Miller <davem@davemloft.net>
30595
30596 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30597
119494b5 305982009-05-05 Pavel Roskin <proski@gnu.org>
30599
30600 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30601 of grub_dl_ref() and grub_dl_unref().
30602 * commands/parttool.c: Remove preprocessor conditionals around
30603 grub_dl_ref() and grub_dl_unref().
30604 * fs/affs.c: Likewise.
30605 * fs/afs.c: Likewise.
30606 * fs/cpio.c: Likewise.
30607 * fs/ext2.c: Likewise.
30608 * fs/fat.c: Likewise.
30609 * fs/hfs.c: Likewise.
30610 * fs/hfsplus.c: Likewise.
30611 * fs/iso9660.c: Likewise.
30612 * fs/jfs.c: Likewise.
30613 * fs/minix.c: Likewise.
30614 * fs/ntfs.c: Likewise.
30615 * fs/reiserfs.c: Likewise.
30616 * fs/sfs.c: Likewise.
30617 * fs/udf.c: Likewise.
30618 * fs/ufs.c: Likewise.
30619 * fs/xfs.c: Likewise.
30620 * include/grub/dl.h: Likewise.
30621 * loader/xnu.c: Likewise.
30622
de5fd76e 306232009-05-04 Pavel Roskin <proski@gnu.org>
30624
30625 * commands/acpi.c: Remove unused variable my_mod.
30626 * partmap/amiga.c: Likewise.
30627 * partmap/apple.c: Likewise.
30628 * partmap/gpt.c: Likewise.
30629 * partmap/pc.c: Likewise.
30630 * partmap/sun.c: Likewise.
30631 * term/gfxterm.c: Likewise.
30632 * term/i386/pc/vesafb.c: Likewise.
30633 * term/i386/pc/vga.c: Likewise.
30634
983598ad 306352009-05-04 David S. Miller <davem@davemloft.net>
30636
30637 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30638 pointer args to grub_ieee1275_get_property().
30639
8aadec43 30640 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30641
9554b15e 30642 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30643 devices, and do not traverse down under controller nodes.
30644
67e23c90 30645 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30646 (grub_ofdisk_open): Use it to un-escape "," characters.
30647 * kern/disk.c (find_part_sep): New.
30648 (grub_disk_open): Use it to find the first non-escaped ','
30649 character in the disk name.
30650 * util/ieee1275/devicemap.c (escape_of_path): New.
30651 (grub_util_emit_devicemap_entry): Use it.
30652 * util/sparc64/ieee1275/grub-install.in: Update script to
30653 strip partition specifiers properly by not triggering on
30654 '\' escaped ',' characters.
30655
74bfdd2f 306562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30657
30658 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30659 to 0x300.
30660 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30661 resolutions.
30662 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30663 on documentation from Wikipedia).
30664
4241d2b1 306652009-05-04 Pavel Roskin <proski@gnu.org>
30666
30667 * disk/ata.c: Spelling fixes.
30668 * disk/raid.c: Likewise.
30669 * disk/usbms.c: Likewise.
30670 * disk/dmraid_nvidia.c: Likewise.
30671 * kern/ieee1275/openfw.c: Likewise.
30672 * kern/ieee1275/init.c: Likewise.
30673 * kern/ieee1275/cmain.c: Likewise.
30674 * boot/i386/pc/cdboot.S: Likewise.
30675 * video/readers/png.c: Likewise.
30676 * video/i386/pc/vbe.c: Likewise.
30677 * fs/udf.c: Likewise.
30678 * fs/hfs.c: Likewise.
30679 * fs/reiserfs.c: Likewise.
30680 * efiemu/runtime/efiemu.c: Likewise.
30681 * efiemu/main.c: Likewise.
30682 * efiemu/mm.c: Likewise.
30683 * include/grub/elf.h: Likewise.
30684 * include/grub/xnu.h: Likewise.
30685 * include/grub/usbdesc.h: Likewise.
30686 * include/grub/usb.h: Likewise.
30687 * include/grub/script_sh.h: Likewise.
30688 * include/grub/lib/LzmaEnc.h: Likewise.
30689 * include/grub/efiemu/efiemu.h: Likewise.
30690 * include/grub/command.h: Likewise.
30691 * normal/menu.c: Likewise.
30692 * normal/main.c: Likewise.
30693 * normal/datetime.c: Likewise.
30694 * bus/usb/uhci.c: Likewise.
30695 * mmap/i386/uppermem.c: Likewise.
30696 * mmap/mmap.c: Likewise.
30697 * commands/acpi.c: Likewise.
30698 * commands/test.c: Likewise.
30699 * partmap/apple.c: Likewise.
30700 * font/font.c: Likewise.
30701 * loader/sparc64/ieee1275/linux.c: Likewise.
30702 * loader/macho.c: Likewise.
30703 * loader/i386/bsd_trampoline.S: Likewise.
30704 * loader/i386/bsd.c: Likewise.
30705 * loader/xnu.c: Likewise.
30706 * term/i386/pc/vesafb.c: Likewise.
30707 * term/usb_keyboard.c: Likewise.
30708 * util/resolve.c: Likewise.
30709 * util/getroot.c: Likewise.
30710
0cfc0083 307112009-05-04 Felix Zielcke <fzielcke@z-51.de>
30712
30713 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30714
7c1d00cd 307152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30718 build error.
30719
b01f0548 307202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30723 parameter only available on BIOS.
30724
ecc3eb22 307252009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30726
30727 Removed wrong semicolon in declaration
30728
30729 * grub/misc.h (grub_dprintf): remove semicolon
30730
112972a9 307312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30732
30733 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30734 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30735 is done by grub_cmd_linux() now).
30736 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30737 restore video to text mode.
30738 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30739 indicates lack of "vga=" parameter. "vga=0" is mapped to
30740 `GRUB_LINUX_VID_MODE_NORMAL'.
30741
afd5c115 307422009-05-04 Felix Zielcke <fzielcke@z-51.de>
30743
30744 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30745 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30746 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30747 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30748 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30749 `grub_script.tab.c'.
30750
30751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30752 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30755 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30756
faa517ce 30757 * Makefile.in: Remove duplicated 2008 in Copyright line.
30758
ae0c0bdc 307592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30760
473d1e45 30761 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30762 unconditionally.
30763 * include/grub/util/misc.h (grub_util_warn): New declaration.
30764
30765 * util/i386/pc/grub-install.in: Understand --force and pass it down
30766 to grub-setup.
30767
30768 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30769 down to setup().
30770 (setup): Improve error messages and add warnings when requested to
30771 install in odd layouts. Refuse to install using blocklists unless
30772 --force was set.
30773
18f547ad 307742009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30775
30776 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30777
6d260daa 307782009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30779
30780 Updated copyright year
30781
30782 * fs/hfsplus.c: updated copyright year
18f547ad 30783
69f853f8 307842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30785
30786 HFS+ UUID
30787
18f547ad 30788 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30789 in the space previously used by unused3
30790 (grub_hfsplus_uuid): new function
30791 (grub_hfsplus_fs): added uuid field
30792
4c402e73 307932009-05-03 Pavel Roskin <proski@gnu.org>
30794
30795 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30796 suppress warnings. It's no longer needed.
30797 * disk/host.c: Likewise.
30798 * disk/ata_pthru.c: Likewise.
30799 * disk/loopback.c: Likewise.
30800 * hook/datehook.c: Likewise.
30801 * parttool/pcpart.c: Likewise.
30802 * fs/i386/pc/pxe.c: Likewise.
30803 * fs/ntfscomp.c: Likewise.
30804 * efiemu/main.c: Likewise.
30805 * mmap/mmap.c: Likewise.
30806 * commands/crc.c: Likewise.
30807 * commands/hexdump.c: Likewise.
30808 * commands/hdparm.c: Likewise.
30809 * commands/acpi.c: Likewise.
30810 * commands/echo.c: Likewise.
30811 * commands/minicmd.c: Likewise.
30812 * commands/blocklist.c: Likewise.
30813 * commands/memrw.c: Likewise.
30814 * commands/loadenv.c: Likewise.
30815 * commands/usbtest.c: Likewise.
30816 * commands/lsmmap.c: Likewise.
30817 * commands/boot.c: Likewise.
30818 * commands/parttool.c: Likewise.
30819 * commands/configfile.c: Likewise.
30820 * commands/search.c: Likewise.
30821 * commands/ieee1275/suspend.c: Likewise.
30822 * commands/cat.c: Likewise.
30823 * commands/i386/pc/pxecmd.c: Likewise.
30824 * commands/i386/pc/play.c: Likewise.
30825 * commands/i386/pc/halt.c: Likewise.
30826 * commands/i386/pc/vbeinfo.c: Likewise.
30827 * commands/i386/pc/vbetest.c: Likewise.
30828 * commands/lspci.c: Likewise.
30829 * commands/date.c: Likewise.
30830 * commands/handler.c: Likewise.
30831 * commands/ls.c: Likewise.
30832 * commands/test.c: Likewise.
30833 * commands/cmp.c: Likewise.
30834 * commands/efi/loadbios.c: Likewise.
30835 * commands/efi/fixvideo.c: Likewise.
30836 * commands/halt.c: Likewise.
30837 * commands/help.c: Likewise.
30838 * commands/reboot.c: Likewise.
30839 * hello/hello.c: Likewise.
30840 * script/sh/main.c: Likewise.
30841 * loader/xnu.c: Likewise.
30842 * term/terminfo.c: Likewise.
30843 * term/i386/pc/serial.c: Likewise.
30844 * term/usb_keyboard.c: Likewise.
30845
515b5079 308462009-05-03 David S. Miller <davem@davemloft.net>
30847
30848 * normal/menu.c: Include grub/parser.h
30849
dfc31a22 308502009-05-03 Pavel Roskin <proski@gnu.org>
30851
2fee74f1 30852 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30853 not char*.
30854 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30855 Suggested by Javier Martín <lordhabbit@gmail.com>
30856
dfc31a22 30857 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30858 efiemu??.o doesn't exist.
30859 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30860 copying.
30861
18f547ad 308622009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30863
30864 FreeBSD 64-bit support
30865
18f547ad 30866 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30867 and loader/i386/bsd_trampoline.S
30868 (bsd_mod_ASFLAGS): new variable
30869 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30870 (FREEBSD_MODTYPE_KERNEL64): likewise
30871 (grub_bsd64_trampoline_start): likewise
30872 (grub_bsd64_trampoline_end): likewise
30873 (grub_bsd64_trampoline_selfjump): likewise
30874 (grub_bsd64_trampoline_gdt): likewise
30875 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30876 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30877 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30878 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30879 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30880 of "attrib" member
30881 * loader/i386/bsd_pagetable.c: new file
30882 * loader/i386/bsd_trampoline.S: likewise
30883 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30884 (ALIGN_VAR): likewise
30885 (entry_hi): new variable
30886 (kern_end_mdofs): likewise
30887 (is_64bit): likewise
30888 (grub_freebsd_add_meta): use ALIGN_VAR
30889 (grub_e820_mmap): new declaration
30890 (grub_freebsd_add_mmap): new function
30891 (grub_freebsd_add_meta_module): support 64 bit kernels
30892 (grub_freebsd_list_modules): use ALIGN_VAR
30893 (gdt_descriptor): new declaration
30894 (grub_freebsd_boot): support 64 bit kernels
30895 (grub_bsd_elf64_hook): new function
30896 (grub_bsd_load_elf): support elf64
30897
038c5720 308982009-05-03 Bean <bean123ch@gmail.com>
30899
30900 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30901 after we get the result of if statement.
30902
fc45fb58 309032009-05-03 Bean <bean123ch@gmail.com>
30904
30905 * Makefile.in (enable_efiemu): New variable.
30906
30907 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30908 set.
30909 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30910 path.
30911 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30912 path, add -mno-red-zone option.
30913 (efiemu64_s.o): Likewise.
30914 (efiemu64.o): Use macro $^ for source file.
30915
30916 * configure.ac (--enable-efiemu): New option.
30917
bbee0f2b 309182009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 xnu support
30921
30922 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30923 (pkglib_MODULES): add xnu.mod
30924 (xnu_mod_SOURCES): new variable
30925 (xnu_mod_CFLAGS): likewise
30926 (xnu_mod_LDFLAGS): likewise
30927 (xnu_mod_ASFLAGS): likewise
30928 * conf/i386-pc.rmk: likewise
30929 * conf/x86_64-efi.rmk: likewise
7dd4a573 30930 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30931 new declaration
30932 * include/grub/i386/macho.h: new file
30933 * include/grub/i386/xnu.h: likewise
30934 * include/grub/macho.h: likewise
30935 * include/grub/machoload.h: likewise
30936 * include/grub/x86_64/macho.h: likewise
30937 * include/grub/x86_64/xnu.h: likewise
30938 * include/grub/xnu.h: likewise
30939 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30940 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30941 * loader/i386/efi/xnu.c: new file
30942 * loader/i386/pc/xnu.c: likewise
30943 * loader/i386/xnu.c: likewise
30944 * loader/i386/xnu_helper.S: likewise
30945 * loader/macho.c: likewise
30946 * loader/xnu.c: likewise
30947 * loader/xnu_resume.c: likewise
30948 * util/grub-dumpdevtree: likewise
30949 * include/grub/i386/pit.h: include grub/err.h
30950 (grub_pit_wait): export
30951 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30952
5caf964d 309532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30954
30955 Efiemu
7dd4a573 30956
5caf964d 30957 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30958 _linux_efi, linux_efi.
30959 new files in grub-emu
5caf964d 30960 new targets efiemu32.o and efiemu64.o
30961 * loader/linux_normal_efiemu.c: likewise
30962 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30963 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30964 files to copy
30965 * include/grub/autoefi.h: new file
7dd4a573 30966 * include/grub/i386/efiemu.h: likewise
5caf964d 30967 * include/grub/i386/pc/efiemu.h: likewise
30968 * include/grub/efi/api.h: add LL suffix when necessary
30969 new definitions relating to tables
30970 * include/grub/efiemu/efiemu.h: new file
30971 * include/grub/efiemu/runtime.h: likewise
30972 * efiemu/prepare.c: likewise
30973 * efiemu/loadcore_common.c: likewise
30974 * efiemu/loadcore64.c: likewise
30975 * efiemu/runtime/efiemu.sh: likewise
30976 * efiemu/runtime/efiemu.S: likewise
30977 * efiemu/runtime/efiemu.c: likewise
30978 * efiemu/runtime/config.h: likewise
30979 * efiemu/prepare32.c: likewise
30980 * efiemu/main.c: likewise
30981 * efiemu/modules/pnvram.c: likewise
30982 * efiemu/modules/i386: likewise
30983 * efiemu/modules/i386/pc: likewise
30984 * efiemu/modules/acpi.c: likewise
30985 * efiemu/i386/pc/cfgtables.c: likewise
30986 * efiemu/i386/loadcore64.c: likewise
30987 * efiemu/i386/loadcore32.c: likewise
30988 * efiemu/prepare64.c: likewise
30989 * efiemu/loadcore.c: likewise
30990 * efiemu/symbols.c: likewise
30991 * efiemu/mm.c: likewise
30992 * efiemu/loadcore32.c: likewise
7dd4a573 30993
309942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30995
30996 ACPI spoofing
30997
30998 * commands/acpi.c: new file
30999 * commands/i386/pc/acpi.c: likewise
31000 * commands/efi/acpi.c: likewise
31001 * include/grub/acpi.h: likewise
31002 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31003 (acpi_mod_SOURCES): new variable
31004 (acpi_mod_CFLAGS): likewise
31005 (acpi_mod_LDFLAGS): likewise
31006 * conf/i386-efi.rmk: likewise
31007 * conf/x86_64-efi.rmk: likewise
31008
7dd4a573 310092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 31010
31011 Missing part from mmap patch
31012
31013 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31014 (grub_mmap_unregister)
31015 (grub_mmap_free_and_unregister): use grub_mmap_register
31016
7dd4a573 310172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 31018
31019 Mmap services
31020
31021 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31022 * loader/i386/linux.c (find_mmap_size): likewise
31023 (allocate_pages): likewise
31024 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31025 (grub_fill_multiboot_mmap): likewise
31026 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31027 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31028 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31029 (OPENBSD_MMAP_RESERVED): likewise
31030 * include/grub/i386/pc/memory.h: include grub/memory.h
31031 (grub_lower_mem): removed
31032 (grub_upper_mem): likewise
31033 (GRUB_MACHINE_MEMORY_ACPI): new definition
31034 (GRUB_MACHINE_MEMORY_NVS): likewise
31035 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31036 (GRUB_MACHINE_MEMORY_HOLE): likewise
31037 (grub_machine_mmap_register): likewise
31038 (grub_machine_mmap_unregister): likewise
31039 (grub_machine_get_upper): likewise
31040 (grub_machine_get_lower): likewise
31041 (grub_machine_get_post64): likewise
31042 * include/grub/i386/efi/memory.h: new file
31043 * include/grub/x86_64/efi/memory.h: likewise
31044 * include/grub/efi/memory.h: likewise
31045 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31046 (mmap_mod_SOURCES): new variable
31047 (mmap_mod_LDFLAGS): likewise
31048 (mmap_mod_ASFLAGS): likewise
31049 * conf/i386-coreboot.rmk: likewise
31050 * conf/i386-ieee1275.rmk: likewise
31051 * conf/i386-efi.rmk: likewise
31052 * conf/x86_64-efi.rmk: likewise
31053 * include/grub/types.h (UINT_TO_PTR): new macro
31054 (PTR_TO_UINT32): likewise
31055 (PTR_TO_UINT64): likewise
31056 * include/grub/memory.h: new file
31057 * mmap/i386/pc/mmap.c: likewise
31058 * mmap/i386/pc/mmap_helper.S: likewise
31059 * mmap/i386/uppermem.c: likewise
31060 * mmap/mmap.c: likewise
31061 * mmap/efi/mmap.c: likewise
7dd4a573 31062 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 31063 grub_upper_mem
31064 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31065 (grub_upper_mem): likewise
31066 (grub_machine_init): don't use grub_upper_mem,
31067 make grub_lower_mem local
31068 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31069 grub_mmap_iterate and grub_mmap_get_upper
31070 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31071
d558e6b5 310722009-05-02 Bean <bean123ch@gmail.com>
31073
31074 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31075 script/sh/parser.y.
31076 (pkglib_MODULES): Add normal.mod and sh.mod.
31077 (normal_SOURCES): New variable.
31078 (normal_mod_CFLAGS): Likewise.
31079 (normal_mod_LDFLAGS): Likewise.
31080 (sh_mod_SOURCES): Likewise.
31081 (sh_mod_CFLAGS): Likewise.
31082 (sh_mod_LDFLAGS): Likewise.
31083
31084 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31085 script/sh/lexer.c_DEPENDENCIES.
31086 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31087 kern/rescue_reader.c and kern/rescue_parser.c.
31088 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31089 (grub_emu_SOURCES): Change source files.
31090 (pkglib_MODULES): Remove normal.mod.
31091 (normal_SOURCES): Removed.
31092 (normal_mod_CFLAGS): Likewise.
31093 (normal_mod_LDFLAGS): Likewise.
31094 * conf/i386-coreboot.rmk: Likewise.
31095 * conf/i386-efi.rmk: Likewise.
31096 * conf/i386-ieee1276.rmk: Likewise.
31097 * conf/powerpc-ieee1275.rmk: Likewise.
31098 * conf/sparc64-ieee1275.rmk: Likewise.
31099 * conf/x86_64-efi.rmk: Likewise.
31100
31101 * include/grub/command.h (grub_command_execute): New inline function.
31102
31103 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31104
31105 * include/grub/normal.h: Remove <grub/setjmp.h>.
31106 (grub_fs_module_list): Moved to normal/autofs.c.
31107 (grub_exit_env): Removed.
31108 (grub_command_execute): Likewise.
31109 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31110 parameter script.
31111 (read_command_list): New function declaration.
31112 (read_fs_list): Likewise.
31113
31114 * include/parser.h: Include <grub/reader.h>.
31115 (grub_parser_split_cmdline): Change type of getline parameter.
31116 (grub_parser): New structure.
31117 (grub_parser_class): New variable.
31118 (grub_parser_execute): New function declaration.
31119 (grub_register_rescue_parser): Likewise.
31120 (grub_parser_register): New inline function.
31121 (grub_parser_unregister): Likewise.
31122 (grub_parser_get_current): Likewise.
31123 (grub_parser_set_current): Likewise.
31124
31125 * include/grub/reader.h: New file.
31126 * kern/reader.c: Likewise.
31127 * kern/rescue_parser.c: Likewise.
31128 * kern/rescue_reader.c: Likewise.
31129 * normal/autofs.c: Likewise.
31130 * normal/dyncmd.c: Likewise.
31131
31132 * include/grub/rescue.h: Removed.
31133 * normal/command.h: Likewise.
31134
31135 * include/grub/script.h: Moved to ...
31136 * include/grub/script_sh.h: ... Moved here.
31137 * normal/execute.c: Moved to ...
31138 * script/sh/execute.c: ... Moved here.
31139 * normal/function.c: Moved to ...
31140 * script/sh/function.c: ... Moved here.
31141 * normal/lexer.c: Moved to ...
31142 * script/sh/lexer.c: ... Moved here.
31143 * normal/parser.y: Moved to ...
31144 * script/sh/parser.y: ... Moved here.
31145 * normal/script.c: Moved to ...
31146 * script/sh/script.c: ... Moved here.
31147
31148 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31149 <grub/reader.h>.
31150 (grub_exit_env): Removed.
31151 (fs_module_list): Moved to normal/autofs.c.
31152 (grub_file_getline): Don't handle comment here.
31153 (free_menu): Skip removed field entry->commands.
31154 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31155 script parameter.
31156 (read_config_file): Removed nested parameter, change getline function.
31157 (grub_enter_normal_mode): Removed.
31158 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31159 (read_command_list): Likewise.
31160 (autoload_fs_module): Moved to normal/autofs.c.
31161 (read_fs_list): Likewise.
31162 (reader_nested): New variable.
31163 (grub_normal_execute): Run parser.sh to switch to sh parser.
31164 (grub_cmd_rescue): Removed.
31165 (cmd_normal): Removed.
31166 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31167 rescue command.
31168 (grub_cmdline_run): New function.
31169 (grub_normal_reader_init): Likewise.
31170 (grub_normal_read_line): Likewise.
31171 (grub_env_write_pager): Likewise.
31172 (cmdline): New variable.
31173 (grub_normal_reader): Likewise.
31174 (GRUB_MOD_INIT): Register normal reader and set as current, register
31175 pager hook, register normal command with grub_register_command_prio,
31176 so that it won't show up in command.lst.
31177 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31178 grub_fs_autoload_hook.
31179
31180 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31181 (grub_menu_execute_entry): Replace grub_script_execute with
31182 grub_parser_execute, change parameter to grub_command_execute.
31183
31184 * normal/menu_text.c: Remove <grub/script.h>.
31185
31186 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31187 and <grub/parser.h>.
31188 (run): Change editor_getline to use new parser interface. Change
31189 parameter to grub_command_execute.
31190
31191 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31192 <grub/reader.h> and <grub/parser.h>.
31193 (grub_load_normal_mode): Execute normal command.
31194 (grub_main): Call grub_register_core_commands,
31195 grub_register_rescue_parser and grub_register_rescue_reader, use
31196 grub_reader_loop to enter input loop.
31197
7dd4a573 31198 * kern/parser.c (grub_parser_split_cmdline): Change type of
31199 getline parameter.
d558e6b5 31200 (grub_parser_class): New variable.
31201 (grub_parser_execute): New function.
31202
31203 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31204 * loader/multiboot2.c: Likewise.
31205 * loader/sparc64/ieee1275/linux.c: Likewise.
31206
31207 * util/grub-emu.c (read_command_list): New dummy function.
31208
18db813d 312092009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31212 count to 16 for CCISS and IDA.
31213
6c67de15 312142009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31215
31216 * normal/menu_text.c (grub_wait_after_message): Print a newline
31217 after waiting for user input.
31218
31219 * loader/i386/linux.c: Include `<grub/normal.h>'.
31220 (grub_cmd_linux): Improve the error message about `ask' mode, by
31221 waiting for user input so it's not missed (we can do this, since
31222 user requested interaction).
31223
d9dc87b0 312242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31225
31226 Added missing lst to grub-mkrescue
31227
31228 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31229 and ${input_dir}/parttool.lst
31230
ac8a2baa 312312009-04-30 David S. Miller <davem@davemloft.net>
31232
ad22a610 31233 * util/hostdisk.c (device_is_wholedisk): New function.
31234 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31235 zero only if device_is_wholedisk() returns true.
31236
6966215d 31237 * util/hostdisk.c (convert_system_partition_to_system_disk):
31238 Handle virtual disk devices named /dev/vdiskX as found on sparc
31239 and powerpc.
31240
ac8a2baa 31241 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31242 lettered partition specifier is found, convert to numbered.
31243
979b4fb4 312442009-04-29 David S. Miller <davem@davemloft.net>
31245
e2bf39b2 31246 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31247 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31248
3c64e104 31249 * normal/command.c: Add missing newline at end of file.
31250
979b4fb4 31251 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31252 warnings.
31253 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31254 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31255 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31256 ihandles have a 32-bit type but need to be stored in a "void *".
31257
136d9f82 312582009-04-28 Pavel Roskin <proski@gnu.org>
31259
9459c306 31260 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31261 not disk. Adjust all dependencies.
2e08a26a 31262 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31263 grub_disk_close().
31264
136d9f82 31265 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31266 parent's partition, don't copy it by reference, as it gets freed
31267 on close.
31268
7dd4a573 312692009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31270
31271 Preboot hooks support
31272
31273 * commands/boot.c (struct grub_preboot_t): new declaration
31274 (preboots_head): new variable
31275 (preboots_tail): likewise
31276 (grub_loader_register_preboot_hook): new function
31277 (grub_loader_unregister_preboot_hook): likewise
31278 (grub_loader_set): launch preboot hooks
31279 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31280 (grub_loader_register_preboot_hook): new declaration
31281 (grub_loader_unregister_preboot_hook): likewise
31282
5af922b5 312832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31284
31285 Warning fix
31286
7dd4a573 31287 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31288 calling grub_dprintf
31289
a5562c30 312902009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31291
31292 Bug and warning fixes
31293
7dd4a573 31294 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31295 declaration
31296 * commands/test.c (test_parse): fixed bug with file tests and corrected
31297 declaration of find_file
31298
4006f85c 312992009-04-26 Pavel Roskin <proski@gnu.org>
31300
31301 * Makefile.in: Don't install empty manual pages if help2man is
31302 missing. Use help2man option for output, not shell redirection.
31303
5c77c3de 313042009-04-26 David S. Miller <davem@davemloft.net>
31305
31306 * util/grub-mkdevicemap.c (make_device_map): Add missing
31307 NESTED_FUNC_ATTR to process_device().
31308
033b10a8 313092009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31310
31311 Test command
31312
31313 * commands/test.c: rewritten to use bash-like test
31314
e4343593 313152009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31316
31317 Parttool autoloading and improvements
31318
7dd4a573 31319 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31320 (parttool.lst): new target
31321 * genmk.rb: generate parttool-*
31322 (CLEANFILES): add #{parttool}
31323 (PARTTOOLFILES): new variable
31324 * genparttoollist.sh: new file
7dd4a573 31325 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31326 (grub_pcpart_type): likewise
31327 * commands/parttool.c (helpmsg): new variable
31328 (grub_cmd_parttool): output help if not enough arguments are supplied
31329 autoload modules
31330 (GRUB_MOD_INIT(parttool)): use helpmsg
31331
0d312500 313322009-04-24 David S. Miller <davem@davemloft.net>
31333
7dd4a573 31334 Avoiding opening same device multiple times in device iterator.
0d312500 31335
31336 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31337 and use it to build a list of partitions in iterate_disk() and
0d312500 31338 iterate_partition().
31339
ac20caff 31340 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31341 on disk->data.
31342
0dcf7495 31343 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31344 grub_devalias_iterate() result instead of unconditional 0.
31345 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31346 Also, capture hook return value, either directly or via
31347 grub_children_iterate(), and propagate to caller.
31348 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31349 grub_children_iterate): Return value is now 'int' instead of
31350 'grub_err_t'.
31351 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31352 like a proper iterator, stopping when hooks return non-zero.
31353 (grub_devalias_iterate): Likewise.
31354
c8c08833 313552009-04-23 David S. Miller <davem@davemloft.net>
31356
31357 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31358
f01005a8 313592009-04-22 David S. Miller <davem@davemloft.net>
31360
31361 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31362 is larger than address_cells, use that value for address_cells too.
31363
4e8269da 31364 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31365 IEEE1275_MAX_PATH_LEN): Define.
31366 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31367 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31368 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31369 'devtype'. Explicitly NULL terminate devalias expansion.
31370
a1447506 31371 * util/sparc64/ieee1275/misc.c: New file.
31372 * util/sparc64/ieee1275/grub-setup.c: New file.
31373 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31374 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31375 * util/sparc64/ieee1275/grub-install.in: New file.
31376 * util/ieee1275/ofpath.c: New file.
31377 * util/ieee1275/devicemap.c: New file.
31378 * util/devicemap.c: New file.
31379 * util/deviceiter.c: New file.
31380 * kern/sparc64/ieee1275/init.c: New file.
31381 * include/grub/util/ofpath.h: New file.
31382 * include/grub/util/deviceiter.h: New file.
31383 * util/grub-mkdevicemap.c: Include deviceiter.h.
31384 Implement using grub_util_emit_devicemap_entry and
31385 grub_util_iterate_devices.
31386 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31387 util/devicemap.c into grub-mkdevicemap
31388 * conf/i386-efi.rmk: Likewise.
31389 * conf/i386-ieee1275.rmk: Likewise.
31390 * conf/i386-pc.rmk: Likewise.
31391 * conf/powerpc-ieee1275.rmk: Likewise.
31392 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31393 images and installation utilities. Build kernel as image
31394 instead of as elf binary. Use common rules as much as possible.
31395
7dd4a573 313962009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31397
31398 Correct GPT definition
31399
7dd4a573 31400 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31401 of "attrib" member
31402
c6c5219f 314032009-04-19 Felix Zielcke <fzielcke@z-51.de>
31404
31405 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31406
0552ff9f 314072009-04-19 David S. Miller <davem@davemloft.net>
31408
31409 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31410 (grub_rescue_cmd_linux): Rename to...
31411 (grub_cmd_linux): and fix prototype.
31412 (grub_rescue_cmd_initrd): Rename to...
31413 (grub_cmd_initrd): and fix prototype.
31414 (cmd_linux, cmd_initrd): New.
31415 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31416 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31417
d1a282fc 314182009-04-17 Pavel Roskin <proski@gnu.org>
31419
07c5039f 31420 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31421 format.
31422 (grub_ohci_transfer): Likewise.
31423
b012002d 31424 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31425
1bc09c35 31426 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31427 return without a value. Fix inconsistent indentation.
31428
e0ff9126 31429 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31430 match struct grub_fs.
31431
d1a282fc 31432 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31433 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31434 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31435 * commands/lspci.c (grub_lspci_iter): Likewise.
31436
a96df3f2 314372009-04-16 Bean <bean123ch@gmail.com>
31438
31439 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31440 value.
31441
41bb0fe9 314422009-04-15 Pavel Roskin <proski@gnu.org>
31443
31444 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31445 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31446 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31447 definitions.
31448
596c6970 314492009-04-15 Felix Zielcke <fzielcke@z-51.de>
31450
31451 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31452 that no multiple data or metadata areas are supported and `Unknown
596c6970 31453 metadata header'.
31454
7dd4a573 314552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31456
31457 Move loader out of the kernel
31458
31459 * kern/loader.c: moved to ...
31460 * commands/boot.c: ... moved here
31461 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31462 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31463 * include/grub/kernel.h (grub_machine_fini): export
31464 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31465 (grub_loader_set): likewise
31466 (grub_loader_unset): likewise
31467 (grub_loader_boot): likewise
31468 * conf/common.rmk: new module boot.mod
31469 (pkglib_MODULES): add boot.mod
31470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31471 (grub_emu_SOURCES): likewise
31472 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31473 (grub_emu_SOURCES): likewise
31474 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31475 (grub_emu_SOURCES): likewise
31476 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31477 (grub_emu_SOURCES): likewise
31478 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31479 (grub_emu_SOURCES): likewise
7dd4a573 31480 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31481 (grub_emu_SOURCES): likewise
0d5d5653 31482 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31483 (grub_emu_SOURCES): likewise
0d5d5653 31484
7dd4a573 314852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31486
31487 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31488
5999d619 31489 * kern/misc.c (grub_itoa): Removed function
31490 (grub_ltoa): likewise
31491 (grub_vsprintf): use grub_lltoa
31492
7dd4a573 314932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31494
31495 Restore grub-emu
31496
31497 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31498 * conf/i386-coreboot.rmk: likewise
31499 * conf/i386-ieee1275.rmk: likewise
31500 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31501
20318222 315022009-04-15 Felix Zielcke <fzielcke@z-51.de>
31503
31504 * INSTALL: Add that `./autogen.sh' needs to be run before
31505 `./configure.'.
31506
d05f0df3 315072009-04-14 Bean <bean123ch@gmail.com>
31508
31509 * Makefile.in (pkglib_DATA): Add handler.lst.
31510 (handler.lst): New rule.
31511
31512 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31513 * conf/i386-coreboot.rmk: Likewise.
31514 * conf/i386-ieee1275.rmk: Likewise.
31515 * conf/i386-efi.rmk: Likewise.
31516 * conf/x86_64-efi.rmk: Likewise.
31517 * conf/powerpc-ieee1275.rmk: Likewise.
31518 * conf/sparc64-ieee1275.rmk: Likewise.
31519
31520 * genhandlerlist.sh: New file.
31521
31522 * genmk.rb: Add rules to generate handler.lst.
31523
31524 * include/grub/normal.h (grub_file_getline): New function definition.
31525 (read_handler_list): Likewise.
31526 (free_handler_list): Likewise.
31527
31528 * include/grub/term.h (grub_term_register_input): Add name parameter
31529 for auto generation of handler.lst.
31530 (grub_term_register_output): Likewise.
31531
31532 * normal/handler.c: New file.
31533
31534 * normal/main.c (get_line): Renamed to grub_file_getline.
31535 (read_config_file): Use the newly renamed grub_file_getline.
31536 (read_command_list): Likewise.
31537 (read_fs_list): Likewise.
31538 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31539 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31540
31541 * term/efi/console.c (grub_console_init): Add name parameter for auto
31542 generation of handler.lst.
31543 * term/gfxterm.c: Likewise.
31544 * term/i386/pc/at_keyboard.c: Likewise.
31545 * term/i386/pc/console.c: Likewise.
31546 * term/i386/pc/serial.c: Likewise.
31547 * term/i386/pc/vesafb.c: Likewise.
31548 * term/i386/pc/vga.c: Likewise.
31549 * term/i386/pc/vga_text.c: Likewise.
31550 * term/ieee1275/ofconsole.c: Likewise.
31551 * term/usb_keyboard.c: Likewise.
31552
33c846be 315532009-04-14 Bean <bean123ch@gmail.com>
31554
31555 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31556 properly with null character.
31557
4484e01e 315582009-04-14 Felix Zielcke <fzielcke@z-51.de>
31559
31560 * configure: Remove.
31561 * config.h.in: Likewise.
f93d668e 31562 * stamp-h.in: Likewise.
4484e01e 31563 * DISTLIST: Likewise.
31564 * conf/common.mk: Likewise.
31565 * conf/i386-coreboot.mk: Likewise.
31566 * conf/i386-efi.mk: Likewise.
31567 * conf/i386-ieee1275.mk: Likewise.
31568 * conf/i386.mk: Likewise.
31569 * conf/i386-pc.mk: Likewise.
31570 * conf/powerpc-ieee1275.mk: Likewise.
31571 * conf/sparc64-ieee1275.mk: Likewise.
31572 * conf/x86_64-efi.mk: Likewise.
31573
31574 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31575 develop on GRUB.
31576
7dd4a573 315772009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31578 David S. Miller <davem@davemloft.net>
31579
31580 * util/hostdisk.c (make_device_name): Fix buffer length
31581 calculations.
31582
e25b5a8c 315832009-04-14 Felix Zielcke <fzielcke@z-51.de>
31584
31585 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31586 <sys/param.h> and <sys/sysctl.h>.
31587 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31588 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31589 opening the device and reset them afterwards.
31590
1f1f580c 315912009-04-13 Pavel Roskin <proski@gnu.org>
31592
31593 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31594 Reported by John Stanley <jpsinthemix@verizon.net>
31595
7ebc2d6b 315962009-04-13 Robert Millan <rmh@aybabtu.com>
31597
31598 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31599 that name for menuentries when appropriate.
7ebc2d6b 31600
d8ba3667 316012009-04-13 Felix Zielcke <fzielcke@z-51.de>
31602
31603 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31604
cba416eb 316052009-04-13 Robert Millan <rmh@aybabtu.com>
31606
31607 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31608 to Linux, simply abort telling the user it's no longer supported.
31609
a547a745 316102009-04-13 Felix Zielcke <fzielcke@z-51.de>
31611
31612 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31613 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31614 `freebsd_loadenv' only when devices.hints exist.
31615
232a769c 316162009-04-13 Pavel Roskin <proski@gnu.org>
31617
31618 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31619
c3012039 316202009-04-13 Felix Zielcke <fzielcke@z-51.de>
31621
31622 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31623 partition number.
31624 (grub_drive): Likewise.
31625
234022fe 316262009-04-13 David S. Miller <davem@davemloft.net>
31627
31628 * kern/sparc64/ieee1275/ieee1275.c: New file.
31629 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31630 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31631 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31632 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31633 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31634 grub_ieee1275_alloc_physmem): Declare new exported functions.
31635
d8e1836c 31636 * include/grub/sparc64/ieee1275/loader.h: New file.
31637 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31638 * include/grub/sparc64/kernel.h: Likewise.
31639 * loader/sparc64/ieee1275/linux.c: Likewise.
31640
96bd81ec 31641 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31642 (grub_fstest_SOURCES): Likewise.
31643
6a4737e5 31644 * util/hostdisk.c (make_device_name): Do not make any assumptions
31645 about the length of drive names.
31646
1d7a72fd 31647 * kern/dl.c (grub_dl_load_file): Close file immediately when
31648 we are done using it.
31649
56bc2471 316502009-04-12 David S. Miller <davem@davemloft.net>
31651
31652 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31653 values. Noticed by Pavel Roskin.
31654
df38d0bb 31655 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31656 target compiler.
7dd4a573 31657
e382e93a 31658 * genmk.rb: Add more flexible image type specification, also
31659 pass --strip-unneeded to objcopy.
31660 * conf/i386-pc.rmk: Use *_FORMAT.
31661 * conf/i386-pc.mk: Rebuilt.
31662
f5dbbca9 31663 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31664 (OFDISK_HASH_SZ): Define.
31665 (ofdisk_hash): New hash table.
31666 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31667 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31668 instead of device phandle which is not unique.
31669
91c88b12 31670 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31671 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31672 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31673 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31674 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31675 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31676 GRUB_KERNEL_MACHINE_DATA_END): Define.
31677 (grub_kernel_image_size, grub_total_module_size): Declare.
31678
5b5d4aa5 316792009-04-12 Pavel Roskin <proski@gnu.org>
31680
7dd4a573 31681 * configure.ac: Change the logic when we check for target tools.
31682 Do it when the target is specified and it's different from the
31683 specified value of the host.
5b5d4aa5 31684
c91e1793 316852009-04-11 Felix Zielcke <fzielcke@z-51.de>
31686
31687 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31688 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31689 GNU/kFreeBSD. Check if a device is a character device. Use
31690 DIOCGMEDIASIZE to get the size.
31691 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31692 support for GNU/kFreeBSD.
31693 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31694 is a character device instead of a block device. Add support for
31695 FreeBSD device names.
31696
31697 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31698 is a character device instead of a block device.
31699
31700 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31701 is a character device instead of a block device.
31702
b1ac8644 317032009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31704
31705 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31706 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31707 FreeBSD. Check if a device is a character device. Use
31708 DIOCGMEDIASIZE to get the size.
31709 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31710 support for FreeBSD.
31711 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31712 is a character device instead of a block device. Add support for
31713 FreeBSD device names.
31714
31715 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31716 a character device instead of a block device.
31717 (grub_util_check_char_device): New function.
31718
31719 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31720 a character device instead of a block device.
31721
31722 * include/grub/util/getroot.h (grub_util_check_char_device): New
31723 prototype.
31724
a3f7515a 317252009-04-11 David S. Miller <davem@davemloft.net>
31726
31727 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31728 static libgcc.
31729 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31730 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31731 function, if present.
31732 (__bswapdi2): Likewise.
31733
0d44993d 31734 * include/grub/sparc64/ieee1275/boot.h: New file.
31735 * boot/sparc64/ieee1275/boot.S: Likewise.
31736 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31737
ed3d2bc2 31738 * kern/misc.c (grub_ltoa): New function.
31739 (grub_vsprintf): Use it to format 'long' integers.
31740
d3bfb59c 317412009-04-10 David S. Miller <davem@davemloft.net>
31742
31743 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31744 slots are of type grub_ieee1275_cell_t.
31745 (grub_nand_read): Likewise.
31746 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31747 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31748 macros are used to compare values in arg/ret block of the call.
31749 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31750 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31751 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31752 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31753 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31754 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31755 grub_ieee1275_close, grub_ieee1275_set_property,
31756 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31757 grub_ieee1275_cell_t.
31758 * kern/ieee1275/openfw.c (grub_map): Likewise.
31759 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31760 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31761
450e2238 31762 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31763 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31764 (grub_devalias_iterate): Likewise.
31765
7dd4a573 317662009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31767
31768 UFS improvements
31769
31770 * fs/ufs.c (INODE_NBLOCKS): new definition
31771 (struct grub_ufs_dirent): added fields for non-BSD dirents
31772 (grub_ufs_get_file_block): fixed double indirect handling
31773 (grub_ufs_lookup_symlink): use more robust way to determine whether
31774 symlink is inline
31775 (grub_ufs_find_file): support for non-BSD dirents
31776 (grub_ufs_dir): support for non-BSD dirents
31777
e7e6862a 317782009-04-10 Bean <bean123ch@gnail.com>
31779
31780 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31781 attribute, otherwise the size would be wrong for i386 platform.
31782
31783 * include/grub/pci.h (grub_pci_read_word): New inline function.
31784 (grub_pci_read_byte): Likewise.
31785 (grub_pci_write): Likewise.
31786 (grub_pci_write_word): Likewise.
31787 (grub_pci_write_byte): Likewise.
31788
31789 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31790
31791 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31792 (find_framebuf): Scan pci to locate the frame buffer address.
31793
31794 * commands/efi/fixvideo.c: New file.
31795
31796 * commands/efi/loadbios.c: Likewise.
31797
31798 * commands/memrw.c: Likewise.
31799
31800 * util/grub-dumpbios.in: Likewise.
31801
31802 * conf/common.rmk (grub-dumpbios): New utility.
31803 (pkglib_MODULES): New module memrw.mod.
31804 (memrw_mod_SOURCE): New macro.
31805 (memrw_mod_CFLAGS): Likewise.
31806 (memrw_mod_LDFLAGS): Likewise.
31807
7dd4a573 31808 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31809 fixvideo.mod.
31810 (loadbios_mod_SOURCE): New macro.
31811 (loadbios_mod_CFLAGS): Likewise.
31812 (loadbios_mod_LDFLAGS): Likewise.
31813 (fixvideo_mod_SOURCE): Likewise.
31814 (fixvideo_mod_CFLAGS): Likewise.
31815 (fixvideo_mod_LDFLAGS): Likewise.
31816
7dd4a573 31817 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31818 fixvideo.mod.
31819 (loadbios_mod_SOURCE): New macro.
31820 (loadbios_mod_CFLAGS): Likewise.
31821 (loadbios_mod_LDFLAGS): Likewise.
31822 (fixvideo_mod_SOURCE): Likewise.
31823 (fixvideo_mod_CFLAGS): Likewise.
31824 (fixvideo_mod_LDFLAGS): Likewise.
31825
af63ada2 318262009-04-08 Felix Zielcke <fzielcke@z-51.de>
31827
31828 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31829
c2cdde70 318302009-04-07 David S. Miller <davem@davemloft.net>
31831
31832 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31833 support for R_SPARC_OLO10 relocations. Fix compile warning for
31834 R_SPARC_WDISP30 case.
ea3f72cf 31835 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31836
761319cf 318372009-04-06 Pavel Roskin <proski@gnu.org>
31838
1007d1f5 31839 * include/grub/misc.h (ARRAY_SIZE): New macro.
31840 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31841 New macro.
31842 * loader/i386/linux.c (allocate_pages): Use free_pages().
31843 (grub_linux_unload): Don't use free_pages().
31844 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31845 wrong index. Treat all other modes as text modes.
31846 (grub_cmd_linux): Initialize vid_mode unconditionally to
31847 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31848
761319cf 31849 * commands/help.c (print_command_help): Use cmd->prio, not
31850 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31851
ea761d40 318522009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31853
ea761d40 31854 Parttool
31855
31856 * parttool/pcpart.c: new file
31857 * commands/parttool.c: likewise
31858 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31859 (parttool_mod_SOURCES): new variable
31860 (parttool_mod_CFLAGS): likewise
31861 (parttool_mod_LDFLAGS): likewise
31862 (pcpart_mod_SOURCES): likewise
31863 (pcpart_mod_CFLAGS): likewise
31864 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31865 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31866 and parttool/pcpart.c
31867 * conf/i386-efi.rmk: likewise
31868 * conf/i386-ieee1275.rmk: likewise
31869 * conf/i386-pc.rmk: likewise
31870 * conf/powerpc-ieee1275.rmk: likewise
31871 * conf/sparc64-ieee1275.rmk: likewise
31872 * conf/x86_64-ieee1275.rmk: likewise
31873
05aaebfb 318742009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31875
31876 Support for mtime and further expandability of dir command
31877
31878 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31879 * include/grub/datetime.h: ... moved here and added
05aaebfb 31880 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31881 * include/grub/fs.h: new syntax for dir and mtime functions in
31882 struct grub_fs
05aaebfb 31883 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31884 and GRUB_FSHELP_FLAGS_MASK
31885 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31886 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31887 (grub_ext2_mtime): new function
31888 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31889 (grub_hfsplus_mtime): new function
31890 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31891 (GRUB_UFS_ATTR_FILE): likewise
31892 (GRUB_UFS_ATTR_LNK): likewise
31893 (struct grub_ufs_sblock): new fields mtime
31894 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31895 all users updated
31896 (grub_ufs_dir): mtime support
31897 (grub_ufs_mtime): new function
31898 * fs/affs.c (grub_affs_dir): use new dir syntax
31899 * fs/afs.c (grub_afs_dir): likewise
31900 * fs/cpio.c (grub_cpio_dir): likewise
31901 * fs/fat.c (grub_fat_find_dir): likewise
31902 * fs/hfs.c (grub_hfs_dir): likewise
31903 * fs/iso9660.c (grub_iso9660_dir): likewise
31904 * fs/jfs.c (grub_jfs_dir): likewise
31905 * fs/minix.c (grub_minix_dir): likewise
31906 * fs/ntfs.c (grub_ntfs_dir): likewise
31907 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31908 * fs/sfs.c (grub_sfs_dir): likewise
31909 * fs/xfs.c (grub_xfs_dir): likewise
31910 * util/hostfs.c (grub_hostfs_dir): likewise
31911 * lib/datetime.c: moved to ...
31912 * normal/datetime.c: ... moved here
31913 (grub_unixtime2datetime): new function
31914 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31915 * normal/completion.c (iterate_dir): use new dir syntax
31916 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31917 last modification time of a volume
7dd4a573 31918 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31919 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31921 (normal_mod_SOURCES): likewise
31922 (datetime_mod_SOURCES): Removed lib/datetime.c
31923 * conf/i386-efi.rmk: likewise
7dd4a573 31924 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31925 * conf/i386-pc.rmk: likewise
31926 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31927 * conf/sparc64-ieee1275.rmk: likewise
31928 * conf/x86_64-efi.rmk: likewise
05aaebfb 31929
8a7e1a14 319302009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31931
31932 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31933
31934 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31935 on grub_fat_find_dir
31936 (grub_fat_find_dir): use grub_fat_iterate_dir
31937 (grub_fat_label): likewise
31938
04186a9c 319392009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31940
7dd4a573 31941 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31942 and command.h
31943 remove extraneous kernel_elf_HEADERS
31944
da4c0bb6 319452009-04-04 Bean <bean123ch@gnail.com>
31946
31947 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31948
31949 * util/misc.c: Likewise.
31950
54ad9555 319512009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31952
31953 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31954 instead of grub_printf.
31955
7a6bf9f2 319562009-04-03 Robert Millan <rmh@aybabtu.com>
31957
31958 * loader/i386/linux.c (grub_linux_setup_video): Fill
31959 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31960 values from `mode info' structure instead of hardcoded
31961 values.
31962
3fcc2083 319632009-04-01 Pavel Roskin <proski@gnu.org>
31964
31965 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31966 unused now.
31967 * genmk.rb: Likewise.
31968 * configure.ac: Likewise.
31969
5ec9740b 319702009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31971
31972 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31973 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31974
5270cec8 319752009-04-01 David S. Miller <davem@davemloft.net>
31976
31977 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31978 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31979 (grub_setjmp): Mark with 'returns_twice' attribute.
31980 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31981 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31982 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31983
9c3dd854 319842009-04-01 Robert Millan <rmh@aybabtu.com>
31985
31986 Reapply fix from 2008-07-28 which was accidentally reverted; also
31987 perform the same fix to a similar check in same function.
31988
31989 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31990 with the same number are found, just use issue a warning with
31991 grub_dprintf(), as this error has been reported to be non-fatal.
31992
0d818b7e 319932009-03-31 Pavel Roskin <proski@gnu.org>
31994
31995 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31996 for cross-compilation.
31997
95646d92 319982009-03-30 Robert Millan <rmh@aybabtu.com>
31999
32000 Fix i386-ieee1275 build.
32001
32002 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32003 Remove declaration.
32004
6a003ed1 320052009-03-30 Pavel Roskin <proski@gnu.org>
32006
32007 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32008 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32009 zero-terminated, rely only on the strlen value. Fix comparison
32010 of strings differing in length.
32011
92f33540 320122009-03-30 Robert Millan <rmh@aybabtu.com>
32013
32014 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32015 checking for abi version. Improve error messages on BIOS to notify
32016 user about `linux16' command.
32017
a8c48fd5 320182009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32019
f968172e 32020 Leak fixes
a8c48fd5 32021
f968172e 32022 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32023 in case of collision
32024 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 32025
9c323f09 320262009-03-29 Robert Millan <rmh@aybabtu.com>
32027
32028 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32029 set `vid_mode' accordingly.
32030 (grub_linux_boot): Process `vid_mode' and set video mode.
32031
ae68f423 320322009-03-29 Robert Millan <rmh@aybabtu.com>
32033
32034 * util/grub.d/10_linux.in (linux_entry): New function.
32035 Factorize generation of Linux boot entries.
32036
5709cfc4 320372009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32038
32039 Make the format of Environment Block plain text. The boot loader
32040 part is not tested well yet.
7dd4a573 32041
5709cfc4 32042 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32043 (buffer): Removed.
32044 (envblk): Likewise.
32045 (usage): Remove "info" and "clear". Add "unset". Update the
32046 description of "set", as this does not delete variables any
32047 longer.
32048 (create_envblk_file): Complete rewrite.
32049 (open_envblk_file): Likewise.
32050 (cmd_info): Removed.
32051 (cmd_list): Likewise.
32052 (cmd_set): Likewise.
32053 (cmd_clear): Likewise.
32054 (list_variables): New function.
32055 (write_envblk): Likewise.
32056 (set_variables): Likewise.
32057 (unset_variables): Likewise.
32058 (main): Complete rewrite.
32059
32060 * commands/loadenv.c (buffer): Removed.
32061 (envblk): Likewise.
32062 (open_envblk_file): New function.
32063 (read_envblk_file): Complete rewrite.
32064 (grub_cmd_load_env): Likewise.
32065 (grub_cmd_list_env): Likewise.
32066 (struct blocklist): New struct.
32067 (free_blocklists): New function.
32068 (check_blocklists): Likewise.
32069 (write_blocklists): Likewise.
32070 (grub_cmd_save_env): Complete rewrite.
32071
32072 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32073 a plain text signature.
32074 (GRUB_ENVBLK_MAXLEN): Removed.
32075 (struct grub_envblk): Complete rewrite.
32076 (grub_envblk_find): Removed.
32077 (grub_envblk_insert): Likewise.
32078 (grub_envblk_open): New prototype.
32079 (grub_envblk_set): Likewise.
32080 (grub_envblk_delete): Put const to VALUE.
32081 (grub_envblk_iterate): Put const to NAME and VALUE.
32082 (grub_envblk_close): New prototype.
32083 (grub_envblk_buffer): New inline function.
32084 (grub_envblk_size): Likewise.
32085
32086 * lib/envblk.c: Include grub/mm.h.
32087 (grub_env_find): Removed.
32088 (grub_envblk_open): New function.
32089 (grub_envblk_close): Likewise.
32090 (escaped_value_len): Likewise.
32091 (find_next_line): Likewise.
32092 (grub_envblk_insert): Removed.
32093 (grub_envblk_set): New function.
32094 (grub_envblk_delete): Complete rewrite.
32095 (grub_envblk_iterate): Likewise.
32096
a9368fd3 320972009-03-28 Robert Millan <rmh@aybabtu.com>
32098
32099 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32100 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32101 variables. Use 16-bit loader.
32102 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32103 loader.
32104 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32105 (grub_linux16_boot): ... this. Update all users.
32106 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32107 (grub_linux_boot): ... this. Update all users.
32108
32109 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32110 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32111 commands to `linux16' and `initrd16'.
32112 (GRUB_MOD_FINI(linux)): Rename to ...
32113 (GRUB_MOD_FINI(linux16)): ... this.
32114
e4dd5a7e 321152009-03-24 Pavel Roskin <proski@gnu.org>
32116
32117 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32118 not just for compilation.
32119
c04d6e05 321202009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32121
32122 Move multiboot helper out of kernel
32123
32124 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32125 `loader/i386/multiboot_helper.S'.
32126 * conf/i386-coreboot.rmk: Likewise
32127 * conf/i386-ieee1275.rmk: Likewise
32128
32129 * kern/i386/loader.S: Move multiboot helpers from here...
32130 * loader/i386/multiboot_helper.S: ...moved here
32131 * include/grub/i386/loader.h: Move declarations of multiboot
32132 helpers from here...
32133 * include/grub/i386/multiboot.h: ...moved here
32134 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32135
42a5b3fc 321362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32137
32138 * kern/env.c (grub_env_context_open): Added an argument to specify
32139 whether a new context inherits exported variables from current
32140 one. This is useful when making a sandbox to interpret a config
32141 file.
32142 All callers updated.
32143
32144 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32145
b28bbc4e 321462009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32147
32148 * kern/env.c (grub_env_context_close): Fix memory leaks.
32149
f04f02e4 321502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32151
32152 * normal/main.c (grub_normal_execute): Added an argument
32153 BATCH to specify if an interactive interface should be provided
32154 after reading a config file.
32155 All callers updated.
32156 (read_command_list): Prevent being executed twice.
32157 (read_fs_list): Likewise.
32158
42a5b3fc 32159 * include/grub/normal.h (grub_normal_execute): Updated the
32160 prototype.
f04f02e4 32161
41473ac2 321622009-03-22 Pavel Roskin <proski@gno.org>
32163
fbc00b0c 32164 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32165 _start.
32166 * kern/i386/pc/startup.S: Likewise.
32167 * kern/i386/efi/startup.S: Likewise.
32168 * kern/i386/ieee1275/startup.S: Likewise.
32169 * kern/i386/coreboot/startup.S: Likewise.
32170 * kern/x86_64/efi/startup.S: Likewise.
32171
41473ac2 32172 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32173 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32174 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32175
2274cc8f 321762009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32177
32178 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32179
32180 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32181 limit detection.
32182 Use vaddr of correct segment for entry_point.
32183
b1b797cb 321842009-03-21 Bean <bean123ch@gmail.com>
32185
32186 * commands/blocklist.c: Add include file <grub/command.h>, remove
32187 <grub/normal.h> and <grub/arg.h>.
32188 (grub_cmd_blocklist): Use the new command interface.
32189 (GRUB_MOD_INIT): Likewise.
32190 (GRUB_MOD_FINI): Likewise.
32191 * commands/boot.c: Likewise.
32192 * commands/cat.c: Likewise.
32193 * commands/cmp.c: Likewise.
32194 * commands/configfile.c: Likewise.
32195 * commands/crc.c: Likewise.
32196 * commands/echo.c: Likewise.
32197 * commands/halt.c: Likewise.
32198 * commands/handler.c: Likewise.
32199 * commands/hdparm.c: Likewise.
32200 * commands/help.c: Likewise.
32201 * commands/hexdump.c: Likewise.
32202 * commands/loadenv.c: Likewise.
32203 * commands/ls.c: Likewise.
32204 * commands/lsmmap.c: Likewise.
32205 * commands/lspci.c: Likewise.
32206 * commands/loadenv.c: Likewise.
32207 * commands/read.c: Likewise.
32208 * commands/reboot.c: Likewise.
32209 * commands/search.c: Likewise.
32210 * commands/sleep.c: Likewise.
32211 * commands/test.c: Likewise.
32212 * commands/usbtest.c: Likewise.
32213 * commands/videotest.c: Likewise.
32214 * commands/i386/cpuid.c: Likewise.
32215 * commands/i386/pc/halt.c: Likewise.
32216 * commands/i386/pc/play.c: Likewise.
32217 * commands/i386/pc/pxecmd.c: Likewise.
32218 * commands/i386/pc/vbeinfo.c: Likewise.
32219 * commands/i386/pc/vbetest.c: Likewise.
32220 * commands/ieee1275/suspend.c: Likewise.
32221 * disk/loopback.c: Likewise.
32222 * font/font_cmd.c: Likewise.
32223 * hello/hello.c: Likewise.
32224 * loader/efi/appleloader.c: Likewise.
32225 * loader/efi/chainloader.c: Likewise.
32226 * loader/i386/bsd.c: Likewise.
32227 * loader/i386/efi/linux.c: Likewise.
32228 * loader/i386/ieee1275/linux.c: Likewise.
32229 * loader/i386/linux.c: Likewise.
32230 * loader/i386/pc/chainloader.c: Likewise.
32231 * loader/i386/pc/linux.c: Likewise.
32232 * loader/powerpc/ieee1275/linux.c: Likewise.
32233 * loader/multiboot_loader.c: Likewise.
32234 * term/gfxterm.c: Likewise.
32235 * term/i386/pc/serial.c: Likewise.
32236 * term/terminfo.c: Likewise.
32237
32238 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32239 * term/i386/pc/vga.c: Likewise.
32240 * video/readers/jpeg.c: Likewise.
32241 * video/readers/png.c: Likewise.
32242 * video/readers/tga.c: Likewise.
32243
32244 * util/grub-fstest (cmd_loopback): Removed.
32245 (cmd_blocklist): Likewise.
32246 (cmd_ls): Likewise.
32247 (grub_register_command): Likewise.
32248 (grub_unregister_command): Likewise.
32249 (execute_command): Use grub_command_find to locate command and execute
32250 it.
32251
32252 * include/grub/efi/chainloader.h: Removed.
32253 * loader/efi/chainloader_normal.c: Likewise.
32254 * loader/i386/bsd_normal.c: Likewise.
32255 * loader/i386/pc/chainloader_normal.c: Likewise.
32256 * loader/i386/pc/multiboot_normal.c: Likewise.
32257 * loader/linux_normal.c: Likewise.
32258 * loader/multiboot_loader_normal.c: Likewise.
32259 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32260
32261 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32262 and grub_register_command_p1.
32263
32264 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32265 kern/command.c, lib/arg.c and commands/extcmd.c.
32266 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32267 (minicmd_mod_SOURCES): New variable.
32268 (minicmd_mod_CFLAGS): Likewise.
32269 (minicmd_mod_LDFLAGS): Likewise.
32270 (extcmd_mod_SOURCES): Likewise.
32271 (extcmd_mod_CFLAGS): Likewise.
32272 (extcmd_mod_LDFLAGS): Likewise.
32273 (boot_mod_SOURCES): Removed.
32274 (boot_mod_CFLAGS): Likewise.
32275 (boot_mod_LDFLAGS): Likewise.
32276
32277 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32278 kern/corecmd.c.
32279 (kernel_img_HEADERS): Add command.h.
32280 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32281 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32282 and lib/arg.c.
32283 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32284 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32285 remove the corresponding normal mode command.
32286 (normal_mod_SOURCES): Remove normal/arg.c.
32287 * conf/i386-coreboot.rmk: Likewise.
32288 * conf/i386-efi.rmk: Likewise.
32289 * conf/i386-ieee1275.rmk: Likewise.
32290 * conf/powerpc-ieee1275.rmk: Likewise.
32291 * conf/x86_64-efi.rmk: Likewise.
32292
32293 * include/grub/arg.h: Move from here ...
32294 * include/grub/lib/arg.h: ... to here.
32295
32296 * normal/arg.c: Move from here ...
32297 * lib/arg.c: ... to here.
32298
32299 * commands/extcmd.c: New file.
32300 * commands/minicmd.c: Likewise.
32301 * include/grub/command.h: Likewise.
32302 * include/grub/extcmd.h: Likewise.
32303 * kern/command.c: Likewise.
32304 * kern/corecmd.c: Likewise.
32305
32306 * kern/list.c (grub_list_iterate): Return int instead of void.
32307 (grub_list_insert): New function.
32308 (grub_prio_list_insert): Likewise.
32309
32310 * kern/rescue.c (grub_rescue_command): Removed.
32311 (grub_rescue_command_list): Likewise.
32312 (grub_rescue_register_command): Likewise.
32313 (grub_rescue_unregister_command): Likewise.
32314 (grub_rescue_cmd_boot): Move to minicmd.c
32315 (grub_rescue_cmd_help): Likewise.
32316 (grub_rescue_cmd_info): Likewise.
32317 (grub_rescue_cmd_boot): Likewise.
32318 (grub_rescue_cmd_testload): Likewise.
32319 (grub_rescue_cmd_dump): Likewise.
32320 (grub_rescue_cmd_rmmod): Likewise.
32321 (grub_rescue_cmd_lsmod): Likewise.
32322 (grub_rescue_cmd_exit): Likewise.
32323 (grub_rescue_print_devices): Moved to corecmd.c.
32324 (grub_rescue_print_files): Likewise.
32325 (grub_rescue_cmd_ls): Likewise.
32326 (grub_rescue_cmd_insmod): Likewise.
32327 (grub_rescue_cmd_set): Likewise.
32328 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32329 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32330 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32331 commands, remove grub_rescue_register_command calls.
b1b797cb 32332
7d074e3c 32333 * normal/command.c (grub_register_command): Removed.
b1b797cb 32334 (grub_unregister_command): Likewise.
32335 (grub_command_find): Likewise.
32336 (grub_iterate_commands): Likewise.
32337 (rescue_command): Likewise.
32338 (export_command): Moved to corecmd.c.
32339 (set_command): Removed.
32340 (unset_command): Likewise.
32341 (insmod_command): Likewise.
32342 (rmmod_command): Likewise.
32343 (lsmod_command): Likewise.
32344 (grub_command_init): Likewise.
32345
32346 * normal/completion.c (iterate_command): Use cmd->prio to check for
32347 active command.
32348 (complete_arguments): Use grub_extcmd_t structure to find options.
32349 (grub_normal_do_completion): Change function grub_iterate_commands to
32350 grub_command_iterate.
32351
32352 * normal/execute.c (grub_script_execute_cmd): No need to parse
32353 argument here.
32354
32355 * normal/main.c (grub_dyncmd_dispatcher): New function.
32356 (read_command_list): Register unload commands as dyncmd.
32357 (grub_cmd_normal): Use new command interface, register rescue,
32358 unregister normal at entry, register normal, unregister rescue at exit.
32359
32360 * include/grub/list.h (grub_list_test_t): New type.
32361 (grub_list_iterate): Return int instead of void.
32362 (grub_list_insert): New function.
32363 (GRUB_AS_NAMED_LIST_P): New macro.
32364 (GRUB_AS_PRIO_LIST): Likewise.
32365 (GRUB_AS_PRIO_LIST_P): Likewise.
32366 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32367 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32368 (grub_prio_list): New structure.
32369 (grub_prio_list_insert): New function.
32370 (grub_prio_list_remove): New inline function.
32371
32372 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32373 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32374 (GRUB_COMMAND_FLAG_MENU): Likewise.
32375 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32376 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32377 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32378 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32379 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32380 (grub_command): Likewise.
32381 (grub_register_command): Likewise.
32382 (grub_command_find): Likewise.
32383 (grub_iterate_commands): Likewise.
32384 (grub_command_init): Likewise.
32385 (grub_arg_parse): Likewise.
32386 (grub_arg_show_help): Likewise.
32387
32388 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32389 (grub_rescue_unregister_command): Likewise.
32390
32391 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32392 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32393 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32394
32395 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32396 grub_rescue_cmd_initrd.
32397 * include/grub/i386/loader.h: Likewise.
32398 * include/grub/x86_64/loader.h: Likewise.
32399
32400 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32401
1f4147aa 324022009-03-21 Bean <bean123ch@gmail.com>
32403
32404 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32405 instead of stat in mingw environment.
32406
32407 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32408
32409 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32410
32411 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32412 AC_CONFIG_LINKS.
32413
2156d5ba 324142009-03-21 Bean <bean123ch@gmail.com>
32415
32416 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32417 out of range error.
32418
177b82ca 324192009-03-18 Michel Dänzer <michel@daenzer.net>
32420
32421 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32422 checking inode flags for EXT4_EXTENTS_FLAG.
32423
14aad807 324242009-03-18 Robert Millan <rmh@aybabtu.com>
32425
32426 * loader/i386/linux.c: Include `<grub/video.h>' and
32427 `<grub/i386/pc/vbe.h>'..
32428 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32429 (grub_linux32_boot): Attempt to configure video settings with
32430 grub_linux_setup_video().
32431 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32432 to avoid grub_console_fini() which would step out of graphical mode
32433 unconditionally.
32434
8cf83a27 324352009-03-14 Robert Millan <rmh@aybabtu.com>
32436
32437 Fix build on powerpc.
32438 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32439
40164e75 324402009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32441
32442 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32443 background image command.
32444
c58bc32a 324452009-03-12 Colin D Bennett <colin@gibibit.com>
32446
32447 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32448 (grub_gfxterm_putchar): Extract pairs of identical calls to
32449 draw_cursor out of conditional blocks.
32450
5415144a 324512009-03-11 Pavel Roskin <proski@gnu.org>
32452
32453 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32454 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32455
6394042e 324562009-03-11 Robert Millan <rmh@aybabtu.com>
32457
32458 * loader/i386/multiboot_elfxx.c
32459 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32460
b7b50e5f 324612009-03-11 Felix Zielcke <fzielcke@z-51.de>
32462
32463 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32464 `kern/handler.c'.
32465
1ca7fc96 324662009-03-11 Robert Millan <rmh@aybabtu.com>
32467
32468 * loader/i386/multiboot.c (code_size): New variable.
32469 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32470 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32471 4-byte alignment to MBI and others by increasing
7d074e3c 32472 `boot_loader_name_length' appropriately.
1ca7fc96 32473
32474 * loader/i386/multiboot_elfxx.c
32475 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32476
a83ea1d2 324772009-03-09 Felix Zielcke <fzielcke@z-51.de>
32478
32479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32480 `fs/ext2.c'.
32481
aa9f3bff 324822009-03-08 Robert Millan <rmh@aybabtu.com>
32483
32484 Make loader/i386/linux.c usable on i386-pc again.
32485
32486 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32487 memory to heap.
32488 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32489 `#error' stanza.
32490
d8b3b60e 324912009-03-07 Bean <bean123ch@gmail.com>
32492
32493 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32494 allocation.
32495
b362c9e9 324962009-03-06 Robert Millan <rmh@aybabtu.com>
32497
32498 Fix display issue on terminals with screen size other than 80x25
32499 (e.g. gfxterm with resolution higher than 640x480).
32500
32501 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32502 position relative to the center of the terminal instead of relying
b362c9e9 32503 on a hardcoded offset.
32504
9304eef1 325052009-03-04 Robert Millan <rmh@aybabtu.com>
32506
32507 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32508 installed.
32509
32510 * Makefile.in (host_kernel): New variable.
32511 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32512 scripts instead of just the windows one.
32513 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32514
eabc95fb 325152009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32516
32517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32518 `kern/handler.c'.
32519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32520 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32525
ceb1223c 325262009-03-04 Felix Zielcke <fzielcke@z-51.de>
32527
32528 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32529 or if there's no space for the disk label and print the partition number on a
32530 invalid magic.
32531
4910684a 325322009-03-04 Felix Zielcke <fzielcke@z-51.de>
32533
32534 * util/misc.c: Include <time.h>.
32535 (grub_millisleep): New function.
32536
7e9ca17a 325372009-03-04 Bean <bean123ch@gmail.com>
32538
32539 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32540 another option -mno-red-zone.
32541
32542 * commands/handler.c: Change module description.
32543
32544 * kern/handler.c: Add missing space at the end of description line.
32545
32546 * kern/list.c: Likewise.
32547
f501677c 325482009-03-03 Robert Millan <rmh@aybabtu.com>
32549
32550 Move more components to the relocation area, and fix mbi pointer
32551 handling to use the destination rather than the origin (thanks to
32552 Vladimir Serbinenko for spotting).
32553
32554 * loader/i386/multiboot.c (mbi_dest): New variable.
32555 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32556 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32557 relocation area.
32558
9902d047 325592009-03-01 Bean <bean123ch@gmail.com>
32560
50fb7002 32561 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32562 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32563 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32564 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32565
32566 * loader/i386/efi/linux.c (acpi_guid): New variable.
32567 (acpi_guid): Likewise.
32568 (EBDA_SEG_ADDR): New constant.
32569 (LOW_MEM_ADDR): Likewise.
32570 (FAKE_EBDA_SEG): Likewise.
32571 (fake_bios_data): New function.
32572 (grub_linux_boot): Call fake_bios_data.
32573
71b9f361 325742009-03-01 Bean <bean123ch@gmail.com>
32575
32576 * commands/terminal.c: Removed.
32577
32578 * commands/handler.c: New file.
32579
32580 * include/grub/list.h: Likewise.
32581
32582 * include/grub/handler.h: Likewise.
32583
32584 * kern/list.c: Likewise.
32585
32586 * kern/handler.c: Likewise.
32587
32588 * kern/term.h: Include header file <grub/handler.h>.
32589 (grub_term_input): Move next field to the beginning.
32590 (grub_term_output): Likewise.
32591 (grub_term_input_class): New variable.
32592 (grub_term_output_class): Likewise.
32593 (grub_term_register_input): Changed to inline function.
32594 (grub_term_register_output): Likewise.
32595 (grub_term_unregister_input): Likewise.
32596 (grub_term_unregister_output): Likewise.
32597 (grub_term_set_current_input): Likewise.
32598 (grub_term_set_current_output): Likewise.
32599 (grub_term_get_current_input): Likewise.
32600 (grub_term_get_current_output): Likewise.
32601 (grub_term_iterate_input): Removed.
32602 (grub_term_iterate_output): Likewise.
32603
32604 * kern/term.c (grub_term_list_input): Removed.
32605 (grub_term_list_output): Likewise.
32606 (grub_term_input_class): New variable.
32607 (grub_term_output_class): Likewise.
50fb7002 32608 (grub_cur_term_input): Change variable as macro.
71b9f361 32609 (grub_cur_term_output): Likewise.
32610 (grub_term_register_input): Removed.
32611 (grub_term_register_output): Likewise.
32612 (grub_term_unregister_input): Likewise.
32613 (grub_term_unregister_output): Likewise.
32614 (grub_term_set_current_input): Likewise.
32615 (grub_term_set_current_output): Likewise.
32616 (grub_term_iterate_input): Likewise.
32617 (grub_term_iterate_output): Likewise.
32618 (grub_term_get_current_input): Likewise.
32619 (grub_term_get_current_output): Likewise.
32620
32621 * util/grub-editenv.c: Include header file <grub/handler.h>.
32622 (grub_term_get_current_input): Removed.
32623 (grub_term_get_current_output): Likewise.
32624 (grub_term_input_class): New variable.
50fb7002 32625 (grub_term_output_class): Likewise.
71b9f361 32626
32627 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32628 (grub_term_get_current_output): Likewise.
32629 (grub_term_input_class): New variable.
50fb7002 32630 (grub_term_output_class): Likewise.
71b9f361 32631
32632 * util/grub-probe.c (grub_term_get_current_input): Removed.
32633 (grub_term_get_current_output): Likewise.
32634 (grub_term_input_class): New variable.
50fb7002 32635 (grub_term_output_class): Likewise.
71b9f361 32636
32637 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32638 (grub_term_get_current_output): Likewise.
32639 (grub_term_input_class): New variable.
50fb7002 32640 (grub_term_output_class): Likewise.
71b9f361 32641
32642 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32643 (terminal_mod_SOURCES): Likewise.
32644 (terminal_mod_CFLAGS): Likewise.
32645 (terminal_mod_LDFLAGS): Likewise.
32646
32647 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32648 handler.c.
32649 (kernel_img_SOURCES): Add list.c and handler.c.
32650 (kernel_img_HEADERS): Add list.h and handler.h.
32651
32652 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32653 handler.c.
32654 (kernel_mod_SOURCES): Add list.c and handler.c.
32655 (kernel_mod_HEADERS): Add list.h and handler.h.
32656
32657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32658 handler.c.
32659 (kernel_elf_SOURCES): Add list.c and handler.c.
32660 (kernel_elf_HEADERS): Add list.h and handler.h.
32661
32662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32663 handler.c.
32664 (kernel_elf_SOURCES): Add list.c and handler.c.
32665 (kernel_elf_HEADERS): Add list.h and handler.h.
32666
32667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32668 handler.c.
32669 (kernel_mod_SOURCES): Add list.c and handler.c.
32670 (kernel_mod_HEADERS): Add list.h and handler.h.
32671
32672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32673 handler.c.
32674 (kernel_elf_SOURCES): Add list.c and handler.c.
32675 (kernel_elf_HEADERS): Add list.h and handler.h.
32676
8a31787f 326772009-02-27 Robert Millan <rmh@aybabtu.com>
32678
32679 Factorize elf32 / elf64 code in Multiboot loader. This will
32680 prevent it from getting out of sync again.
32681
32682 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32683 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32684 grub_multiboot_load_elf64): Move from here ...
32685 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32686 grub_multiboot_load_elf): ... to here (new file).
32687
51cd3dfc 326882009-02-27 Robert Millan <rmh@aybabtu.com>
32689
32690 * util/grub.d/10_linux.in: Rename "single-user mode" to
32691 "recovery mode".
32692
6e8c9c3a 326932009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32694
32695 Don't leak in SCSI code.
32696 * disk/scsi.c (grub_scsi_close): free `scsi'.
32697
4b6bf4f9 326982009-02-27 Robert Millan <rmh@aybabtu.com>
32699
32700 * loader/i386/pc/multiboot.c: Move from here ...
32701 * loader/i386/multiboot.c: ... to here. Update all users.
32702
b9413424 327032009-02-27 Robert Millan <rmh@aybabtu.com>
32704
32705 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32706 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32707
50fb7002 327082009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32709
32710 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32711 b-tree.
32712
8cc50345 327132009-02-27 Robert Millan <rmh@aybabtu.com>
32714
32715 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32716 `0x' qualifier as 0 when base is specified as parameter).
32717
6e09b8b7 327182009-02-24 Bean <bean123ch@gmail.com>
32719
32720 * configure.ac: Check for -mcmodel=large in x86_64 target.
32721
32722 * include/grub/efi/api.h (efi_call_10): New macro.
32723 (efi_wrap_10): New function.
32724
32725 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32726 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32727 (GRUB_PE32_REL_BASED_LOW): Likewise.
32728 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32729 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32730 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32731 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32732 (GRUB_PE32_REL_BASED_REL): Likewise.
32733 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32734 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32735 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32736
32737 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32738 issue.
32739
32740 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32741 (efi_wrap_10): New function.
32742
32743 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32744
32745 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32746 MB/MBP model (NV chipset).
32747 (devdata_devs): Add devpath_5 to the list.
32748
32749 * load/i386/efi/linux.c (video_base): Remove variable.
32750 (RGB_MASK): New macro.
32751 (RGB_MAGIC): Likewise.
32752 (LINE_MIN): Likewise.
32753 (LINE_MAX): Likewise.
32754 (FBTEST_STEP): Likewise.
32755 (FBTEST_COUNT): Likewise.
32756 (fb_list): New variable.
32757 (grub_find_video_card): Remove function.
32758 (find_framebuf): New function.
32759 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32760 line length.
32761
32762 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32763 problem for x86_64.
32764
74b21bee 327652009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32766
32767 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32768
32769 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32770 coding tool name.
32771
a455f472 327722009-02-22 Robert Millan <rmh@aybabtu.com>
32773
32774 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32775 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32776 in our relocation, instead of using it directly from heap. Also
32777 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32778
6374daf3 327792009-02-21 Robert Millan <rmh@aybabtu.com>
32780
32781 Implement USB keyboard support (based on patch by Marco Gerards)
32782
32783 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32784 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32785 (usb_keyboard_mod_LDFLAGS): New variables.
32786
32787 * term/usb_keyboard.c: New file.
32788
8fa4ea70 327892009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32790
32791 Corrected wrong declaration
32792
32793 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32794
353976ac 327952009-02-14 Christian Franke <franke@computer.org>
32796
32797 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32798 (grub_lspci_iter): Print class code and programming interface byte.
32799
6aa1169b 328002009-02-14 Christian Franke <franke@computer.org>
32801
32802 * gendistlist.sh: Ignore `.svn' directories.
32803
265372ca 328042009-02-14 Felix Zielcke <fzielcke@z-51.de>
32805
32806 * fs/fat.c: Add 2009 to Copyright line.
32807
9ff516f3 328082009-02-14 Christian Franke <franke@computer.org>
32809
32810 * commands/hdparm.c: New file. Provides `hdparm' command
32811 which sends ATA commands via grub_disk_ata_pass_through ().
32812
32813 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32814
32815 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32816 and <grub/cpu/io.h> to include/grub/ata.h.
32817 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32818 (GRUB_CDROM_SECTOR_SIZE): Remove.
32819 (GRUB_ATA_*): Move to include/grub/ata.h.
32820 (GRUB_ATAPI_*): Likewise.
32821 (enum grub_ata_commands): Likewise.
32822 (enum grub_ata_timeout_milliseconds): Likewise.
32823 (struct grub_ata_device): Likewise.
32824 (grub_ata_regset): Likewise.
32825 (grub_ata_regget): Likewise.
32826 (grub_ata_regset2): Likewise.
32827 (grub_ata_regget2): Likewise.
32828 (grub_ata_check_ready): Likewise.
32829 (grub_ata_wait_not_busy): Remove static, exported in
32830 include/grub/ata.h.
32831 (grub_ata_wait_drq): Likewise.
32832 (grub_ata_pio_read): Likewise.
32833
32834 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32835 function for hdparm.mod.
32836
32837 * include/grub/ata.h: New file, contains declarations from
32838 disk/ata.c.
32839 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32840
32841 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32842 (grub_disk_ata_pass_through): New exported variable.
32843
32844 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32845
772e23da 328462009-02-13 Colin D Bennett <colin@gibibit.com>
32847
32848 Support multiple fallback entries, and provide an API to support
32849 executing default+fallback menu entries. Renamed the `terminal' menu
32850 viewer to `text'.
32851
32852 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32853 variable declaration.
32854 (grub_menu_execute_callback): New structure declaration.
32855 (grub_menu_execute_callback_t): New typedef.
32856 (grub_menu_execute_with_fallback): New function declaration.
32857 (grub_menu_get_entry): Likewise.
32858 (grub_menu_get_timeout): Likewise.
32859 (grub_menu_set_timeout): Likewise.
32860
32861 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32862
32863 * normal/menu.c (grub_wait_after_message): Moved to
32864 `normal/menu_text.c'.
32865 (draw_border): Likewise.
32866 (print_message): Likewise.
32867 (print_entry): Likewise.
32868 (print_entries): Likewise.
32869 (grub_menu_init_page): Likewise.
32870 (get_entry_number): Likewise.
32871 (print_timeout): Likewise.
32872 (run_menu): Likewise.
32873 (grub_menu_execute_entry): Likewise.
32874 (show_text_menu): Likewise.
32875 (get_and_remove_first_entry_number): New function.
32876 (grub_menu_execute_with_fallback): Likewise.
32877 (get_entry): Renamed to ...
32878 (grub_menu_get_entry): .. this and made it global.
32879 (get_timeout): Renamed to ...
32880 (grub_menu_get_timeout): ... this and made it global.
32881 (set_timeout): Renamed to ...
32882 (grub_menu_set_timeout): ... this and made it global.
32883 (grub_normal_terminal_menu_viewer): Renamed to ...
32884 (grub_normal_text_menu_viewer): ... this.
32885
32886 * normal/menu_text.c: New file. Extracted text-menu-specific code
32887 from normal/menu.c.
32888
32889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32890 (normal_mod_SOURCES): Likewise.
32891
32892 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32893 (normal_mod_SOURCES): Likewise.
32894
32895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32896 (normal_mod_SOURCES): Likewise.
32897
32898 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32899 (normal_mod_SOURCES): Likewise.
32900
32901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32902 (normal_mod_SOURCES): Likewise.
32903
32904 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32905 (normal_mod_SOURCES): Likewise.
32906
32907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32908 (normal_mod_SOURCES): Likewise.
32909
16ac430e 329102009-02-11 Robert Millan <rmh@aybabtu.com>
32911
32912 * util/grub.d/00_header.in: Update old reference to `font' command.
32913
06ff20fc 329142009-02-10 Felix Zielcke <fzielcke@z-51.de>
32915
32916 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32917
32918 Based on patch from Javier Martín.
32919
96da9407 329202009-02-09 Felix Zielcke <fzielcke@z-51.de>
32921
32922 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32923 to avoid false positives with FAT.
96da9407 32924 (grub_fstest_SOURCES): Likewise.
32925 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32928 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32929 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32931
6dca6fe4 329322009-02-09 Felix Zielcke <fzielcke@z-51.de>
32933
06ff20fc 32934 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32935 bpb.version_specific.fat12_or_fat16.fstype and
32936 bpb.version_specific.fat32.fstype.
32937
2550c62f 329382009-02-08 Robert Millan <rmh@aybabtu.com>
32939
be110b30 32940 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32941
56978920 329422009-02-08 Robert Millan <rmh@aybabtu.com>
32943
32944 * Makefile.in (host_os, host_cpu): New variables.
32945 (target_os): Remove. Update all users.
32946
d64399b5 329472009-02-08 Marco Gerards <marco@gnu.org>
32948
32949 * Makefile.in (enable_grub_emu_usb): New variable.
32950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32951 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32952 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32953 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32954 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32955 `usbtest.mod' and `usbms.mod'.
32956 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32957 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32958 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32959 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32960 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32961 variables.
32962
32963 * disk/usbms.c: New file.
32964
32965 * include/grub/usb.h: Likewise.
32966
32967 * include/grub/usbtrans.h: Likewise.
32968
32969 * include/grub/usbdesc.h: Likewise.
32970
32971 * bus/usb/usbtrans.c: Likewise.
32972
32973 * bus/usb/ohci.c: Likewise.
32974
32975 * bus/usb/uhci.c: Likewise.
32976
32977 * bus/usb/usbhub.c: Likewise.
32978
32979 * bus/usb/usb.c: Likewise.
32980
32981 * commands/usbtest.c: Likewise.
32982
32983 * util/usb.c: Likewise.
50fb7002 32984
d64399b5 32985 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32986
32987 * configure.ac: Test for libusb presence.
50fb7002 32988
d64399b5 32989 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32990
2b40d6bb 329912009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32992
32993 * kern/mm.c: Add more comments.
32994
73a4ce81 329952009-02-08 Robert Millan <rmh@aybabtu.com>
32996
32997 Patch from Javier Martín.
32998 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32999 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33000
f821ce59 330012009-02-08 Robert Millan <rmh@aybabtu.com>
33002
33003 * fs/cpio.c: Split tar functionality to ...
33004 * fs/tar.c: ... here (new file). Update all users.
33005
aebfc4b0 330062009-02-07 Robert Millan <rmh@aybabtu.com>
33007
33008 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33009 backward-incompatible features.
33010
33011 Based on patch from Javier Martín, with some adjustments.
33012
50fb7002 330132009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 33014
33015 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33016
0bb5115e 330172009-02-07 Robert Millan <rmh@aybabtu.com>
33018
33019 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33020 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33021 after the RAID stuff.
33022
38a0f8e7 330232009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33024
50fb7002 33025 Fixes problem when running vbetest command as reported by
38a0f8e7 33026 Vladimir Serbinenko <phcoder@gmail.com>.
33027
33028 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33029
3143cc1c 330302009-02-04 Felix Zielcke <fzielcke@z-51.de>
33031
33032 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33033 /dev/md/NpN style mdraid devices.
33034
9cba6fce 330352009-02-03 Felix Zielcke <fzielcke@z-51.de>
33036
33037 * util/unifont2pff.rb: Remove.
33038
e507a2c1 330392009-02-03 Felix Zielcke <fzielcke@z-51.de>
33040
33041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33042 `#'.
33043
d2c2b4cd 330442009-02-03 Felix Zielcke <fzielcke@z-51.de>
33045
33046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33053
b4315fb0 330542009-02-02 Christian Franke <franke@computer.org>
33055
33056 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33057
de3aa260 330582009-02-01 Felix Zielcke <fzielcke@z-51.de>
33059
7c3ff286 33060 * INSTALL: Note that we now require at least autoconf 2.59 and
33061 that LZO is optional.
de3aa260 33062
825a182b 330632009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33064
33065 Base on patch on bug #24154 created by Tomas Tintera
33066 <trosos@seznam.cz>.
33067
33068 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33069
a69ef770 330702009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33071
7c3ff286 33072 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 33073 <bero@arklinux.org>.
33074
33075 * normal/parser.y (script_init): Add missing semicolon.
33076
6fa42fa6 330772009-01-31 Colin D Bennett <colin@gibibit.com>
33078
7c3ff286 33079 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33080 (free_menu_entry_classes): Added.
33081 (grub_normal_menu_addentry): Added class property handling.
33082 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33083 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33084
33085 * normal/menu_viewer.c: New file.
33086
33087 * normal/menu.c (run_menu_entry): Renamed to ...
33088 (grub_menu_execute_entry): ... this and made it as global.
33089 (grub_menu_run): Renamed to ...
33090 (show_text_menu): ... this and made it local.
33091 (show_text_menu): Adapt to new function names.
33092 (grub_normal_terminal_menu_viewer): New global variable.
33093
33094 * include/grub/menu.h: New file.
33095
33096 * include/grub/menu_viewer.h: New file.
33097
33098 * include/grub/normal.h: Added include to grub/menu.h.
33099 (grub_menu_entry): Moved to include/grub/menu.h.
33100 (grub_menu_entry_t): Likewise.
33101 (grub_menu): Likewise.
33102 (grub_menu_t): Likewise.
33103 (grub_normal_terminal_menu_viewer): Added.
33104 (grub_menu_execute_entry): Likewise.
33105 (grub_menu_run): Removed.
33106
33107 * DISTLIST: Added include/grub/menu.h.
33108 Added include/grub/menu_viewer.h.
33109 Added normal/menu_viewer.c.
33110
331112009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33112
33113 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33114 arglist for menutitle arguments.
33115
33116 * normal/main.c (grub_normal_menu_addentry): Likewise.
33117
33118 * normal/parser.y (menuentry): Likewise.
33119
33120 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33121
33122 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33123 (grub_script_create_cmdmenu): Likewise.
33124
33125 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33126
33127 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33128 changes.
33129
33130 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33131
33132 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33133
33134 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33135
33136 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33137
33138 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33139
33140 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33141
56192c23 331422009-01-30 Christian Franke <franke@computer.org>
33143
33144 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33145 in option help text.
33146
d72521b3 331472009-01-27 Pavel Roskin <proski@gnu.org>
33148
33149 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33150
994b5e84 331512009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33152
33153 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33154
33155 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33156
33157 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33158 unregister function.
33159
6a7eab2c 331602009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33161
33162 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33163
33164 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33165
33166 * util/grub-mkfont.c (usage): Fix typo.
33167
33168 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33169
1806b56e 331702009-01-26 Daniel Mierswa <impulze@impulze.org>
33171
3fb18f09 33172 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33173
336e1fb9 33174 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33175
1806b56e 33176 * kern/misc.c (grub_strcasecmp): New function.
33177 (grub_strcasecmp): Use grub_size_t instead of int for length.
33178 Fix return value.
33179 * include/grub/misc.h: Update function prototypes.
33180
580b2a0f 331812009-01-26 Robert Millan <rmh@aybabtu.com>
33182
33183 * configure.ac: Fix cross-compilation check.
ef257b36 33184
d31c24f1 331852009-01-22 Christian Franke <franke@computer.org>
33186
33187 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33188 (precision) digit string. Allow `.format2' without `format1' (width).
33189 Limit input chars for `%s' output to `format2' if specified. This is
33190 compatible with standard printf ().
33191
3138b44c 331922009-01-22 Christian Franke <franke@computer.org>
33193
33194 * disk/ata.c (grub_ata_wait_status): Replace by ...
33195 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33196 other status bits may be invalid while BSY is asserted.
33197 (grub_ata_check_ready): New function.
33198 (grub_ata_cmd): Removed.
33199 (grub_ata_wait_drq): New function.
33200 (grub_ata_strncpy): Remove inline.
33201 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33202 and error check now done by grub_ata_wait_drq ().
33203 (grub_ata_pio_write): Likewise.
33204 (grub_atapi_identify): Set DEV before check for !BSY. Use
33205 grub_ata_wait_drq () to wait for data.
33206 (grub_ata_device_initialize): Add status register check to
33207 detect missing SATA slave devices. Add debug messages.
33208 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33209 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33210 transfer loop by grub_ata_pio_write ().
33211 (grub_ata_identify): Set DEV before check for !BSY. Use
33212 grub_ata_wait_drq () to wait for data.
ef257b36 33213 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33214 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33215 read/write in one loop. Fix invalid command on write. Fix incomplete
33216 command on (size % batch) == 0. Add missing error check after write of
33217 last block. Add debug messages.
33218 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33219
59a64ef6 332202009-01-19 Christian Franke <franke@computer.org>
33221
33222 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33223 (GRUB_ATAPI_IREASON_*): Likewise.
33224 (grub_ata_pio_write): Fix timeout error return.
33225 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33226 (grub_atapi_wait_drq): New function.
33227 (grub_atapi_packet): New parameter `size'.
33228 Use grub_atapi_wait_drq () and direct write instead of
33229 grub_ata_pio_write ().
33230 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33231 reads the number of bytes requested by the device for each DRQ
33232 assertion.
33233 (grub_atapi_write): Remove old implementation, return not
33234 implemented instead.
33235
1cfe20b3 332362009-01-19 Christian Franke <franke@computer.org>
33237
33238 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33239 of 512 to calculate data size.
33240 (grub_scsi_read12): Likewise.
33241 (grub_scsi_write10): Likewise.
33242 (grub_scsi_write12): Likewise.
33243 (grub_scsi_read): Adjust size according to blocksize.
33244 Add checks for invalid blocksize and unaligned transfer.
33245
bee5fe5d 332462009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33247
33248 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33249
ef257b36 33250 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33251 width glyphs.
33252
3e643f8c 332532009-01-19 Robert Millan <rmh@aybabtu.com>
33254
33255 * config.guess: Update to latest version from config git.
33256 * config.sub: Likewise.
33257
4fa80998 332582009-01-17 Felix Zielcke <fzielcke@z-51.de>
33259
33260 * Makefile.in: Change font compilation to use new grub-mkfont instead
33261 of java version.
33262
33263 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33264 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33265 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33266 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33267 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33268 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33269 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33270 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33271 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33272
7086085b 332732009-01-16 Christian Franke <franke@computer.org>
33274
33275 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33276 (enum grub_ata_timeout_milliseconds): New enum.
33277 (grub_ata_wait_status): Add parameter milliseconds.
33278 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33279 recovery from timed-out commands.
33280 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33281 return grub_errno instead of REG_ERROR.
33282 (grub_ata_pio_write): Add parameter milliseconds.
33283 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33284 Pass milliseconds to grub_ata_wait_status () and
33285 grub_ata_pio_read ().
33286 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33287 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33288 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33289 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33290 It is not suitable for device detection, because DEV bit is ignored,
33291 the command may run too long, and not all devices set the signature
33292 properly.
33293 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33294 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33295 Fix device selection, DEV bit must be set first to address the registers
33296 of the correct device.
33297 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33298 grub_ata_pio_read/write ().
33299 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33300 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33301
4a412913 333022009-01-13 Carles Pina i Estany <carles@pina.cat>
33303
33304 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33305
7795c55e 333062009-01-13 Bean <bean123ch@gmail.com>
d913988c 33307
33308 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33309
7795c55e 333102009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33311
33312 * Makefile.in: (enable_grub_mkfont): New variable.
33313 (freetype_cflags): Likewise.
33314 (freetype_libs): Likewise.
33315
33316 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33317 (grub_mkfont_SOURCES): New variable.
33318 (grub_mkfont_CFLAGS): Likewise.
33319 (grub_mkfont_LDFLAGS): Likewise.
33320
33321 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33322 library if `--enable-grub-mkfont' is requested.
33323 (enable_grub_mkfont): New variable.
33324 (freetype_cflags): Likewise.
33325 (freetype_libs): Likewise.
33326
33327 * util/grub-mkfont.c: New file.
33328
093af1fe 333292009-01-12 Christian Franke <franke@computer.org>
33330
33331 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33332 mode check. Fix setting of compat_use[].
33333
f36cc108 333342009-01-10 Robert Millan <rmh@aybabtu.com>
33335
33336 Update a few copyright years which we forgot to do in 2008 (only for
33337 files whose changes made in 2008 were copyright-significant)
33338
33339 * Makefile.in: Add 2008 to Copyright line.
33340 * disk/ieee1275/ofdisk.c: Likewise.
33341 * disk/efi/efidisk.c: Likewise.
33342 * kern/dl.c: Likewise.
33343 * kern/sparc64/ieee1275/init.c: Likewise.
33344 * kern/mm.c: Likewise.
33345 * kern/efi/mm.c: Likewise.
33346 * boot/i386/pc/boot.S: Likewise.
33347 * genfslist.sh: Likewise.
33348 * fs/iso9660.c: Likewise.
33349 * fs/hfs.c: Likewise.
33350 * fs/jfs.c: Likewise.
33351 * fs/minix.c: Likewise.
33352 * fs/ufs.c: Likewise.
33353 * gensymlist.sh.in: Likewise.
33354 * genkernsyms.sh.in: Likewise.
33355 * include/grub/misc.h: Likewise.
33356 * include/grub/types.h: Likewise.
33357 * include/grub/symbol.h: Likewise.
33358 * include/grub/elf.h: Likewise.
33359 * include/grub/kernel.h: Likewise.
33360 * include/grub/disk.h: Likewise.
33361 * include/grub/dl.h: Likewise.
33362 * include/grub/i386/linux.h: Likewise.
33363 * include/grub/i386/pc/biosdisk.h: Likewise.
33364 * include/grub/efi/api.h: Likewise.
33365 * include/grub/efi/pe32.h: Likewise.
33366 * include/grub/util/misc.h: Likewise.
33367 * normal/execute.c: Likewise.
33368 * normal/arg.c: Likewise.
33369 * normal/completion.c: Likewise.
33370 * normal/lexer.c: Likewise.
33371 * normal/parser.y: Likewise.
33372 * normal/misc.c: Likewise.
33373 * commands/i386/pc/vbeinfo.c: Likewise.
33374 * commands/hexdump.c: Likewise.
33375 * commands/terminal.c: Likewise.
33376 * commands/ls.c: Likewise.
33377 * commands/help.c: Likewise.
33378 * partmap/pc.c: Likewise.
33379 * loader/efi/chainloader.c: Likewise.
33380 * loader/multiboot_loader.c: Likewise.
33381 * loader/i386/pc/multiboot2.c: Likewise.
33382 * term/efi/console.c: Likewise.
33383 * term/i386/pc/serial.c: Likewise.
33384 * util/lvm.c: Likewise.
33385 * util/console.c: Likewise.
33386 * util/i386/efi/grub-mkimage.c: Likewise.
33387 * util/raid.c: Likewise.
33388
7f02114b 333892009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33390
33391 * commands/videotest.c: Removed include to grub/machine/memory.h.
33392
33393 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33394 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33395 (video_mod_SOURCES): Removed.
33396 (video_mod_CFLAGS): Likewise.
33397 (video_mod_LDFLAGS): Likewise.
33398 (gfxterm_mod_SOURCES): Likewise.
33399 (gfxterm_mod_CFLAGS): Likewise.
33400 (gfxterm_mod_LDFLAGS): Likewise.
33401 (videotest_mod_SOURCES): Likewise.
33402 (videotest_mod_CFLAGS): Likewise.
33403 (videotest_mod_LDFLAGS): Likewise.
33404 (bitmap_mod_SOURCES): Likewise.
33405 (bitmap_mod_CFLAGS): Likewise.
33406 (bitmap_mod_LDFLAGS): Likewise.
33407 (tga_mod_SOURCES): Likewise.
33408 (tga_mod_CFLAGS): Likewise.
33409 (tga_mod_LDFLAGS): Likewise.
33410 (jpeg_mod_SOURCES): Likewise.
33411 (jpeg_mod_CFLAGS): Likewise.
33412 (jpeg_mod_LDFLAGS): Likewise.
33413 (png_mod_SOURCES): Likewise.
33414 (png_mod_CFLAGS): Likewise.
33415 (png_mod_LDFLAGS): Likewise.
33416
33417 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33418 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33419 (video_mod_SOURCES): Added.
33420 (video_mod_CFLAGS): Likewise.
33421 (video_mod_LDFLAGS): Likewise.
33422 (videotest_mod_SOURCES): Likewise.
33423 (videotest_mod_CFLAGS): Likewise.
33424 (videotest_mod_LDFLAGS): Likewise.
33425 (bitmap_mod_SOURCES): Likewise.
33426 (bitmap_mod_CFLAGS): Likewise.
33427 (bitmap_mod_LDFLAGS): Likewise.
33428 (tga_mod_SOURCES): Likewise.
33429 (tga_mod_CFLAGS): Likewise.
33430 (tga_mod_LDFLAGS): Likewise.
33431 (jpeg_mod_SOURCES): Likewise.
33432 (jpeg_mod_CFLAGS): Likewise.
33433 (jpeg_mod_LDFLAGS): Likewise.
33434 (png_mod_SOURCES): Likewise.
33435 (png_mod_CFLAGS): Likewise.
33436 (png_mod_LDFLAGS): Likewise.
33437 (gfxterm_mod_SOURCES): Likewise.
33438 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33439 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33440
33441 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33442 grub/machine/console.h.
33443
644fff97 334442009-01-04 Jerone Young <jerone@gmail.com>
33445
33446 Make on screen instructions clearer
33447
33448 Based on patch created by Jidanni <jidanni@jidanni.org>
33449
33450 * normal/menu.c: print clearer instructions on the screen
33451
1e901a75 334522009-01-02 Colin D Bennett <colin@gibibit.com>
33453
33454 New font engine.
34c44600 33455
1e901a75 33456 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33457 build system and fixed gfxterm.c to work with different sized fonts.
33458
33459 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33460
1e901a75 33461 * configure: Re-generated.
34c44600 33462
1e901a75 33463 * DISTLIST: Removed font/manager.c.
33464 Added font/font.c.
33465 Added font/font_cmd.c.
34c44600 33466
1e901a75 33467 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33468 compilation.
34c44600 33469
1e901a75 33470 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33471
33472 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33473
33474 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33475
1e901a75 33476 * normal/menu.c: Likewise.
34c44600 33477
1e901a75 33478 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33479 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33480
1e901a75 33481 * include/grub/font.h: Replaced with new file.
34c44600 33482
1e901a75 33483 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33484 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33485 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33486 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33487 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33488 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33489 fg_red, fg_green, fg_blue, fg_alpha.
33490 (grub_video_adapter): Removed blit_glyph.
34c44600 33491 (grub_video_blit_glyph): Removed.
33492
1e901a75 33493 * font/manager.c: Removed file.
34c44600 33494
33495 * font/font.c: New file.
33496
1e901a75 33497 * font/font_cmd.c: Likewise.
34c44600 33498
1e901a75 33499 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33500
1e901a75 33501 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33502 (grub_video_vbe_map_rgba): Likewise.
33503 (grub_video_vbe_unmap_color_int): Likewise.
33504 (grub_video_vbe_blit_glyph): Removed.
33505 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33506
1e901a75 33507 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33508 (get_pixel): Likewise.
34c44600 33509 (set_pixel): Likewise.
33510
1e901a75 33511 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33512
1e901a75 33513 * term/gfxterm.c: Adapted to new font engine.
34c44600 33514
1e901a75 33515 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33516
1e901a75 33517 * term/i386/pc/vga.c: Likewise.
34c44600 33518
1e901a75 33519 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33520
1e901a75 33521 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33522
1e901a75 33523 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33524
1e901a75 33525 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33526
1e901a75 33527 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33528
1e901a75 33529 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33530
1e901a75 33531 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33532
1e901a75 33533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33534
1e901a75 33535 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33536
33537 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33538
1e901a75 33539 * util/grub-mkconfig_lib.in: Changed font extension.
33540
278922e8 335412008-12-28 Felix Zielcke <fzielcke@z-51.de>
33542
33543 * util/getroot.c (grub_util_get_grub_dev): Add support for
33544 /dev/md/dNNpNN style partitionable mdraid devices.
33545
3ced05cf 335462008-12-12 Alex Smith <alex@alex-smith.me.uk>
33547
33548 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33549 at a time limit of the PXE TFTP API correctly.
33550 (grub_pxefs_close): Likewise.
33551
7fd0ee30 335522008-11-29 Robert Millan <rmh@aybabtu.com>
33553
34c44600 33554 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33555 grub_ata_device_initialize() calls.
33556
34c44600 335572008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33558
33559 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33560 iteration failed.
33561 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33562
89313780 335632008-11-28 Robert Millan <rmh@aybabtu.com>
33564
33565 Fix build on powerpc-ieee1275. Based on patch created by
33566 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33567 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33568 `kern/ieee1275/mmap.c'.
33569 * include/grub/powerpc/ieee1275/memory.h: New file.
33570
15257703 33571 Provide grub-install on coreboot.
33572 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33573 (grub_install_SOURCES): New variable.
33574 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33575 usable on coreboot.
33576
9fc5388a 335772008-11-25 Felix Zielcke <fzielcke@z-51.de>
33578
33579 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33580 to `grub_term_input_t'.
33581 (grub_term_get_current_output): Change return type to
33582 `grub_term_output_t'.
33583
bc3a2f31 335842008-11-22 Robert Millan <rmh@aybabtu.com>
33585
34c44600 33586 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33587 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33588 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33589 grub_vga_text_cls().
33590
80fc88f2 33591 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33592 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33593
cbf36fd3 33594 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33595 to 0x200000 (avoids trouble with some OFW implementations, and matches
33596 with the one in Yaboot).
33597 Reported by Manoel Abranches
33598
73e8e268 335992008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33600
33601 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33602 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33603
73e8e268 33604 * util/grub-mkconfig_lib.in (grub_warn): New function.
33605 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33606 warnings, to obtain consistent formatting.
33607 * util/grub.d/00_header.in: Likewise.
33608 * util/update-grub_lib.in: Likewise.
33609
e94045a1 33610 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33611 Move comment text to `#error' stanza.
e94045a1 33612
79d29fd7 33613 Harmonize ieee1275's grub_available_iterate() with the generic
33614 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33615 build problem on i386-ieee1275):
33616 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33617 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33618 parameter `type'. Update all users of this function.
33619 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33620 `kern/ieee1275/mmap.c'.
33621 * kern/ieee1275/init.c
33622 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33623 with ...
33624 (grub_machine_mmap_iterate): ... this.
33625 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33626 return type to `grub_err_t'. Update all implementations of this
33627 function prototype.
33628 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33629 Likewise.
33630
60d6b16e 33631 Add `lsmmap' command (lists firmware-provided memory map):
33632 * commands/lsmmap.c: New file.
33633 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33634 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33635 variables.
33636 * conf/powerpc-ieee1275.rmk: Likewise.
33637 * conf/i386-coreboot.rmk: Likewise.
33638 * conf/i386-ieee1275.rmk: Likewise.
33639
ebaaf49b 336402008-11-19 Robert Millan <rmh@aybabtu.com>
33641
33642 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33643 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33644 constraints to initrd allocation (based on code from
33645 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33646 for Linux to find it.
ebaaf49b 33647
dfab719f 336482008-11-14 Robert Millan <rmh@aybabtu.com>
33649
33650 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33651 order to cope with duplicate slashes.
33652
10fc3eb9 336532008-11-14 Robert Millan <rmh@aybabtu.com>
33654
33655 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33656 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33657 don't want to mess with lower memory, because it is used in the Linux
33658 loader.
33659
33660 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33661 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33662 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33663 is in our heap (probably as a result of it being corrupted during
2f2a3442 33664 decompression). Add #error instance with comment to explain why this
33665 loader isn't currently usable on PC/BIOS.
10fc3eb9 33666
e2e07847 336672008-11-14 Robert Millan <rmh@aybabtu.com>
33668
33669 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33670 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33671
fe8e8d69 336722008-11-12 Robert Millan <rmh@aybabtu.com>
33673
33674 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33675
33676 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33677 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33678 from here ...
33679 * include/grub/i386/pc/memory.h: ... to here.
33680
976b07d0 336812008-11-12 Robert Millan <rmh@aybabtu.com>
33682
33683 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33684 split).
33685
33686 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33687 (grub_console_cur_color, grub_console_real_putchar)
33688 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33689 (grub_console_setcolorstate, grub_console_setcolor)
33690 (grub_console_getcolor): Move from here ...
33691 * include/grub/i386/vga_common.h: ... to here (new file).
33692
33693 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33694 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33695 `<grub/i386/io.h>'.
33696 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33697 `<grub/i386/vga_common.h>'.
33698
76679cd3 336992008-11-12 Robert Millan <rmh@aybabtu.com>
33700
33701 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33702 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33703 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33704 variables.
33705 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33706 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33707
33708 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33709 grub_console_init() with call to grub_vga_text_init().
33710 (grub_machine_fini): Replace call to
33711 grub_console_fini() with call to grub_vga_text_fini() and
33712 grub_at_keyboard_fini().
33713
33714 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33715 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33716 (grub_console_setcolorstate, grub_console_setcolor)
33717 (grub_console_getcolor): New function prototypes.
33718
33719 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33720 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33721 (grub_vga_text_setcursor): Static-ize.
33722 (grub_vga_text_term): New structure.
33723 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33724
33725 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33726 (grub_console_cur_color, grub_console_standard_color)
33727 (grub_console_normal_color, grub_console_highlight_color)
33728 (map_char, grub_console_putchar, grub_console_getcharwidth)
33729 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33730 (grub_console_getcolor): Move from here ...
33731 * term/i386/vga_common.c: ... to here (same function names).
33732
95b841d3 337332008-11-12 Robert Millan <rmh@aybabtu.com>
33734
33735 Use newly-added Multiboot support in coreboot.
33736
33737 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33738 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33739
33740 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33741 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33742 (codestart): Store the MBI in `startup_multiboot_info' when we're
33743 being loaded using Multiboot.
33744
33745 * kern/i386/coreboot/init.c (grub_machine_init): Move
33746 grub_at_keyboard_init() call to beginning of function (useful for
33747 debugging). Call grub_machine_mmap_init() before attempting to use
33748 grub_machine_mmap_iterate().
33749 (grub_lower_mem, grub_upper_mem): Move from here ...
33750 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33751 here (new file).
33752
33753 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33754 function prototype.
33755
761ca975 337562008-11-12 Robert Millan <rmh@aybabtu.com>
33757
33758 Fix a regression introduced by the at_keyboard.mod split. Because
33759 some terminals are default on some platforms and non-default on
33760 others, the first terminal being registered determines which is
33761 going to be default.
33762
33763 * kern/term.c (grub_term_register_input): If this is the first
33764 terminal being registered, set it as the current one.
33765 (grub_term_register_output): Likewise.
33766
33767 * term/efi/console.c (grub_console_init): Do not call
33768 grub_term_set_current_output() or grub_term_set_current_input().
33769 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33770 * term/i386/pc/console.c (grub_console_init): Likewise.
33771 (grub_console_fini): Do not call grub_term_set_current_input()
33772 (but leave grub_term_set_current_output() to restore text mode).
33773
6c529df7 337742008-11-10 Robert Millan <rmh@aybabtu.com>
33775
33776 * util/grub.d/00_header.in: Add backward compatibility check for
33777 versions of terminal.mod that don't understand `terminal_input' or
33778 `terminal_output'.
33779
132e4113 337802008-11-09 Robert Millan <rmh@aybabtu.com>
33781
33782 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33783 `terminal_input' / `terminal_output', not `terminal'.
33784
ac293d50 337852008-11-08 Robert Millan <rmh@aybabtu.com>
33786
33787 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33788 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33789
0025933a 337902008-11-08 Robert Millan <rmh@aybabtu.com>
33791
33792 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33793 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33794 members. Update all users.
33795 * util/console.c (grub_ncurses_term): Split in ...
33796 (grub_ncurses_term_input): ... this, and ...
33797 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33798 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33799
37c86336 338002008-11-08 Robert Millan <rmh@aybabtu.com>
33801
33802 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33803 (PKGDATA): Add $(pkgdata_SRCDIR).
33804 (pkglib_BUILDDIR): New variable.
33805 (pkgdata_SRCDIR): New variable.
33806 (build_env.mk): New target.
33807 (include_DATA): New variable.
33808 (install-local): Install $(include_DATA) files in $(includedir).
33809
b6c15a2d 338102008-11-07 Pavel Roskin <proski@gnu.org>
33811
d99d46f1 33812 * gendistlist.sh: Use C locale for sorting to ensure consistent
33813 output on all systems.
33814
b6c15a2d 33815 * util/grub.d/00_header.in: Remove incorrect space before
33816 "serial".
33817
c32ee8c9 338182008-11-07 Robert Millan <rmh@aybabtu.com>
33819
33820 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33821 per specification.
33822 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33823 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33824 (based on find_multi_boot1_header).
33825 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33826 using find_multi_boot2_header(), and abort if neither Multiboot or
33827 Multiboot headers were found.
33828
651c29b7 338292008-11-07 Robert Millan <rmh@aybabtu.com>
33830
33831 Modularize at_keyboard.mod:
33832
33833 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33834 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33835 (at_keyboard_mod_LDFLAGS): New variables.
33836
33837 Actual terminal split:
33838
33839 * include/grub/term.h (struct grub_term): Split in ...
33840 (struct grub_term_input): ... this, and ...
33841 (struct grub_term_output): ... this. Update all users.
33842 (grub_term_set_current): Split in ...
33843 (grub_term_set_current_input): ... this, and ...
33844 (grub_term_set_current_output): ... this.
33845 (grub_term_get_current): Split in ...
33846 (grub_term_get_current_input): ... this, and ...
33847 (grub_term_get_current_output): ... this.
33848 (grub_term_register): Split in ...
33849 (grub_term_register_input): ... this, and ...
33850 (grub_term_register_output): ... this.
33851 (grub_term_unregister): Split in ...
33852 (grub_term_unregister_input): ... this, and ...
33853 (grub_term_unregister_output): ... this.
33854 (grub_term_iterate): Split in ...
33855 (grub_term_iterate_input): ... this, and ...
33856 (grub_term_iterate_output): ... this.
33857
33858 * kern/term.c (grub_term_list): Split in ...
33859 (grub_term_list_input): ... this, and ...
33860 (grub_term_list_output): ... this. Update all users.
33861 (grub_cur_term): Split in ...
33862 (grub_cur_term_input): ... this, and ...
33863 (grub_cur_term_output): ... this. Update all users.
33864 (grub_term_set_current): Split in ...
33865 (grub_term_set_current_input): ... this, and ...
33866 (grub_term_set_current_output): ... this.
33867 (grub_term_get_current): Split in ...
33868 (grub_term_get_current_input): ... this, and ...
33869 (grub_term_get_current_output): ... this.
33870 (grub_term_register): Split in ...
33871 (grub_term_register_input): ... this, and ...
33872 (grub_term_register_output): ... this.
33873 (grub_term_unregister): Split in ...
33874 (grub_term_unregister_input): ... this, and ...
33875 (grub_term_unregister_output): ... this.
33876 (grub_term_iterate): Split in ...
33877 (grub_term_iterate_input): ... this, and ...
33878 (grub_term_iterate_output): ... this.
33879
33880 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33881 a check for input and one for output (and only attempt to get keys
33882 from user when input works).
33883
33884 * util/grub-probe.c (grub_term_get_current): Split in ...
33885 (grub_term_get_current_input): ... this, and ...
33886 (grub_term_get_current_output): ... this.
33887 * util/grub-fstest.c: Likewise.
33888 * util/i386/pc/grub-setup.c: Likewise.
33889 * util/grub-editenv.c: Likewise.
33890
33891 Portability adjustments:
33892
33893 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33894 `term/i386/pc/at_keyboard.c'.
33895 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33896 grub_keyboard_controller_init() (now handled by terminal .init).
33897 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33898 grub_at_keyboard_init().
33899 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33900 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33901 at_keyboard.mod via input terminal interface).
33902 * include/grub/i386/coreboot/console.h: Convert into a stub for
33903 `<grub/i386/pc/console.h>'.
33904
33905 Migrate full terminals to new API:
33906
33907 * term/efi/console.c (grub_console_term): Split into ...
33908 (grub_console_term_input): ... this, and ...
33909 (grub_console_term_output): ... this. Update all users.
33910 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33911 (grub_ofconsole_init): Split into ...
33912 (grub_ofconsole_init_input): ... this, and ...
33913 (grub_ofconsole_init_output): ... this.
33914 (grub_ofconsole_term): Split into ...
33915 (grub_ofconsole_term_input): ... this, and ...
33916 (grub_ofconsole_term_output): ... this. Update all users.
33917 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33918 (grub_serial_term_input): ... this, and ...
33919 (grub_serial_term_output): ... this. Update all users.
33920 * term/i386/pc/console.c (grub_console_term): Split into ...
33921 (grub_console_term_input): ... this, and ...
33922 (grub_console_term_output): ... this. Update all users.
33923 (grub_console_term_input): Only enable it on PC/BIOS platform.
33924 (grub_console_init): Remove grub_keyboard_controller_init() call.
33925
33926 Migrate input terminals to new API:
33927
33928 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33929 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33930 i386-specific anyway).
33931 (grub_console_checkkey): Rename to ...
33932 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33933 users.
33934 (grub_keyboard_controller_orig): New variable.
33935 (grub_console_getkey): Rename to ...
33936 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33937 users.
33938 (grub_keyboard_controller_init): Static-ize. Save original
33939 controller value so that it can be restored ...
33940 (grub_keyboard_controller_fini): ... here (new function).
33941 (grub_at_keyboard_term): New structure.
33942 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33943 functions.
33944
33945 Migrate output terminals to new API:
33946
33947 * term/i386/pc/vga.c (grub_vga_term): Change type to
33948 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33949 members. Update all users.
33950 * term/gfxterm.c (grub_video_term): Change type to
33951 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33952 members. Update all users.
33953 * include/grub/i386/pc/console.h (grub_console_checkkey)
33954 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33955 etc).
33956
33957 Migrate `terminal' command and userland tools to new API:
33958
33959 * commands/terminal.c (grub_cmd_terminal): Split into ...
33960 (grub_cmd_terminal_input): ... this, and ...
33961 (grub_cmd_terminal_output): ... this.
33962 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33963 `terminal_input' and `terminal_output'.
33964 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33965 `terminal_input' / `terminal_output' API.
33966 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33967 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33968 provided ${GRUB_TERMINAL}, convert it).
33969
96e5d876 339702008-11-04 Robert Millan <rmh@aybabtu.com>
33971
33972 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33973 for FreeBSD.
33974 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33975
556f3775 339762008-11-03 Bean <bean123ch@gmail.com>
33977
33978 * kern/elf.c (grub_elf32_load): Revert to previous code.
33979 (grub_elf64_load): Likewise.
33980
33981 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33982
926b9823 339832008-11-01 Robert Millan <rmh@aybabtu.com>
33984
33985 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33986 (TARGET_CPPFLAGS): Likewise.
33987 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33988
1432e958 339892008-11-01 Carles Pina i Estany <carles@pina.cat>
33990
33991 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33992
dba3f844 339932008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33994
33995 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33996 addition of objects until the code is not going to be able to fail.
33997
dba3f844 339982008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33999
34000 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34001 (add a missing NULL check, and correct them by moving the pointer
34002 operations after the actual check).
34003
7ab28c21 340042008-10-29 Robert Millan <rmh@aybabtu.com>
34005
34006 * util/i386/pc/grub-install.in: Handle empty string as output from
34007 make_system_path_relative_to_its_root().
34008
1b7748eb 340092008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34010
34011 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34012 circular metadata worst case scenario. If the metadata is circular
34013 then copy the wrap in place.
34014 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34015 project lib/format_text/layout.h
34016 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34017
c9618ab2 340182008-10-03 Felix Zielcke <fzielcke@z-51.de>
34019
7a36edca 34020 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 34021
bf981c62 340222008-10-03 Felix Zielcke <fzielcke@z-51.de>
34023
34024 * util/update-grub_lib.in: Mention filename in warning message.
34025
6d994591 340262008-09-29 Felix Zielcke <fzielcke@z-51.de>
34027
34028 * NEWS: Update for rename of update-grub to grub-mkconfig.
34029
18ade780 340302008-09-29 Felix Zielcke <fzielcke@z-51.de>
34031
34032 * util/update-grub_lib.in: Copy to ...
34033 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 34034 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 34035 * util/update-grub.in: Rename to ...
34036 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34037 option. Add `--output' option to allow users to specify the generated
34038 configuration file. Default to stdout.
34039 (update_grub_dir): Rename to ...
34040 (grub_mkconfig_dir): ... this.
34041 (grub_cfg): Default to an empty string.
34042 * conf/common.rmk (update-grub): Rename to ...
34043 (grub-mkconfig): ... this.
34044 (update-grub_lib): Copy to ...
34045 (grub-mkconfig_lib): ... this.
34046 (update-grub_SCRIPTS): Copy to ...
34047 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34048 (update-grub_DATA): Rename to ...
34049 (grub-mkconfig_DATA): ... this.
34050
556ce6ac 340512008-09-28 Robert Millan <rmh@aybabtu.com>
34052
34053 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34054 to `modified'. Add the real `created' field.
34055 (grub_iso9660_uuid): Use `modified' rather than `created' for
34056 constructing the UUID.
34057
340582008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 34059
34060 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34061 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34062
92274e85 340632008-09-28 Bean <bean123ch@gmail.com>
34064
34065 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34066 Thanks to Christian Franke for finding this bug.
34067
add6f17a 340682008-09-25 Robert Millan <rmh@aybabtu.com>
34069
34070 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34071 instances of grub_util_get_disk_name() (see previous commit).
34072
d2a367b8 340732008-09-25 Robert Millan <rmh@aybabtu.com>
34074
34075 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34076 `util/i386/get_disk_name.c'.
34077 * conf/i386-efi.rmk: Likewise.
34078 * conf/x86_64-efi.rmk: Likewise.
34079 * conf/i386-coreboot.rmk: Likewise.
34080 * conf/i386-ieee1275.rmk: Likewise.
34081 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34082 `util/ieee1275/get_disk_name.c'.
34083 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34084 * util/ieee1275/get_disk_name.c: Remove file.
34085 * util/i386/get_disk_name.c: Remove file.
34086 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34087 "hd%d" for device.map entries, rather than using
34088 grub_util_get_disk_name().
34089
81a06771 340902008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34091
34092 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34093 warning.
34094 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34095
5a004279 340962008-09-24 Carles Pina i Estany <carles@pina.cat>
34097
34098 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34099 Changed to 0x5100.
34100 (GRUB_TERM_PPAGE): Changed to 0x4900.
34101
397093d3 341022008-09-24 Robert Millan <rmh@aybabtu.com>
34103
34104 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34105 macros (they were i386-pc specific).
34106 * include/grub/sparc64/ieee1275/console.h: Likewise.
34107 * include/grub/efi/console.h: Likewise.
34108
a91b6c7c 341092008-09-22 Bean <bean123ch@gmail.com>
34110
34111 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34112 resident and in attribute list.
34113
34114 * include/grub/ntfs.h (BMP_LEN): Removed.
34115
c40fd116 341162008-09-22 Bean <bean123ch@gmail.com>
34117
81a06771 34118 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34119 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34120
34121 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34122 error occurs, as grub_disk_open will call grub_disk_close, which will
34123 call p->close (scsi).
34124
81a06771 341252008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34126
34127 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34128 (AC_PREREQ): Bumped to 2.59.
34129 (AC_TRY_COMPILE): Replace obsolete macro with ...
34130 (AC_COMPILE_IFELSE): ... this.
34131 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34132 (AC_LINK_IFELSE): ... this.
34133
5dc43410 341342008-09-21 Felix Zielcke <fzielcke@z-51.de>
34135
34136 * autogen.sh: Add a call to `gendistlist.sh'.
34137
9035dce4 341382008-09-19 Christian Franke <franke@computer.org>
34139
34140 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34141 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34142 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34143 Export __enable_execute_stack() to modules.
34144 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34145 New function.
34146
7fd75377 341472008-09-09 Felix Zielcke <fzielcke@z-51.de>
34148
040030b3 34149 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34150 Sort the list.
34151
341522008-09-09 Felix Zielcke <fzielcke@z-51.de>
34153
34154 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34155 #include <grub/util/hostdisk.h>.
34156
89d5ffcf 341572008-09-08 Robert Millan <rmh@aybabtu.com>
34158
34159 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34160 segments when their filesz is zero (grub_file_read() interprets
81a06771 34161 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34162 Use `lowest_segment' rather than 0 for calculating the current
34163 segment load address.
34164
40da438f 341652008-09-08 Robert Millan <rmh@aybabtu.com>
34166
34167 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34168 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34169 clobbered useful information.
34170
ddbf5556 341712008-09-08 Robert Millan <rmh@aybabtu.com>
34172
34173 * include/grub/util/biosdisk.h: Move to ...
34174 * include/grub/util/hostdisk.h: ... here. Update all users.
34175 * util/biosdisk.c: Move to ...
34176 * util/hostdisk.c: ... here. Update all users.
34177
783d0f48 341782008-09-07 Robert Millan <rmh@aybabtu.com>
34179
34180 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34181 variables.
34182 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34183 and length can be stored directly in the `mbi->mmap_addr' and
34184 `mbi->mmap_length' struct fields.
34185
548e2ea5 341862008-09-07 Robert Millan <rmh@aybabtu.com>
34187
34188 * conf/i386.rmk: New file. Provides declaration for building
34189 `cpuid.mod'.
34190 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34191 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34192 variables.
34193 Include `conf/i386.mk'.
34194 * conf/i386-efi.rmk: Likewise.
34195 * conf/x86_64-efi.rmk: Likewise.
34196 * conf/i386-coreboot.rmk: Likewise.
34197 * conf/i386-ieee1275.rmk: Likewise.
34198
0ea85a37 341992008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34200
34201 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34202 Adds optimization support for BGR based modes.
34203
34204 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34205 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34206 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34207 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34208 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34209 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34210 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34212 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34213 (grub_video_i386_vbeblit_index_index): Likewise.
34214 (grub_video_i386_vbeblit_replace_directN): Added.
34215 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34216 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34217 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34218 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34219 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34220 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34221 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34222 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34223 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34224 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34225 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34226 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34227 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34228
34229 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34230 (grub_video_i386_vbefill_R8G8B8): Likewise.
34231 (grub_video_i386_vbefill_index): Likewise.
34232 (grub_video_i386_vbefill_direct32): Added.
34233 (grub_video_i386_vbefill_direct24): Likewise.
34234 (grub_video_i386_vbefill_direct16): Likewise.
34235 (grub_video_i386_vbefill_direct8): Likewise.
34236
81a06771 34237 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34238 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34239 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34240 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34241 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34242 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34243
0ea85a37 34244 * video/video.c (grub_video_get_blit_format): Updated to use new
34245 blit formats. Added handling for 16 bit color modes.
81a06771 34246
34247 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34248 fillers.
34249 (common_blitter): Updated to use new blitters.
34250
34251 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34252 Removed.
34253 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34254 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34255 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34256 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34257 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34258 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34259 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34260 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34261 (grub_video_i386_vbeblit_index_index): Likewise.
34262 (grub_video_i386_vbeblit_replace_directN): Added.
34263 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34264 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34265 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34266 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34267 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34268 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34269 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34270 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34271 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34272 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34273 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34274 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34275 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34276
0ea85a37 34277 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34278 (grub_video_i386_vbefill_R8G8B8): Likewise.
34279 (grub_video_i386_vbefill_index): Likewise.
34280 (grub_video_i386_vbefill_direct32): Added.
34281 (grub_video_i386_vbefill_direct24): Likewise.
34282 (grub_video_i386_vbefill_direct16): Likewise.
34283 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34284
0ea85a37 34285 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34286 types.
81a06771 34287
0ea85a37 34288 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34289 types.
81a06771 34290
0ea85a37 34291 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34292 blitter types.
81a06771 34293
0ea85a37 34294 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34295 types.
34296
e8a83df6 342972008-09-06 Felix Zielcke <fzielcke@z-51.de>
34298
34299 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34300 RAID level 1.
34301
6bcd8ee5 343022008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34303
6bcd8ee5 34304 * fs/iso9660.c (grub_iso9660_date): New structure.
34305 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34306 (grub_iso9660_uuid): New function.
c375ae58 34307
59261157 343082008-09-05 Bean <bean123ch@gmail.com>
34309
34310 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34311
34312 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34313 insensitive bit for names in Win32 and Win32 & DOS namespace.
34314
34315 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34316
34317 * include/grub/types.h (LONG_MAX): Likewise.
34318
58b6645a 343192008-09-04 Felix Zielcke <fzielcke@z-51.de>
34320
4ee55921 34321 * util/getroot.c: Include <config.h>.
34322 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34323 add support for /dev/md/N devices and handle LVM double dash escaping.
34324
343252008-09-04 Felix Zielcke <fzielcke@z-51.de>
34326
34327 * config.guess: Update to latest version from config git.
34328 * config.sub: Likewise.
58b6645a 34329
9124f65d 343302008-09-03 Robert Millan <rmh@aybabtu.com>
34331
34332 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34333 `disk->total_sectors'.
34334
81a06771 343352008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34336
34337 * include/grub/normal.h: Fixed incorrect comment for
34338 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34339
81a06771 343402008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34341
34342 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34343 values with defines.
34344
34345 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34346 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34347 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34348 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34349 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34350 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34351 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34352 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34353 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34354 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34355 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34356 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34357 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34358 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34359 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34360 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34361 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34362 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34363 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34364
93d5cbf8 343652008-08-31 Robert Millan <rmh@aybabtu.com>
34366
34367 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34368 declaration.
34369 (grub_multiboot): Fix a few warnings.
34370
21751d50 343712008-08-31 Robert Millan <rmh@aybabtu.com>
34372
34373 * loader/i386/pc/multiboot.c: Update comment not to say that
34374 boot_device support is unimplemented.
34375
e27a75c5 343762008-08-31 Robert Millan <rmh@aybabtu.com>
34377
34378 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34379 or memory map support are unimplemented.
34380
81a06771 343812008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34382
34383 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34384
81a06771 343852008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34386
34387 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34388 total video memory in 'vbeinfo' output; show color format details for
34389 each video mode.
34390
7c5d8d95 343912008-08-30 Pavel Roskin <proski@gnu.org>
34392
34393 * util/genmoddep.c: Remove for real this time.
34394 * DISTLIST: Remove util/genmoddep.c.
34395
4cebd25a 343962008-08-30 Robert Millan <rmh@aybabtu.com>
34397
34398 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34399 as required by Multiboot spec (it was already 4-byte aligned, but
34400 only by chance).
34401
b497a269 344022008-08-29 Pavel Roskin <proski@gnu.org>
34403
e3925185 34404 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34405 * kern/powerpc/ieee1275/startup.S: ... this.
34406 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34407 * DISTLIST: Likewise.
34408
b497a269 34409 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34410 grub/cpu/kernel.h. Add start label for consistency with other
34411 platforms. Add grub_prefix immediately after start. Add jump
34412 to the code after grub_prefix.
34413 * include/grub/powerpc/kernel.h: Provide valid values for
34414 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34415
6e5a42fe 344162008-08-29 Bean <bean123ch@gmail.com>
34417
34418 * configure.ac: Change host_os to cygwin for mingw.
34419 (asprintf): New check for function.
34420
34421 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34422 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34423
34424 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34425 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34426 sync, sleep and grub_util_get_disk_size for mingw.
34427
34428 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34429 to get size in mingw.
34430 (open_device): Use flag O_BINARY if it's defined.
34431 (find_root_device): Add dummy code for mingw.
34432
34433 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34434 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34435 (get_scsi_disk_name): Return 0 for mingw.
34436
34437 * util/hostfs.c: #include <grub/util/misc.h>.
34438 (grub_hostfs_open): Use "rb" flag to open file, use
34439 grub_util_get_disk_size to get disk size for mingw.
34440
34441 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34442 (asprintf): New function if HAVE_ASPRINTF is not set.
34443 (sync): New function for mingw.
34444 (sleep): Likewise.
34445 (grub_util_get_disk_size): Likewise.
34446
ab3f2673 344472008-08-28 Pavel Roskin <proski@gnu.org>
34448
34449 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34450 kern/time.c.
34451
1c282483 344522008-08-28 Robert Millan <rmh@aybabtu.com>
34453
34454 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34455
678e849c 344562008-08-28 Robert Millan <rmh@aybabtu.com>
34457
34458 Change find_grub_drive() syntax so it doesn't prevent it from
34459 detecting NULL names as errors.
34460
34461 * util/biosdisk.c (find_grub_drive): Move free slot search code
34462 from here ...
34463 (find_free_slot): ... to here.
34464 (read_device_map): Use find_free_slot() to search for free slots.
34465
965c75ca 344662008-08-27 Marco Gerards <marco@gnu.org>
34467
34468 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34469 (scsi_mod_SOURCES): New variable.
34470 (scsi_mod_CFLAGS): Likewise
34471 (scsi_mod_LDFLAGS): Likewise.
34472
34473 * disk/scsi.c: New file.
34474
34475 * include/grub/scsi.h: Likewise.
34476
34477 * include/grub/scsicmd.h: Likewise.
34478
34479 * disk/ata.c: Include <grub/scsi.h>.
34480 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34481 instead.
34482 (grub_ata_iterate): Skip ATAPI devices.
34483 (grub_ata_open): Only handle ATAPI devices.
34484 (struct grub_atapi_read): Removed.
34485 (grub_atapi_readsector): Likewise.
34486 (grub_ata_read): No longer handle ATAPI devices.
34487 (grub_ata_write): Likewise.
34488 (grub_atapi_iterate): New function.
34489 (grub_atapi_read): Likewise.
34490 (grub_atapi_write): Likewise.
34491 (grub_atapi_open): Likewise.
34492 (grub_atapi_close): Likewise.
34493 (grub_atapi_dev): New variable.
34494 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34495 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34496
34497 * include/grub/disk.h (enum grub_disk_dev_id): Add
34498 `GRUB_DISK_DEVICE_SCSI_ID'.
34499
c07ae501 345002008-08-26 Robert Millan <rmh@aybabtu.com>
34501
34502 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34503 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34504 descriptive.
34505
5ed20adc 345062008-08-23 Bean <bean123ch@gmail.com>
34507
34508 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34509 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34510 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34511 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34512 dm_nv.mod.
34513 (raid5rec_mod_SOURCES): New macro.
34514 (raid5rec_mod_CFLAGS): Likewise.
34515 (raid5rec_mod_LDFLAGS): Likewise.
34516 (raid6rec_mod_SOURCES): Likewise.
34517 (raid6rec_mod_CFLAGS): Likewise.
34518 (raid6rec_mod_LDFLAGS): Likewise.
34519 (mdraid_mod_SOURCES): Likewise.
34520 (mdraid_mod_CFLAGS): Likewise.
34521 (mdraid_mod_LDFLAGS): Likewise.
34522 (dm_nv_mod_SOURCES): Likewise.
34523 (dm_nv_mod_CFLAGS): Likewise.
34524 (dm_nv_mod_LDFLAGS): Likewise.
34525
34526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34527 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34528 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34529
34530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34531 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34532
34533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34534
34535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34536
34537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34538
34539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34540
34541 * disk/raid5_recover.c: New file.
34542
34543 * disk/raid6_recover.c: Likewise.
34544
34545 * disk/mdraid_linux.c: Likewise.
34546
34547 * disk/dmraid_nvidia.c: Likewise.
34548
34549 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34550 ULONG_MAX.
34551
34552 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34553 calculate the size of raid device.
34554 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34555 different layout of raid5.
34556 (grub_raid_scan_device): Remove code specific to mdraid.
34557 (grub_raid_list): New variable.
34558 (free_array): New function.
34559 (grub_raid_register): Likewise.
34560 (grub_raid_unregister): Likewise.
34561 (grub_raid_rescan): Likewise.
34562 (GRUB_MOD_INIT): Don't iterate device here.
34563 (GRUB_MOD_FINI): Use free_array to release resource.
34564
34565 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34566 (grub_raid5_recover_func_t): New function variable type.
34567 (grub_raid6_recover_func_t): Likewise.
34568 (grub_raid5_recover_func): New variable.
34569 (grub_raid6_recover_func): Likewise.
34570 (grub_raid_register): New function.
34571 (grub_raid_unregister): Likewise.
34572 (grub_raid_rescan): Likewise.
34573 (grub_raid_block_xor): Likewise.
34574
34575 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34576 (CMD_CRC): New macro.
34577 (part): Removed.
34578 (read_file): Handle device as well as file.
34579 (cmd_crc): New function.
34580 (fstest): Handle multiple disks.
34581 (options): Remove part, raw and long, add root and diskcount.
34582 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34583 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34584 add handling for the new options, support multiple disks.
34585
34586 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34587
29c18915 345882008-08-23 Bean <bean123ch@gmail.com>
34589
34590 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34591
34592 * genfslist.sh: Ignore kernel.mod.
34593
34594 * genpartmaplist.sh: Likewise.
34595
8415f261 345962008-08-23 Robert Millan <rmh@aybabtu.com>
34597
34598 * util/getroot.c (find_root_device): Skip anything that starts with
34599 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34600
d5a7dc5b 346012008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34602
d5a7dc5b 34603 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34604 * util/grub.d/00_header.in: Allow the administrator to change default
34605 gfxmode via ${GRUB_GFXMODE}.
34606
380cfbb4 346072008-08-21 Felix Zielcke <fzielcke@z-51.de>
34608
34609 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34610
c9baafe7 346112008-08-21 Robert Millan <rmh@aybabtu.com>
34612
34613 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34614 loader.
34615 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34616 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34617
e290bef2 346182008-08-20 Carles Pina i Estany <carles@pina.cat>
34619
34620 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34621 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34622
f9dbfc96 346232008-08-19 Robert Millan <rmh@aybabtu.com>
34624
34625 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34626 (struct grub_virtual_screen): Remove `cursor_color'.
34627 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34628 initialization.
34629 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34630
dd6bd6ab 346312008-08-18 Robert Millan <rmh@aybabtu.com>
34632
34633 Unify (identical) linux_normal.c files.
34634 * loader/i386/efi/linux_normal.c: Move from here ...
34635 * loader/linux_normal.c: ... to here. Update all users.
34636 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34637 * loader/i386/ieee1275/linux_normal.c: Likewise.
34638
7f42f83e 346392008-08-18 Robert Millan <rmh@aybabtu.com>
34640
34641 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34642 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34643 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34644 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34645 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34646 New macros.
34647 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34648 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34649 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34650 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34651 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34652 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34653 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34654 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34655 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34656 portably using grub_getxy().
34657 Replace `-EFI' with `-bzImage' in boot message.
34658
38487ddb 346592008-08-17 Robert Millan <rmh@aybabtu.com>
34660
34661 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34662
deceb3ec 346632008-08-17 Robert Millan <rmh@aybabtu.com>
34664
34665 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34666
34667 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34668 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34669 (grub_machine_mmap_iterate): New function declaration.
34670 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34671 structure.
34672 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34673 macros.
34674
34675 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34676 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34677 Move e820 parsing from here ...
34678 * kern/i386/pc/mmap.c: New file.
34679 (grub_machine_mmap_iterate): ... to here.
34680
34681 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34682 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34683 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34684 (grub_available_iterate): Redeclare to return `void', and redeclare
34685 its hook to use grub_uint64_t as addr and size parameters, and rename
34686 to ...
34687 (grub_machine_mmap_iterate): ... this. Update all users.
34688
34689 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34690 to make it more readable. Rename to ...
34691 (grub_machine_mmap_iterate): ... this.
34692
34693 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34694 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34695 (grub_multiboot): Allocate an extra region after the payload, and fill
34696 it with a Multiboot memory map. Adjust a.out loader to calculate size
34697 with the extra space.
34698 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34699 with the extra space.
34700
f8aa0f43 347012008-08-17 Carles Pina i Estany <carles@pina.cat>
34702
9807deb9 34703 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34704
605f5bb6 347052008-08-17 Felix Zielcke <fzielcke@z-51.de>
34706
34707 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34708 mdate-sh to the list `find' searches for.
34709 * DISTLIST: Regenerated.
34710
210db6c6 347112008-08-16 Felix Zielcke <fzielcke@z-51.de>
34712
34713 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34714 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34715 genmoddep.awk, gensymlist.sh.in.
34716 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34717 * DISTLIST: Regenerated.
48cdbfd4 34718 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34719
1082b929 347202008-08-16 Robert Millan <rmh@aybabtu.com>
34721
34722 * disk/raid.c (grub_raid_init): Handle/report errors set by
34723 grub_device_iterate().
34724 * disk/lvm.c (grub_lvm_init): Likewise.
34725
42ce5170 347262008-08-15 Bean <bean123ch@gmail.com>
34727
34728 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34729 and datehook.mod.
34730 (datetime_mod_SOURCES): New macro.
34731 (datetime_mod_CFLAGS): Likewise.
34732 (datetime_mod_LDFLAGS): Likewise.
34733 (date_mod_SOURCES): Likewise.
34734 (date_mod_CFLAGS): Likewise.
34735 (date_mod_LDFLAGS): Likewise.
34736 (datehook_mod_SOURCES): Likewise.
34737 (datehook_mod_CFLAGS): Likewise.
34738 (datehook_mod_LDFLAGS): Likewise.
34739
34740 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34741 and datehook.mod.
34742 (datetime_mod_SOURCES): New macro.
34743 (datetime_mod_CFLAGS): Likewise.
34744 (datetime_mod_LDFLAGS): Likewise.
34745 (date_mod_SOURCES): Likewise.
34746 (date_mod_CFLAGS): Likewise.
34747 (date_mod_LDFLAGS): Likewise.
34748 (datehook_mod_SOURCES): Likewise.
34749 (datehook_mod_CFLAGS): Likewise.
34750 (datehook_mod_LDFLAGS): Likewise.
34751
34752 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34753 and datehook.mod.
34754 (datetime_mod_SOURCES): New macro.
34755 (datetime_mod_CFLAGS): Likewise.
34756 (datetime_mod_LDFLAGS): Likewise.
34757 (date_mod_SOURCES): Likewise.
34758 (date_mod_CFLAGS): Likewise.
34759 (date_mod_LDFLAGS): Likewise.
34760 (datehook_mod_SOURCES): Likewise.
34761 (datehook_mod_CFLAGS): Likewise.
34762 (datehook_mod_LDFLAGS): Likewise.
34763
34764 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34765 and datehook.mod.
34766 (datetime_mod_SOURCES): New macro.
34767 (datetime_mod_CFLAGS): Likewise.
34768 (datetime_mod_LDFLAGS): Likewise.
34769 (date_mod_SOURCES): Likewise.
34770 (date_mod_CFLAGS): Likewise.
34771 (date_mod_LDFLAGS): Likewise.
34772 (datehook_mod_SOURCES): Likewise.
34773 (datehook_mod_CFLAGS): Likewise.
34774 (datehook_mod_LDFLAGS): Likewise.
34775
34776 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34777 and datehook.mod.
34778 (datetime_mod_SOURCES): New macro.
34779 (datetime_mod_CFLAGS): Likewise.
34780 (datetime_mod_LDFLAGS): Likewise.
34781 (date_mod_SOURCES): Likewise.
34782 (date_mod_CFLAGS): Likewise.
34783 (date_mod_LDFLAGS): Likewise.
34784 (datehook_mod_SOURCES): Likewise.
34785 (datehook_mod_CFLAGS): Likewise.
34786 (datehook_mod_LDFLAGS): Likewise.
34787
34788 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34789
34790 * commands/date.c: New file.
34791
34792 * hook/datehook.c: Likewise.
34793
34794 * include/grub/lib/datetime.h: Likewise.
34795
34796 * include/grub/i386/cmos.h: Likewise.
34797
34798 * lib/datetime.c: Likewise.
34799
34800 * lib/i386/datetime.c: Likewise.
34801
34802 * lib/efi/datetime.c: Likewise.
34803
0e9242da 348042008-08-14 Robert Millan <rmh@aybabtu.com>
34805
34806 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34807 (grub_mkelfimage_SOURCES): New variable.
34808 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34809
34810 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34811 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34812 * conf/powerpc-ieee1275.rmk: Likewise.
34813 * conf/i386-ieee1275.rmk: Likewise.
34814
34815 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34816 * kern/i386/coreboot/init.c: Likewise.
34817
34818 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34819 with `<grub/cpu/kernel.h>'.
34820 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34821 to ...
34822 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34823 * kern/i386/coreboot/startup.S: Likewise.
34824
34825 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34826 (GRUB_MOD_GAP): Remove.
34827 * include/grub/powerpc/kernel.h: New file.
34828 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34829 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34830 * include/grub/i386/kernel.h: New file.
34831 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34832 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34833 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34834
34835 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34836 `grub-mkelfimage'.
34837 Use --directory when invoking grub_mkimage.
34838
34839 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34840 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34841 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34842 and GRUB_KERNEL_CPU_PREFIX.
34843
b86408f8 348442008-08-14 Felix Zielcke <fzielcke@z-51.de>
34845
d5e619ca 34846 * include/grub/err.h (grub_err_printf): New function prototype.
34847 * util/misc.c (grub_err_printf): New function.
34848 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34849 grub_printf.
34850 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34851
7161f0e0 348522008-08-13 Robert Millan <rmh@aybabtu.com>
34853
34854 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34855
a1967522 348562008-08-13 Robert Millan <rmh@aybabtu.com>
34857
34858 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34859 boot entry.
34860
371458b5 348612008-08-12 Robert Millan <rmh@aybabtu.com>
34862
34863 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34864 of the relocation code from here ...
34865 (grub_multiboot): ... to here.
34866 (forward_relocator, backward_relocator): Move from here ...
34867 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34868 (grub_multiboot_backward_relocator): ... to here.
34869 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34870 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34871 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34872 (grub_multiboot_forward_relocator_end)
34873 (grub_multiboot_backward_relocator)
34874 (grub_multiboot_backward_relocator_end): New variables.
34875
05f9452b 348762008-08-12 Bean <bean123ch@gmail.com>
34877
34878 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34879
20024ab0 348802008-08-11 Robert Millan <rmh@aybabtu.com>
34881
34882 * kern/i386/linuxbios/startup.S: Move from here ...
34883 * kern/i386/coreboot/startup.S: ... to here.
34884
34885 * kern/i386/linuxbios/init.c: Move from here ...
34886 * kern/i386/coreboot/init.c: ... to here.
34887
34888 * kern/i386/linuxbios/table.c: Move from here ...
34889 * kern/i386/coreboot/mmap.c: ... to here.
34890
34891 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34892
e352e9cd 348932008-08-11 Robert Millan <rmh@aybabtu.com>
34894
34895 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34896 errors. Leave it to the upper layer to handle them.
34897
2d05bc6a 348982008-08-09 Christian Franke <franke@computer.org>
34899
34900 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34901 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34902 Install `grub.d/10_windows' only on Cygwin.
34903 * configure.ac: Add subst of `target_os'.
34904 Check `target_os' also before setting TARGET_OBJ2ELF.
34905 Add `--enable-grub-pe2elf'.
34906
042bd419 349072008-08-08 Robert Millan <rmh@aybabtu.com>
34908
34909 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34910 (grub_last_time): Change type to grub_uint64_t.
34911 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34912 (grub_disk_close): Likewise.
34913
34914 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34915 (run_menu): Migrate code from to using grub_get_time_ms().
34916
34917 * util/misc.c (grub_get_time_ms): New function.
34918
7f280db5 349192008-08-08 Marco Gerards <marco@gnu.org>
34920
34921 * disk/ata.c (grub_ata_regget): Change return type to
34922 `grub_uint8_t'.
34923 (grub_ata_regget2): Likewise.
34924 (grub_ata_wait_status): New function.
34925 (grub_ata_wait_busy): Removed function, updated all users to use
34926 `grub_ata_wait_status'.
34927 (grub_ata_wait_drq): Likewise.
34928 (grub_ata_cmd): New function.
34929 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34930 error handling.
34931 (grub_ata_pio_write): Add error handling.
34932 (grub_atapi_identify): Likewise.
34933 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34934 handling.
34935 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34936 handling. Actually use the detected registers. Reorder the
34937 detection logic such that it is easier to read.
34938 (grub_ata_pciinit): Do not assign the same ID to each controller.
34939 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34940 handling.
34941 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34942
34943 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34944
1fbc5e66 349452008-08-08 Marco Gerards <marco@gnu.org>
34946
34947 * NEWS: Update.
34948
819ce6c0 349492008-08-07 Bean <bean123ch@gmail.com>
34950
34951 * include/grub/x86_64/pci.h: New file.
34952
5c41d44d 349532008-08-07 Christian Franke <franke@computer.org>
34954
34955 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34956 (TIMER2_GATE): Likewise.
34957 (grub_pit_wait): Add enable/disable of the timer2 gate
34958 bit of port 0x61. This fixes a possible infinite loop.
34959
5ebc275d 349602008-08-07 Bean <bean123ch@gmail.com>
34961
34962 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34963 kern/i386/tsc.c and kern/i386/pit.c.
34964
34965 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34966 x86_64 platform.
34967
34968 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34969 <grub/i386/tsc.h>.
34970
34971 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34972
e383b3d0 349732008-08-07 Bean <bean123ch@gmail.com>
34974
34975 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34976
34977 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34978
34979 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34980 multiple inclusion. Add #include <grub/types.h>.
34981
1cbb58ac 349822008-08-06 Christian Franke <franke@computer.org>
34983
34984 * conf/common.rmk: Build and install `10_windows'.
34985 * util/grub.d/10_windows.in: New script.
34986
337f5a1e 349872008-08-06 Pavel Roskin <proski@gnu.org>
34988
34989 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34990
057bc4ac 349912008-08-06 Robert Millan <rmh@aybabtu.com>
34992
34993 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34994 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34995
2b99f123 349962008-08-06 Bean <bean123ch@gmail.com>
34997
34998 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34999 (grub_pxefs_fs_int): Remove dummy definition.
35000 (grub_pxefs_open): Use data->block_size to store the current block
35001 size setting.
35002 (grub_pxefs_read): Use block size stored in data->block_size. As the
35003 value of grub_pxe_blksize can be changed after the file is opened.
35004
9f0234cb 350052008-08-06 Bean <bean123ch@gmail.com>
35006
35007 * fs/i386/pc/pxe.c (curr_file): new variable.
35008 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35009 require the dummy internal file system anymore.
35010 (grub_pxefs_read): Removed.
35011 (grub_pxefs_close): Likewise.
35012 (grub_pxefs_fs_int): Likewise.
35013 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35014 connection when we switch file.
35015 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35016
a55d42e0 350172008-08-06 Robert Millan <rmh@aybabtu.com>
35018
35019 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35020 `halt.mod'.
35021 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35022 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35023
35024 * kern/i386/halt.c: New file.
35025 * kern/i386/reboot.c: Likewise.
35026 * include/grub/i386/reboot.h: Likewise.
35027 * include/grub/i386/halt.h: Likewise.
35028
35029 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35030 Include `<grub/cpu/halt.h>'.
35031 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35032 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35033
35034 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35035 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35036 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35037 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35038 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35039 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35040 from here ...
35041 * include/grub/i386/at_keyboard.h: ... to here.
35042
24371d26 350432008-08-05 Robert Millan <rmh@aybabtu.com>
35044
35045 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35046 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35047 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35048 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35049 `kern/generic/millisleep.c'.
35050
35051 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35052 instead of grub_get_rtc().
35053 (grub_tsc_init): Initialize `tsc_boot_time'.
35054
35055 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35056 (grub_machine_init): Use grub_tsc_init() rather than
35057 installing an RTC-based handler via grub_install_get_time_ms().
35058
35059 * kern/i386/pit.c: New file.
35060 * include/grub/i386/pit.h: Likewise.
35061
9e7007b3 350622008-08-05 Bean <bean123ch@gmail.com>
35063
35064 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35065
35066 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35067 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35068 (pxe_mod_SOURCES): New macro.
35069 (pxe_mod_CFLAGS): Likewise.
35070 (pxe_mod_LDFLAGS): Likewise.
35071 (pxecmd_mod_SOURCES): Likewise.
35072 (pxecmd_mod_CFLAGS): Likewise.
35073 (pxecmd_mod_LDFLAGS): Likewise.
35074
35075 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35076 (grub_pxe_call): Likewise.
35077
35078 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35079
35080 * commands/i386/pc/pxecmd.c: New file.
35081
9f0234cb 35082 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35083
35084 * include/grub/i386/pc/pxe.h: Likewise.
35085
6977d49f 350862008-08-05 Bean <bean123ch@gmail.com>
35087
35088 * util/console.c (grub_console_cur_color): New variable.
35089 (grub_console_standard_color): Likewise.
35090 (grub_console_normal_color): Likewise.
35091 (grub_console_highlight_color): Likewise.
35092 (color_map): Likewise.
35093 (use_color): Likewise.
35094 (NUM_COLORS): New macro.
35095 (grub_ncurses_setcolorstate): Handle color properly.
35096 (grub_ncurses_setcolor): Don't change color here, just remember the
35097 settings, color will be set in grub_ncurses_setcolorstate.
35098 (grub_ncurses_getcolor): New function.
35099 (grub_ncurses_init): Initialize color pairs.
35100 (grub_ncurses_term): New member grub_ncurses_getcolor.
35101
9c2ff3ee 351022008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35103
9c2ff3ee 35104 High resolution timer support. Implemented for x86 CPUs using TSC.
35105 Extracted generic grub_millisleep() so it's linked in only as needed.
35106 This requires a Pentium compatible CPU; if the RDTSC instruction is
35107 not supported, then it falls back on the generic grub_get_time_ms()
35108 implementation that uses the machine's RTC.
35109
35110 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35111 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35112 `kern/generic/millisleep.c'.
35113
35114 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35115 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35116
35117 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35118 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35119
35120 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35121
35122 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35123 `kern/generic/millisleep.c'.
35124
35125 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35126
35127 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35128
35129 * kern/generic/rtc_get_time_ms.c: New file.
35130
35131 * kern/generic/millisleep.c: New file.
337f5a1e 35132
9c2ff3ee 35133 * kern/misc.c: Don't include
35134 <kern/time.h> anymore.
35135 (grub_millisleep_generic): Removed.
35136
35137 * commands/sleep.c (grub_interruptible_millisleep): Uses
35138 grub_get_time_ms() instead of grub_get_rtc().
35139
35140 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35141 function.
35142 (grub_cpu_is_cpuid_supported): New inline function.
35143 (grub_cpu_is_tsc_supported): New inline function.
35144 (grub_tsc_init): New function prototype.
35145 (grub_tsc_get_time_ms): New function prototype.
35146
35147 * kern/i386/tsc.c (grub_get_time_ms): New file.
35148
35149 * include/grub/time.h: Include <grub/types.h.
35150 (grub_millisleep_generic): Removed.
35151 (grub_get_time_ms): New prototype.
35152 (grub_install_get_time_ms): New prototype.
35153 (grub_rtc_get_time_ms): New prototype.
35154
35155 * kern/time.c (grub_get_time_ms): New function.
35156 (grub_install_get_time_ms): New function.
35157
35158 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35159 <grub/time.h> anymore.
35160 (grub_millisleep): Removed.
35161 (grub_machine_init): Call grub_tsc_init.
35162
35163 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35164 get_time_ms() implementation.
35165
35166 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35167 (ieee1275_get_time_ms): New function.
35168 (grub_machine_init): Install get_time_ms() implementation.
35169
35170 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35171 (grub_machine_init): Call grub_tsc_init().
35172 (grub_millisleep): Removed.
bf06a93f 35173
9c2ff3ee 35174 * kern/ieee1275/init.c (grub_millisleep): Removed.
35175 (grub_machine_init): Install ieee1275_get_time_ms()
35176 implementation.
35177 (ieee1275_get_time_ms): New function.
35178 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35179 real work.
35180
9ec92aaf 351812008-08-05 Marco Gerards <marco@gnu.org>
35182
35183 * disk/ata.c: Include <grub/pci.h>.
35184 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35185 (grub_ata_initialize): Rewritten.
35186 (grub_ata_device_initialize): New function.
35187
8d23f507 351882008-08-04 Pavel Roskin <proski@gnu.org>
35189
35190 * kern/main.c: Include grub/mm.h.
35191
5e15ee3d 351922008-08-04 Robert Millan <rmh@aybabtu.com>
35193
35194 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35195 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35196 corruption problem).
35197
a9053f8f 351982008-08-04 Robert Millan <rmh@aybabtu.com>
35199
35200 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35201 warnings introduced in my last commit.
35202
dd19c7d7 352032008-08-03 Robert Millan <rmh@aybabtu.com>
35204
35205 Make PCI available on all i386 architectures.
35206
35207 * include/grub/i386/pc/pci.h: Move from here ...
35208 * include/grub/i386/pci.h: ... to here.
35209
35210 * include/grub/i386/pc/pci.h: Remove.
35211 * include/grub/i386/efi/pci.h: Remove.
35212 * include/grub/x86_64/efi/pci.h: Remove.
35213
35214 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35215 `<grub/cpu/pci.h>'.
35216
35217 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35218 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35219 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35220
35221 * conf/i386-ieee1275.rmk: Likewise.
35222
e14a6184 352232008-08-03 Robert Millan <rmh@aybabtu.com>
35224
35225 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35226 (grub_console_setcursor): Make it possible to set cursor off.
35227
52768e37 352282008-08-03 Robert Millan <rmh@aybabtu.com>
35229
35230 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35231 of modules instead of assuming which platform provides what.
35232 * util/update-grub.in: Likewise.
35233
2d52f57f 352342008-08-03 Robert Millan <rmh@aybabtu.com>
35235
35236 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35237 instead of `grub_install_dos_part' to determine whether a drive needs
35238 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35239 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35240
2a5cd121 352412008-08-02 Robert Millan <rmh@aybabtu.com>
35242
35243 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35244
93808428 352452008-08-02 Robert Millan <rmh@aybabtu.com>
35246
35247 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35248 of informational grub_dprintf() calls.
35249
3bd0a12a 352502008-08-02 Robert Millan <rmh@aybabtu.com>
35251
35252 * disk/memdisk.c (memdisk_size): Don't initialize.
35253 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35254
35255 * include/grub/i386/pc/kernel.h
35256 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35257 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35258 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35259 (grub_arch_memdisk_size): Remove.
35260
35261 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35262 field (was only used to transfer a constant). Add `type' field to
35263 support multiple module types.
35264 (grub_module_iterate): New function.
35265
35266 * kern/device.c (grub_device_open): Do not hide error messages
35267 when grub_disk_open() fails. Use grub_print_error() instead.
35268
35269 * kern/i386/pc/init.c (grub_arch_modules_addr)
35270 (grub_arch_memdisk_size): Remove functions.
35271 (grub_arch_modules_addr): Return the module address in high memory
35272 (now that it isn't copied anymore).
35273
35274 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35275 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35276 decompression routine (grub_total_module_size already includes that
35277 now). Don't copy modules back to low memory.
35278
35279 * kern/main.c: Include `<grub/mm.h>'.
35280 (grub_load_modules): Split out (and use) ...
35281 (grub_module_iterate): ... this function, which iterates through
35282 module objects and runs a hook.
35283 Comment out grub_mm_init_region() call, as it would cause non-ELF
35284 modules to be overwritten.
35285
35286 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35287 the memdisk image in its own region, make it part of the module list.
35288 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35289 (main): Parse --memdisk|-m option, and pass user-provided path as
35290 parameter to generate_image().
35291 (add_segments): Pass `memdisk_path' down to load_modules().
35292 (load_modules): Embed memdisk image in module section when requested.
35293 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35294 `header.type' instead of `header.offset'.
35295
35296 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35297 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35298 (memdisk_mod_LDFLAGS): New variables.
35299 * conf/i386-coreboot.rmk: Likewise.
35300 * conf/i386-ieee1275.rmk: Likewise.
35301
a927cc73 353022008-08-02 Robert Millan <rmh@aybabtu.com>
35303
35304 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35305 (backward_relocator): New variables. Used to allocate and relocate
35306 the payload, respectively.
35307 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35308 address, install the appropriate relocator code in each bound of
a927cc73 35309 the payload, and set the entry point such that
35310 grub_multiboot_real_boot() will jump to one of them.
35311
35312 * kern/i386/loader.S (grub_multiboot_payload_size)
35313 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35314 (grub_multiboot_payload_entry_offset): New variables.
35315 (grub_multiboot_real_boot): Set cpu context to what the relocator
35316 expects, and jump to the relocator instead of the payload.
35317
35318 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35319 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35320 (grub_multiboot_payload_entry_offset): Export.
35321
b15d8a0c 353222008-08-01 Bean <bean123ch@gmail.com>
35323
35324 * normal/menu_entry.c (editor_getline): Don't return the original
35325 string as result, as it will be released by lexer once it has done
35326 using it.
35327
cdfb3d22 353282008-08-01 Robert Millan <rmh@aybabtu.com>
35329
35330 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35331 within menuentries, not before them.
35332 util/grub.d/10_hurd.in: Likewise.
35333
9175e93d 353342008-08-01 Bean <bean123ch@gmail.com>
35335
35336 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35337 (bufio_mod_SOURCES): New macro.
35338 (bufio_mod_CFLAGS): Likewise.
35339 (bufio_mod_LDFLAGS): Likewise.
35340
35341 * include/grub/bufio.h: New file.
35342
35343 * io/bufio.c: Likewise.
35344
35345 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35346 (grub_video_reader_png): Use grub_buffile_open to open file.
35347
35348 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35349 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35350
35351 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35352 (grub_video_reader_tga): Use grub_buffile_open to open file.
35353
35354 * font/manager.c: Include <grub/bufio.h>.
35355 (add_font): Use grub_buffile_open to open file.
35356
3d8383e7 353572008-07-31 Robert Millan <rmh@aybabtu.com>
35358
35359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35360 ELF segments, use a macro for arbitrarily accessing any of them instead
35361 of preparing a pointer that allows access to one at a time.
35362 (grub_multiboot_load_elf64): Likewise.
35363
16e641b6 353642008-07-31 Bean <bean123ch@gmail.com>
35365
35366 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35367 GRUB_KERNEL_MACHINE_DATA_END.
35368
59198b72 353692008-07-30 Robert Millan <rmh@aybabtu.com>
35370
35371 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35372 Increase from 0x50 to 0x60.
35373 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35374 use UUIDs to identify the root drive for them. If that's not
35375 possible, abort.
35376 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35377 check, for cross-disk installs.
35378
ae88bca3 353792008-07-30 Robert Millan <rmh@aybabtu.com>
35380
35381 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35382 is non-empty, use it to set the `prefix' environment variable instead
35383 of the usual approach.
35384 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35385 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35386 environment variable instead of dummy make_install_device().
35387
35388 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35389 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35390 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35391
35392 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35393 New variable reference.
35394 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35395 New macro. Defines offset of `grub_prefix' within startup.S (relative
35396 to `start').
35397 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35398 section within startup.S (relative to `start').
35399 * include/grub/i386/coreboot/kernel.h: Likewise.
35400
35401 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35402 Overwrite grub_prefix with its contents, at the beginning of the
35403 first segment.
35404 (main): Understand -p|--prefix.
35405
14f41dd1 354062008-07-30 Robert Millan <rmh@aybabtu.com>
35407
35408 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35409
4ca049a3 354102008-07-30 Robert Millan <rmh@aybabtu.com>
35411
35412 * term/i386/pc/vga_text.c (grub_console_cls): Use
35413 grub_console_gotoxy() to go back to beginning of the screen.
35414 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35415
2921d337 354162008-07-29 Christian Franke <franke@computer.org>
35417
35418 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35419 Add conversion of emulated mount points on Cygwin.
35420
b609876d 354212008-07-29 Christian Franke <franke@computer.org>
35422
35423 * util/update-grub.in: Add a check for admin
35424 group on Cygwin.
35425 Remove old `grub.cfg.new' before creation.
35426 Add `-f' to `mv' to handle the different filesystem
35427 semantics of Windows.
35428
e93e4679 354292008-07-29 Bean <bean123ch@gmail.com>
35430
35431 * normal/main.c (get_line): Fix buffer overflow bug.
35432
41694fd0 354332008-07-28 Robert Millan <rmh@aybabtu.com>
35434
35435 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35436 (struct grub_apple_header): New struct. Describes the layout of
35437 the partmap header.
35438 (apple_partition_map_iterate): Check the header magic as well as the
35439 partition magic (which was already being checked).
35440
cfd0b4e6 354412008-07-28 Pavel Roskin <proski@gnu.org>
35442
35443 * genmk.rb: Add a warning to the beginning of the output that
35444 it's a generated file and should not be edited.
35445
93cce016 354462008-07-28 Robert Millan <rmh@aybabtu.com>
35447
35448 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35449 with the same number are found, just use issue a warning with
35450 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35451
cd1df915 354522008-07-27 Robert Millan <rmh@aybabtu.com>
35453
35454 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35455 information.
35456
b70a8427 354572008-07-27 Bean <bean123ch@gmail.com>
35458
35459 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35460 (grub_fat_find_dir): Ignore case when comparing filename.
35461
8f5e379f 354622008-07-27 Bean <bean123ch@gmail.com>
35463
35464 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35465 smallino, as it's more descriptive, and i8count can be confused with
35466 the other field count.
35467 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35468 inode type.
35469
a85cd5a0 354702008-07-27 Bean <bean123ch@gmail.com>
35471
35472 * commands/crc.c: New file.
35473
35474 * lib/crc.c: Likewise.
35475
35476 * include/grub/lib/crc.h: Likewise.
35477
35478 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35479
35480 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35481 (hexdump): Move this function to ...
35482
35483 * lib/hexdump.c: ... here.
35484
35485 * include/grub/hexdump.h: Renamed to ...
35486
35487 * include/grub/lib/hexdump.h: ... this.
35488
35489 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35490
35491 * util/grub-editenv.c: Likewise.
35492
35493 * include/envblk.h: Renamed to ...
35494
35495 * include/lib/envblk.h: ... this.
35496
35497 * util/envblk.c: Renamed to ...
35498
35499 * lib/envblk.c: ... this.
35500
35501 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35502 lib/hexdump.c.
35503 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35504 (pkglib_MODULES): Add crc.mod.
35505 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35506 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35507 (crc_mod_SOURCES): New macro.
35508 (crc_mod_CFLAGS): Likewise.
35509 (crc_mod_LDFLAGS): Likewise.
35510
35511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35512
35513 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35514
35515 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35516
35517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35518
35519 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35520
c298def0 355212008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35522
35523 * commands/help.c: Include <grub/term.h>.
35524 (TERM_WIDTH): Removed. Updated all users.
35525
cc349fb3 355262008-07-27 Pavel Roskin <proski@gnu.org>
35527
35528 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35529 spurious warnings about a comment within a comment.
35530
9051607e 355312008-07-25 Robert Millan <rmh@aybabtu.com>
35532
35533 * util/getroot.c (find_root_device): Skip devices that match
35534 /dev/dm-[0-9]. This lets the real device be found for any type of
35535 abstraction (LVM, EVMS, RAID..).
35536 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35537 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35538 device is found first, find_root_device() will now skip it.
35539
01453bfc 355402008-07-24 Pavel Roskin <proski@gnu.org>
35541
35542 * include/grub/types.h: Use __builtin_bswap32() and
35543 __builtin_bswap64() with gcc 4.3 and newer.
35544
6af9849f 355452008-07-24 Christian Franke <franke@computer.org>
35546
3a0fa256 35547 * util/i386/pc/grub-install.in: If `--debug' is specified,
35548 pass `--verbose' to grub-setup.
35549 Abort script if make_system_path_relative_to_its_root() fails.
35550
7810e747 355512008-07-24 Bean <bean123ch@gmail.com>
35552
35553 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35554 variable `target_platform' should be `platform'.
35555
42290e17 355562008-07-24 Bean <bean123ch@gmail.com>
35557
51cc5193 35558 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35559 (grub_png_init_fixed_block): New function.
35560 (grub_png_decode_image_data): Handle fixed huffman code compression.
35561
2a8a80e4 355622008-07-24 Bean <bean123ch@gmail.com>
35563
35564 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35565 (grub_pe2elf_SOURCES): New macro.
35566 (CLEANFILES): Add grub-pe2elf.
35567
35568 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35569 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35570 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35571 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35572 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35573 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35574 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35575 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35576 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35577 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35578 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35579 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35580 (GRUB_PE32_DT_FUNCTION): Likewise.
35581 (GRUB_PE32_REL_I386_DIR32): Likewise.
35582 (GRUB_PE32_REL_I386_REL32): Likewise.
35583 (grub_pe32_symbol): New structure.
35584 (grub_pe32_reloc): Likewise.
35585
35586 * util/grub-pe2elf.c: New file.
35587
35588 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35589 start symbol in non pc platform.
35590
35591 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35592
35593 The following patches are from Christian Franke.
35594
35595 * include/grub/dl.h: Remove .previous, gas supports this only
35596 for ELF format.
35597
35598 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35599 Remove .type, gas supports this only for ELF format.
35600
35601 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35602 nullbytes in symbol table. This fixes an infinite loop if table is
35603 zero filled.
35604
35605 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35606 TARGET_IMG_LDFLAGS and EXEEXT.
35607
35608 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35609 TARGET_IMG_LDFLAGS_AC.
35610 (grub_CHECK_STACK_ARG_PROBE): New function.
35611
35612 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35613
35614 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35615
35616 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35617 to set TARGET_IMG_LD* accordingly.
35618 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35619 Add call to grub_CHECK_STACK_ARG_PROBE.
35620 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35621
35622 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35623
35624 * genmk.rb: Add EXEEXT to CLEANFILES.
35625
12ccdb75 356262008-07-23 Robert Millan <rmh@aybabtu.com>
35627
35628 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35629 define the codes for arrows and lines used for the menu).
35630 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35631 as well.
35632
35633 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35634 fonts, because the latter are too slow.
35635
18eeaf04 356362008-07-21 Bean <bean123ch@gmail.com>
35637
35638 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35639 a20. Run keyboard test last, as it will cause macbook to halt.
35640
b095e2ad 356412008-07-18 Pavel Roskin <proski@gnu.org>
35642
35643 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35644 load foreign architecture modules correctly anyway. Keep
35645 support for loading host architecture modules, whether we
35646 compile them or not.
35647
737feb35 356482008-07-17 Pavel Roskin <proski@gnu.org>
35649
3f4ce737 35650 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35651 change target_cpu. The compiler default can mismatch target_cpu
35652 in any case.
35653
4ad2d049 35654 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35655 * kern/efi/efi.c: Likewise.
35656
f6130a12 35657 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35658 target compiler is functional.
35659 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35660 are set up.
35661
58393a2d 35662 * configure.ac: Default to efi platform for x86_64-apple. Allow
35663 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35664 adjustments from the rest, only do them if target is not
35665 explicitly given. Merge other adjustments with the final sanity
35666 check. Remove an extraneous check for supported CPU. Be
35667 specific which CPU and which platform is not supported.
35668
737feb35 35669 * configure.ac: Default to pc platform for x86_64.
35670
546f966a 356712008-07-17 Robert Millan <rmh@aybabtu.com>
35672
35673 Partial LinuxBIOS -> Coreboot rename.
35674
35675 * conf/i386-linuxbios.rmk: Renamed to ...
35676 * conf/i386-coreboot.rmk: ... this.
35677 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35678 * configure.ac: Accept "coreboot" as input platform (but maintain
35679 compatibility with "linuxbios").
35680 * include/grub/i386/linuxbios: Renamed to ...
35681 * include/grub/i386/coreboot: ... this.
35682
20011694 356832008-07-17 Bean <bean123ch@gmail.com>
35684
35685 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35686 (appleldr_mod_SOURCE): New variable.
20011694 35687 (appleldr_mod_CFLAGS): Likewise.
35688 (appleldr_mod_LDFLAGS): Likewise.
35689 (pci_mod_SOURCES): Likewise.
35690 (pci_mod_CFLAGS): Likewise.
35691 (pci_mod_LDFLAGS): Likewise.
35692 (lspci_mod_SOURCES): Likewise.
35693 (lspci_mod_CFLAGS): Likewise.
35694 (lspci_mod_LDFLAGS): Likewise.
35695
35696 * conf/x86_64-efi.rmk: New file.
35697
35698 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35699 macro.
35700 (grub_efidisk_write): Likewise.
35701
35702 * include/efi/api.h (efi_call_0): New macro.
35703 (efi_call_1): Likewise.
35704 (efi_call_2): Likewise.
35705 (efi_call_3): Likewise.
35706 (efi_call_4): Likewise.
35707 (efi_call_5): Likewise.
35708 (efi_call_6): Likewise.
35709
35710 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35711 grub_rescue_cmd_chainloader.
35712
35713 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35714 (grub_pe32_optional_header): Change some fields based on i386 or
35715 x86_64 platform.
35716 (GRUB_PE32_PE32_MAGIC): Likewise.
35717
35718 * include/grub/efi/uga_draw.h: New file.
35719
35720 * include/grub/elf.h (STN_ABS): New constant.
35721 (R_X86_64_NONE): Relocation constant for x86_64.
35722 (R_X86_64_64): Likewise.
35723 (R_X86_64_PC32): Likewise.
35724 (R_X86_64_GOT32): Likewise.
35725 (R_X86_64_PLT32): Likewise.
35726 (R_X86_64_COPY): Likewise.
35727 (R_X86_64_GLOB_DAT): Likewise.
35728 (R_X86_64_JUMP_SLOT): Likewise.
35729 (R_X86_64_RELATIVE): Likewise.
35730 (R_X86_64_GOTPCREL): Likewise.
35731 (R_X86_64_32): Likewise.
35732 (R_X86_64_32S): Likewise.
35733 (R_X86_64_16): Likewise.
35734 (R_X86_64_PC16): Likewise.
35735 (R_X86_64_8): Likewise.
35736 (R_X86_64_PC8): Likewise.
35737
35738 * include/grub/i386/efi/pci.h: New file.
35739
35740 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35741 Change it value based on platform.
35742 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35743 (GRUB_E820_RAM): Likewise.
35744 (GRUB_E820_RESERVED): Likewise.
35745 (GRUB_E820_ACPI): Likewise.
35746 (GRUB_E820_NVS): Likewise.
35747 (GRUB_E820_EXEC_CODE): Likewise.
35748 (GRUB_E820_MAX_ENTRY): Likewise.
35749 (grub_e820_mmap): New structure.
35750 (linux_kernel_header): Change the efi field according to different
35751 kernel version, also field from linux_kernel_header.
35752
35753 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35754
35755 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35756 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35757 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35758 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35759 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35760 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35761 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35762 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35763 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35764 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35765
35766 * include/grub/x86_64/efi/kernel.h: New file.
35767
35768 * include/grub/x86_64/efi/loader.h: Likewise.
35769
35770 * include/grub/x86_64/efi/machine.h: Likewise.
35771
35772 * include/grub/x86_64/efi/pci.h: Likewise.
35773
35774 * include/grub/x86_64/efi/time.h: Likewise.
35775
35776 * include/grub/x86_64/linux.h: Likewise.
35777
35778 * include/grub/x86_64/setjmp.h: Likewise.
35779
35780 * include/grub/x86_64/time.h: Likewise.
35781
35782 * include/grub/x86_64/types.h: Likewise.
35783
35784 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35785 GRUB_TARGET_SIZEOF_VOID_P.
35786
35787 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35788 (grub_efi_locate_handle): Likewise.
35789 (grub_efi_open_protocol): Likewise.
35790 (grub_efi_set_text_mode): Likewise.
35791 (grub_efi_stall): Likewise.
35792 (grub_exit): Likewise.
35793 (grub_reboot): Likewise.
35794 (grub_halt): Likewise.
35795 (grub_efi_exit_boot_services): Likewise.
35796 (grub_get_rtc): Likewise.
35797
35798 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35799 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35800 (grub_efi_allocate_pages): Wrap efi calls.
35801 (grub_efi_free_pages): Wrap efi calls.
35802 (grub_efi_get_memory_map): Wrap efi calls.
35803
35804 * kern/x86_64/dl.c: New file.
35805
35806 * kern/x86_64/efi/callwrap.S: Likewise.
35807
35808 * kern/x86_64/efi/startup.S: Likewise.
35809
35810 * loader/efi/appleloader.c: Likewise.
35811
35812 * loader/efi/chainloader.c (cmdline): New variable.
35813 (grub_chainloader_unload): Wrap efi calls.
35814 (grub_chainloader_boot): Likewise.
35815 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35816 command line.
35817
35818 * loader/efi/chainloader_normal.c (chainloader_command):
35819 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35820 command line.
35821
35822 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35823 method.
35824 (grub_e820_add_region): New function.
35825 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35826 booting.
35827 (grub_find_video_card): New function.
35828 (grub_linux_setup_video): New function.
35829 (grub_rescue_cmd_linux): Probe for video information.
35830
35831 * normal/x86_64/setjmp.S: New file.
35832
35833 * term/efi/console.c (map_char): New function.
35834 (grub_console_putchar): Map unicode char.
35835 (grub_console_checkkey): Wrap efi calls.
35836 (grub_console_getkey): Likewise.
35837 (grub_console_getwh): Likewise.
35838 (grub_console_gotoxy): Likewise.
35839 (grub_console_cls): Likewise.
35840 (grub_console_setcolorstate): Likewise.
35841 (grub_console_setcursor): Likewise.
35842
35843 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35844
59652a20 358452008-07-16 Pavel Roskin <proski@gnu.org>
35846
ef294055 35847 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35848 format strings.
35849
59652a20 35850 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35851 pointer, not an integer. This fixes a warning and prevents
35852 precision loss on 64-bit systems.
35853 (relocate_addresses): Remove unneeded cast.
35854
afc3b5d7 358552008-07-15 Pavel Roskin <proski@gnu.org>
35856
506b2b3e 35857 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35858
62ead89c 35859 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35860
c4cd51d7 35861 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35862 Fix comparison between signed and unsigned.
35863
0d3d8f28 35864 * include/grub/i386/ieee1275/console.h: Declare
35865 grub_console_init() and grub_console_fini().
35866
8804b286 35867 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35868 It's empty and unused.
35869
ee01cf35 35870 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35871 beginning to avoid warnings with some compilers.
35872
afc3b5d7 35873 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35874 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35875
e4e8eaa5 358762008-07-14 Pavel Roskin <proski@gnu.org>
35877
407aceb4 35878 * kern/env.c (grub_register_variable_hook): Don't copy empty
35879 string, it leaks memory. Pass "" to grub_env_set(), it should
35880 handle constant strings.
35881
e4e8eaa5 35882 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35883 * commands/cmp.c (grub_cmd_cmp): Likewise.
35884 * kern/dl.c (grub_dl_flush_cache): Likewise.
35885 (grub_dl_load_core): Likewise.
35886 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35887 (grub_elf64_load_phdrs): Likewise.
35888
d4e2dad3 358892008-07-13 Pavel Roskin <proski@gnu.org>
35890
35891 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35892 between signed and unsigned.
35893 (LzmaEnc_Finish): Fix warning about an unused parameter.
35894
aa24b516 358952008-07-13 Bean <bean123ch@gmail.com>
35896
35897 * Makefile.in (enable_lzo): New rule.
35898
35899 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35900
35901 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35902
35903 * boot/i386/pc/lnxboot.S: #include <config.h>.
35904
35905 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35906 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35907
35908 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35909 compression algorithm according to configure macro.
35910
35911 * kern/i386/pc/startup.S (codestart): Likewise.
35912
35913 * kern/i386/pc/lzma_decode.S: New file.
35914
35915 * include/grub/lib/LzFind.h: Likewise.
35916
35917 * include/grub/lib/LzHash.h: Likewise.
35918
35919 * include/grub/lib/LzmaDec.h: Likewise.
35920
35921 * include/grub/lib/LzmaEnc.h: Likewise.
35922
35923 * include/grub/lib/LzmaTypes.h: Likewise.
35924
35925 * lib/LzFind.c: Likewise.
35926
35927 * lib/LzmaDec.c: Likewise.
35928
35929 * lib/LzmaEnc.c: Likewise.
35930
4ae821ac 359312008-07-13 Bean <bean123ch@gmail.com>
35932
35933 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35934 (grub_ext4_extent_header): New structure.
35935 (grub_ext4_extent): Likewise.
35936 (grub_ext4_extent_idx): Likewise.
35937 (grub_ext4_find_leaf): New function.
35938 (grub_ext2_read_block): Handle extents.
35939
9a745147 359402008-07-12 Robert Millan <rmh@aybabtu.com>
35941
35942 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35943
d49a4cf6 359442008-07-11 Robert Millan <rmh@aybabtu.com>
35945
35946 * util/grub.d/40_custom.in: New file. Example on how to add custom
35947 entries to /etc/grub.d.
35948 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35949 40_custom (implicitly, by merging all the grub.d rules).
35950
947414b4 359512008-07-11 Pavel Roskin <proski@gnu.org>
35952
0059cf6f 35953 * commands/read.c (grub_getline): Fix invalid memory access.
35954 Don't add newline to the variable value.
35955
947414b4 35956 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35957 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35958 (serial_hw_get_port): Check validity of the port number.
35959 (grub_cmd_serial): Check return value of serial_hw_get_port().
35960
62a02d00 359612008-07-07 Pavel Roskin <proski@gnu.org>
35962
35963 * boot/i386/pc/diskboot.S (notification_string): Replace
35964 "Loading kernel" with just "loading". This is shorter, less
35965 confusing and saves a few bytes for possible future changes.
35966
3e5581b0 359672008-07-05 Pavel Roskin <proski@gnu.org>
35968
ea387a48 35969 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35970 size for ATAPI devices, they are undefined. Output sector
35971 number in decimal form.
35972
3e5581b0 35973 * disk/ata.c: Use named constants for status bits.
35974
fdecb8fd 359752008-07-04 Pavel Roskin <proski@gnu.org>
35976
bcd35b90 35977 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35978 grub_addr_t before casting it to the void pointer to fix a
35979 warning. Non-addressable regions are discarded earlier.
35980 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35981 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35982 (check_signature): Don't shadow table_header.
35983 (grub_linuxbios_table_iterate): Cast numeric constants to
35984 grub_linuxbios_table_header_t.
35985 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35986 grub_stop().
35987
af58ab3d 35988 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35989 prevent warnings.
35990
1759aa57 35991 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35992 pointer, which can cause warnings. Support 64-bit addresses.
35993
fdecb8fd 35994 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35995 of sizeof(long). This fixes PowerPC image generation on x86_64.
35996
8516d2a8 359972008-07-04 Robert Millan <rmh@aybabtu.com>
35998
35999 This fixes a performance issue when pc & gpt partmap iterators
36000 didn't abort iteration even after our hook found what it was
fe987087 36001 looking for (often causing expensive probes of non-existent drives).
8516d2a8 36002
36003 Some callers relied on previous buggy behaviour, since they would
34c44600 36004 raise an error when their own hooks caused early abortion of its
8516d2a8 36005 iteration.
36006
36007 * kern/device.c (grub_device_open): Improve error message.
36008 * disk/lvm.c (grub_lvm_open): Likewise.
36009 * disk/raid.c (grub_raid_open): Likewise.
36010
36011 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36012 when hook requests it, independently of grub_errno.
36013 (pc_partition_map_probe): Do not fail when find_func() caused
36014 early abortion of pc_partition_map_iterate().
36015
36016 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36017 when hook requests it, independently of grub_errno.
36018 (gpt_partition_map_probe): Do not fail when find_func() caused
36019 early abortion of gpt_partition_map_iterate().
36020
36021 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36022 when hook requests it, independently of grub_errno. Do not fail when
36023 part_map_iterate_hook() caused early abortion of p->iterate().
36024
36025 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36026 when grub_partition_iterate() returned with non-zero.
36027
277d0de9 360282008-07-03 Pavel Roskin <proski@gnu.org>
36029
36030 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36031 like we do in grub_ata_pio_read().
36032 (grub_ata_readwrite): Always write individual sectors. Fix the
36033 sector count for the remainder.
36034 (grub_ata_write): Enable writing to ATA devices. Correctly
36035 report error for ATAPI devices.
36036
d4c9b428 360372008-07-02 Pavel Roskin <proski@gnu.org>
36038
e43fc690 36039 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36040 warning.
36041
f707af42 36042 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36043 for every read sector, we already increment it for the whole
36044 batch. This fixes reading more than 256 sectors at once.
36045
11e16b15 36046 * util/grub-editenv.c (cmd_info): Cast argument to long
36047 explicitly. ptrdiff_t reduces to int on i386.
36048
cbabfdd4 36049 * util/grub-editenv.c (main): Be specific which parameter is
36050 missing.
36051
b8fbce0a 36052 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36053 (memdisk): Make memdisk_orig_addr a pointer.
36054
c9c8e606 36055 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36056 for file offsets, use grub_off_t instead. Fix printf format
36057 warnings.
36058
ca62e598 36059 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36060 there. Real unexpected warnings should not drown in the noise
36061 about known problems.
36062
ce8d1766 36063 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36064 grub_disk_addr_t for memory addresses.
36065
00c7a56a 36066 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36067 explicitly to fix a warning.
36068
08d3ef09 36069 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36070
cb71ba20 36071 * Makefile.in (MODULE_LDFLAGS): New variable.
36072 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36073 the linker accepts --build-id=none.
36074 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36075 MODULE_LDFLAGS.
36076 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36077
d4c9b428 36078 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36079 those in Linux XFS code. Provide a way to access 64-bit parent
36080 inode.
36081 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36082 the end of struct grub_xfs_dir_header.
36083
d4156eee 360842008-07-02 Bean <bean123ch@gmail.com>
36085
36086 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36087 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36088 and GRUB_IEEE1275_FLAG_NO_ANSI.
36089
36090 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36091 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36092 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36093
36094 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36095 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36096
36097 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36098 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36099
36100 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36101 esc sequence on non ANSI terminal.
36102 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36103
36104 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36105 beginning of file.
36106
2270f77b 361072008-07-02 Bean <bean123ch@gmail.com>
36108
36109 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36110 (grub_editenv_SOURCES): New variable.
36111 (pkglib_MODULES): Add loadenv.mod.
36112 (loadenv_mod_SOURCES): New variable.
36113 (loadenv_mod_CFLAGS): Likewise.
36114 (loadenv_mod_LDFLAGS): Likewise.
36115
36116 * include/grub/envblk.h: New file.
36117
36118 * util/envblk.c: New file.
36119
36120 * util/grub-editenv.c: New file.
36121
36122 * commands/loadenv.c: New file.
36123
0e9e51ec 361242008-07-01 Pavel Roskin <proski@gnu.org>
36125
d89b7634 36126 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36127 not unsigned char. This fixes warnings and is consistent with
36128 other tags.
36129
bf1835b1 36130 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36131
8222a04b 36132 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36133
6a42d99d 36134 * term/tparm.c (analyze): Always set *popcount.
36135
10b159d1 36136 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36137 cast to fix a warning.
36138
b8789f6c 36139 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36140 cast to suppress a warning.
36141
29d7e38a 36142 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36143 grub_fshelp_read_file() expects.
36144
f341f669 36145 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36146 write uuid as a 32-bit value in CPU byte order, so declare and
36147 use it as such.
36148
0e9e51ec 36149 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36150 long if the format specifier expects it.
36151 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36152 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36153 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36154 long to fix a warning.
36155 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36156 grub_dprintf() arguments to fix warnings.
36157
3aefa857 361582008-06-30 Pavel Roskin <proski@gnu.org>
36159
56c7668b 36160 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36161 install_bsd_part immediately before core.img is embedded or
36162 modified on disk. This fixes core.img verification if core.img
36163 cannot be embedded.
36164
3aefa857 36165 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36166 core_path to calculate the blocklist.
36167 Patch from Javier Martín <lordhabbit@gmail.com>
36168
5444088d 361692008-06-29 Robert Millan <rmh@aybabtu.com>
36170
36171 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36172 block to disk block.
36173 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36174 Patch from Niels Böhm <bitbucket@arcor.de>
36175
674835c8 361762008-06-29 Robert Millan <rmh@aybabtu.com>
36177
36178 * util/update-grub_lib.in (font_path): Search for fonts in
36179 /boot/grub first, which is more likely to be readable (we aren't
36180 deciding where fonts live, just looking for them).
36181
f527dbc8 361822008-06-26 Pavel Roskin <proski@gnu.org>
36183
6c2d8df6 36184 * util/biosdisk.c (read_device_map): Don't leave dead map
36185 entries for devices failing stat() check.
36186
f527dbc8 36187 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36188 core_path_dev for the core.img path on the target device.
36189
aebe3d13 361902008-06-26 Robert Millan <rmh@aybabtu.com>
36191
36192 * disk/fs_uuid.c: New file.
36193 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36194 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36195 (fs_uuid_mod_LDFLAGS): New variables.
36196 * include/grub/disk.h (grub_disk_dev_id): Add
36197 `GRUB_DISK_DEVICE_UUID_ID'.
36198 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36199 implement iterate().
36200
37aaf354 362012008-06-26 Robert Millan <rmh@aybabtu.com>
36202
36203 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36204 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36205 Linux image includes no initrd.
36206
25ff262a 362072008-06-21 Javier Martín <lordhabbit@gmail.com>
36208
36209 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36210 call to resolve the core image location that effectively appended the
36211 name twice.
36212
76a2bd44 362132008-06-21 Robert Millan <rmh@aybabtu.com>
36214
36215 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36216 call from here ...
36217
36218 * util/grub.d/10_hurd.in: ... to here ...
36219 * util/grub.d/10_linux.in: ... and here.
36220
650e1c79 362212008-06-19 Robert Millan <rmh@aybabtu.com>
36222
fe987087 36223 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36224 after it has been set by grub_machine_set_prefix().
36225
6ce63911 362262008-06-19 Robert Millan <rmh@aybabtu.com>
36227
36228 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36229 search result when not saving to variable, not the other way around.
36230 When saving to variable, abort iteration as soon as a match is found.
36231
73940cec 362322008-06-19 Robert Millan <rmh@aybabtu.com>
36233
36234 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36235 check for partition that provides /boot/grub. Its logic is flawed,
36236 as it prevents prepare_grub_to_access_device() from being called
36237 multiple times.
36238
3c62a39d 362392008-06-19 Robert Millan <rmh@aybabtu.com>
36240
36241 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36242 "insmod" command directly when abstraction modules are needed,
fe987087 36243 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36244 since it had already been processed).
36245
47395a42 362462008-06-19 Pavel Roskin <proski@gnu.org>
36247
36248 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36249 changed. This is needed in case GRUB_LIBDIR changes.
36250 * conf/i386-ieee1275.rmk: Likewise.
36251 * conf/i386-linuxbios.rmk: Likewise.
36252 * conf/i386-pc.rmk: Likewise.
36253 * conf/powerpc-ieee1275.rmk: Likewise.
36254
a145ac2d 362552008-06-18 Pavel Roskin <proski@gnu.org>
36256
36257 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36258 kernel_elf_symlist.c to symlist.c for consistency with other
36259 architectures. Update all users.
36260 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36261
7847c51e 362622008-06-18 Robert Millan <rmh@aybabtu.com>
36263
36264 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36265 it in prefix.
36266
36267 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36268 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36269 a RAID device, run setup() for all members independently on whether
36270 LVM abstraction is being used.
36271 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36272 If grub-mkimage has set `*install_dos_part == -2', don't override this
36273 value.
36274 Perform *install_dos_part adjustments independently on whether
36275 we're embedding or not.
36276 Clarify error message when image is too big for embedding.
36277 Remove duplicate *install_dos_part stanza.
36278
b23e5644 362792008-06-17 Robert Millan <rmh@aybabtu.com>
36280
36281 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36282 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36283 variables.
36284 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36285 values in grub_ofconsole_normal_color and
36286 grub_ofconsole_highlight_color (they're not directly related to
36287 background and foreground).
36288 (grub_ofconsole_setcolorstate): Extract background and foreground
36289 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36290
0aac2f79 362912008-06-17 Robert Millan <rmh@aybabtu.com>
36292
36293 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36294 /boot/grub for the check in last commit, not /boot (they could be
36295 different partitions).
36296
3cca7ef3 362972008-06-16 Robert Millan <rmh@aybabtu.com>
36298
36299 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36300 asked to setup access for the same partition that provides /boot,
36301 don't bother using UUIDs since our root already has the value we
36302 want.
36303
347396d8 363042008-06-16 Robert Millan <rmh@aybabtu.com>
36305
36306 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36307 I2O devices.
36308 Patch from Sven Mueller <sven@debian.org>.
36309
991477f8 363102008-06-16 Robert Millan <rmh@aybabtu.com>
36311
36312 * util/update-grub.in: Check for $EUID instead of $UID.
36313 Reported by Vincent Zweije.
36314
d31a32a1 363152008-06-16 Bean <bean123ch@gmail.com>
36316
fe987087 36317 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36318 (grub_ext2_read_block): Likewise.
36319 (grub_ext2_read_inode): Likewise.
36320 (grub_ext2_mount): Likewise.
36321 (grub_ext2_close): Likewise.
36322 (grub_ext3_get_journal): Removed.
36323
fe987087 36324 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36325 (grub_reiserfs_read_symlink): Likewise.
36326 (grub_reiserfs_mount): Likewise.
36327 (grub_reiserfs_open): Likewise.
36328 (grub_reiserfs_read): Likewise.
36329 (grub_reiserfs_close): Likewise.
36330 (grub_reiserfs_get_journal): Removed.
36331
36332 * fs/fshelp.c (grub_fshelp_read): Removed.
36333 (grub_fshelp_map_block): Likewise.
36334
36335 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36336 (grub_fshelp_journal): Likewise.
36337 (grub_fshelp_read): Likewise.
36338 (grub_fshelp_map_block): Likewise.
36339
3540a760 363402008-06-16 Pavel Roskin <proski@gnu.org>
36341
36342 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36343 floating point anymore.
36344 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36345
95614c84 363462008-06-15 Pavel Roskin <proski@gnu.org>
36347
36348 * commands/ls.c (grub_ls_list_files): Use integer calculations
36349 for human readable format, avoid floating point use.
36350 * kern/misc.c (grub_ftoa): Remove.
36351 (grub_vsprintf): Remove floating point support.
36352
50465dd6 363532008-06-15 Robert Millan <rmh@aybabtu.com>
36354
fe6b695a 36355 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36356 devices.
36357 Reported by Max Vozeler.
36358
a9207284 363592008-06-15 Robert Millan <rmh@aybabtu.com>
36360
36361 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36362 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36363 skipped later.
36364 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36365 the beginning of the prefix.
36366
36367 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36368 It is assumed that if we have a memdisk, grub-mkimage has set
36369 grub_prefix to include the "(memdisk)" drive in it.
36370
a7cbd45a 363712008-06-15 Robert Millan <rmh@aybabtu.com>
36372
36373 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36374 Initialize keyboard controller after registering the terminal, so that
36375 grub_printf() can be called from grub_keyboard_controller_init().
36376
21cf716a 363772008-06-15 Robert Millan <rmh@aybabtu.com>
36378
36379 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36380 extent-btree which is written as big endian on disk.
36381 Reported by Alain Greppin <al@chilibi.org>.
36382
23a64d8e 363832008-06-14 Robert Millan <rmh@aybabtu.com>
36384
36385 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36386 * util/i386/pc/grub-install.in (modules): Likewise.
36387
d687651c 363882008-06-13 Pavel Roskin <proski@gnu.org>
36389
36390 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36391
dfe9ddd4 363922008-06-13 Bean <bean123ch@gmail.com>
36393
36394 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36395
36396 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36397
36398 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36399 to indicate sparse block.
36400
16ae7781 364012008-06-12 Pavel Roskin <proski@gnu.org>
36402
e6d1a308 36403 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36404 number, grub_fshelp_read() does it for us.
36405
16ae7781 36406 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36407 linear disk read with journal translation.
36408 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36409 * include/grub/fshelp.h: Declare grub_fshelp_read().
36410
40fd3a2b 364112008-06-09 Pavel Roskin <proski@gnu.org>
36412
36413 * fs/minix.c (grub_minix_mount): Handle error reading
36414 superblock.
36415
f5679726 364162008-06-08 Robert Millan <rmh@aybabtu.com>
36417
36418 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36419 don't append the RAID prefix afterwards.
36420 Reported by Clint Adams.
36421
ce525529 364222008-06-08 Robert Millan <rmh@aybabtu.com>
36423
36424 Based on description from Pavel:
36425 * kern/disk.c (grub_disk_check_range): Rename to ...
36426 (grub_disk_adjust_range): ... this. Add a comment explaining the
36427 tasks performed by this function.
36428
ad4936a0 364292008-06-08 Robert Millan <rmh@aybabtu.com>
36430
36431 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36432 `num_serial' (for consistency with other variables).
36433 (struct grub_ntfs_data): Add `uuid' member.
36434 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36435 (grub_ntfs_uuid): New function.
36436 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36437
dc20b0f9 364382008-06-07 Pavel Roskin <proski@gnu.org>
36439
36440 * util/biosdisk.c (open_device): Revert last change to the
36441 function, it broke installation. The sector needs to be
36442 different dependent on which device is opened.
36443
c5e3cfba 364442008-06-06 Robert Millan <rmh@aybabtu.com>
36445
36446 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36447 rest of GRUB, and breakage doesn't happen if its value were modified.
36448
36449 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36450 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36451 a constant (same value).
36452 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36453 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36454
26a1f8c4 364552008-06-06 Robert Millan <rmh@aybabtu.com>
36456
36457 * util/biosdisk.c (open_device): Do not modify sector offset when
36458 accessing a partition. kern/disk.c already handles this for us.
36459
25d6b327 364602008-06-06 Robert Millan <rmh@aybabtu.com>
36461
36462 * util/grub-emu.c (grub_machine_init): Move code in this function from
36463 here ...
36464 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36465 segfault in case grub_printf() is called).
36466
36467 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36468 grub_probe. Update all users not to explicitly add it again.
36469 (grub_device): New variable; contains corresponding device for grubdir.
36470 (fs_module, partmap_module, devabstraction_module): Pass
36471 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36472 every time.
36473
9ece62fb 364742008-06-05 Robert Millan <rmh@aybabtu.com>
36475
36476 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36477 is found, print it (same layout as with labels).
36478
1ad36d37 364792008-06-04 Robert Millan <rmh@aybabtu.com>
36480
36481 * util/biosdisk.c (get_drive): Rename to ...
36482 (find_grub_drive): ... this. Update all users.
36483
36484 (get_os_disk): Rename to ...
36485 (convert_system_partition_to_system_disk): ... this. Update all users.
36486
36487 (find_drive): Rename to ...
36488 (find_system_device): ... this. Update all users.
36489
e6a30859 364902008-06-04 Robert Millan <rmh@aybabtu.com>
36491
36492 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36493 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36494 (make_device_map): Likewise.
36495
00c108a4 364962008-06-01 Robert Millan <rmh@aybabtu.com>
36497
36498 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36499 before dereferencing it.
36500
36501 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36502 union with fat12/fat16-specific ones. Add some new fields, including
36503 `num_serial' for both versions.
36504 (struct grub_fat_data): Add `uuid' member.
36505 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36506 names. Initialize `data->uuid' using `num_serial'.
36507 (grub_fat_uuid): New function.
36508 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36509
36510 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36511 (grub_reiserfs_uuid): New function.
36512 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36513 member.
36514
36515 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36516 (grub_xfs_uuid): New function.
36517 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36518
1385c5bb 365192008-06-01 Robert Millan <rmh@aybabtu.com>
36520
36521 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36522 code that is backward compatible with pre-uuid search command.
36523
c682dfd7 365242008-05-31 Robert Millan <rmh@aybabtu.com>
36525
36526 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36527 floppies after everything else, to ensure floppy drive isn't accessed
36528 unnecessarily (patch from Bean).
36529
b7db5d47 365302008-05-31 Robert Millan <rmh@aybabtu.com>
36531
36532 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36533 not print device names when we were asked to set a variable.
36534
6e037aa9 365352008-05-31 Robert Millan <rmh@aybabtu.com>
36536
36537 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36538 using "cursor-on" and "cursor-off" commands (understood at least by
36539 the Open Firmware flavour on OLPC).
36540
41305bc8 365412008-05-31 Michael Gorven <michael@gorven.za.net>
36542
36543 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36544 on and off sequences.
36545
69ba137e 365462008-05-31 Robert Millan <rmh@aybabtu.com>
36547
36548 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36549 * util/update-grub.in: Likewise.
36550
520ae21b 365512008-05-30 Pavel Roskin <proski@gnu.org>
36552
36553 * util/biosdisk.c (linux_find_partition): Simplify logic and
36554 make the code more universal. Keep special processing for
36555 devfs, but use a simple rule for all other devices. If the
36556 device ends with a number, append 'p' and the partition number.
36557 Otherwise, append only the partition number.
36558
5786569b 365592008-05-30 Robert Millan <rmh@aybabtu.com>
36560
36561 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36562 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36563 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36564 the `root' parameter to Linux.
36565
51500452 365662008-05-30 Robert Millan <rmh@aybabtu.com>
36567
36568 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36569 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36570 --fs_uuid with --fs-uuid.
36571 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36572 all filesystems support them).
36573
811d3878 365742008-05-30 Robert Millan <rmh@aybabtu.com>
36575
36576 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36577 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36578
cab63c95 365792008-05-30 Robert Millan <rmh@aybabtu.com>
36580
36581 * util/grub.d/00_header.in: Remove obsolete comment referencing
36582 convert_system_path_to_grub_path().
36583 * util/update-grub.in: Likewise.
36584 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36585 (convert_system_path_to_grub_path): Add a warning message explaining
36586 that this function is deprecated. Rely on is_path_readable_by_grub()
36587 for the readability checks.
36588 (font_path): Use is_path_readable_by_grub() for the readability
36589 check rather than convert_system_path_to_grub_path().
36590
972e2f7a 365912008-05-30 Robert Millan <rmh@aybabtu.com>
36592
36593 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36594 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36595 converting it first.
36596 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36597 grub.cfg for access to font file, and afterwards call it again to set
36598 the root device.
36599
62191274 366002008-05-30 Robert Millan <rmh@aybabtu.com>
36601
36602 * commands/search.c (options): Add --fs_uuid option.
36603 (search_fs_uuid): New function.
36604 (grub_cmd_search): Fix --set argument passing.
36605 Use search_fs_uuid() when requested via --fs_uuid.
36606 (grub_search_init): Update help message.
36607 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36608 and redeclare it as an array of 16-bit words.
36609 (grub_ext2_uuid): New function.
36610 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36611 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36612 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36613 (GRUB_DEVICE_BOOT_UUID): New variables.
36614 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36615 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36616 whenever possible.
36617 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36618 just assume `root' variable has the right value.
36619 * util/grub.d/10_linux.in: Likewise.
36620 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36621 via PRINT_FS_UUID.
36622 (main): Recognise `-t fs_uuid' argument.
36623
01b73ec8 366242008-05-30 Robert Millan <rmh@aybabtu.com>
36625
36626 * util/biosdisk.c (map): Redefine structure to hold information
36627 about GRUB drive name.
fe6b695a 36628 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36629 drive names.
36630 (call_hook): Remove.
36631 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36632 member. Assume drive has partitions.
36633 (grub_util_biosdisk_open): Access device names via `.device' struct
36634 member.
36635 (open_device): Likewise.
36636 (find_drive): Likewise.
36637 (read_device_map): Adjust map[] usage to match the new struct
36638 definition. Don't check for duplicates (still possible, but not cheap
36639 anymore).
36640 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36641 (make_device_name): Remove assumption of BIOS-like drive names.
36642
22f16596 366432008-05-30 Pavel Roskin <proski@gnu.org>
36644
36645 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36646 compiling execute.c doesn't need grub_script.tab.h anymore.
36647 (normal/command.c_DEPENDENCIES): Likewise.
36648 (normal/function.c_DEPENDENCIES): Likewise.
36649 * conf/i386-ieee1275.rmk: Likewise.
36650 * conf/i386-linuxbios.rmk: Likewise.
36651 * conf/i386-pc.rmk: Likewise.
36652 * conf/powerpc-ieee1275.rmk: Likewise.
36653 * conf/sparc64-ieee1275.rmk: Likewise.
36654
528ad8f2 366552008-05-29 Pavel Roskin <proski@gnu.org>
36656
d1dff95d 36657 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36658 when scanning metadata for volume group name.
36659
528ad8f2 36660 * include/grub/script.h: Don't include grub_script.tab.h. It's
36661 a generated file, which may only be included from the files with
36662 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36663 use union YYSTYPE, as the later allows forward declaration.
36664 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36665
47248e08 366662008-05-29 Robert Millan <rmh@aybabtu.com>
36667
36668 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36669 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36670 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36671 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36672 scan codes.
36673
ee632529 366742008-05-29 Robert Millan <rmh@aybabtu.com>
36675
36676 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36677 control key combinations.
36678
eee96e08 366792008-05-29 Robert Millan <rmh@aybabtu.com>
36680
36681 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36682 * util/ieee1275/grub-install.in: ... to here.
36683 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36684 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36685 (grub_install_SOURCES): Likewise.
36686
da9a6a94 366872008-05-29 Robert Millan <rmh@aybabtu.com>
36688
36689 * fs/affs.c: Update copyright year.
36690 * fs/ext2.c: Likewise.
36691 * fs/fshelp.c: Likewise.
36692 * fs/hfsplus.c: Likewise.
36693 * fs/ntfs.c: Likewise.
36694 * fs/xfs.c: Likewise.
36695 * include/grub/fshelp.h: Likewise.
36696 * util/grub-mkdevicemap.c: Likewise.
36697
12e65f3a 366982008-05-28 Robert Millan <rmh@aybabtu.com>
36699
36700 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36701 might need to be fatfs to support some firmware implementations
36702 (e.g. OFW or EFI).
36703
23023641 367042008-05-28 Robert Millan <rmh@aybabtu.com>
36705
36706 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36707 devices.
36708 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36709 (make_device_map): Likewise.
36710
887d2619 367112008-05-20 Bean <bean123ch@gmail.com>
36712
36713 * fs/fshelp.c (grub_fshelp_map_block): New function.
36714 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36715 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36716
36717 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36718 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36719 (grub_fshelp_journal): New structure.
36720 (grub_fshelp_map_block): New function prototype.
36721 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36722 (grub_fshelp_map_block): Likewise.
36723
36724 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36725 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36726 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36727 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36728 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36729 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36730 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36731 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36732 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36733 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36734 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36735 (grub_ext2_sblock): New members for journal support.
36736 (grub_ext3_journal_header): New structure.
36737 (grub_ext3_journal_revoke_header): Likewise.
36738 (grub_ext3_journal_block_tag): Likewise.
36739 (grub_ext3_journal_sblock): Likewise.
36740 (grub_fshelp_node): New members logfile and journal.
36741 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36742 grub_fshelp_map_block to get real block number.
36743 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36744 number.
36745 (grub_ext2_read_inode): Likewise.
36746 (grub_ext3_get_journal): New function.
36747 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36748 (grub_ext2_close): Release memory used by journal.
36749
36750 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36751 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36752 (grub_reiserfs_transaction_header): Renamed to
36753 grub_reiserfs_description_block, replace field data with real_blocks.
36754 (grub_reiserfs_commit_block): New structure.
36755 (grub_reiserfs_data): New member journal.
36756 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36757 number.
36758 (grub_reiserfs_read_symlink): Likewise.
36759 (grub_reiserfs_iterate_dir): Likewise.
36760 (grub_reiserfs_open): Likewise.
36761 (grub_reiserfs_read): Likewise.
36762 (grub_reiserfs_get_journal): New function.
36763 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36764 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36765 using grub_reiserfs_get_journal.
36766 (grub_reiserfs_close): Release memory used by journal.
36767
36768 * fs/affs.c (grub_affs_read_block): Change block type to
36769 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36770
36771 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36772
36773 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36774
36775 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36776
36777 * fs/udf.c (grub_udf_read_block): Change block type to
36778 grub_disk_addr_t. Use type cast to avoid warning.
36779
36780 * fs/xfs.c (grub_xfs_read_block): Likewise.
36781
b7c6bed5 367822008-05-16 Christian Franke <franke@computer.org>
36783
36784 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36785 to ensure that break with ESC will always work.
36786 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36787 Remove ESC from keyboard queue.
36788
eedf167f 367892008-05-16 Christian Franke <franke@computer.org>
36790
36791 * util/biosdisk.c: [__CYGWIN__] Add includes.
36792 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36793 (get_os_disk): Move variable declarations to OS specific
36794 parts to avoid warning.
36795 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36796 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36797 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36798 Cygwin.
36799 * util/getroot.c: [__CYGWIN__] Add includes.
36800 (strip_extra_slashes): Fix "/" case.
36801 [__CYGWIN__] (get_win32_path): New function.
36802 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36803 [__CYGWIN__] (find_root_device): Disable.
36804 [__CYGWIN__] (get_bootsec_serial): New function.
36805 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36806 [__linux__] (grub_guess_root_device): Add early returns to simplify
36807 structure.
36808 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36809 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36810 check for Linux only.
36811
a079699e 368122008-05-15 Bean <bean123ch@gmail.com>
36813
36814 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36815 keyboard hang problem in apple's intel mac.
36816
1cf4059a 368172008-05-09 Robert Millan <rmh@aybabtu.com>
36818
36819 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36820 devices.
36821 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36822 (make_device_map): Likewise.
36823 Reported by Aurelien Jarno <aurel32@debian.org>
36824
ed759390 368252008-05-07 Ian Campbell <ijc@hellion.org.uk>
36826
36827 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36828 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36829 (make_device_map): Output entries for xvd type disks.
36830
b56c4eaa 368312008-05-07 Robert Millan <rmh@aybabtu.com>
36832
36833 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36834 devices.
36835 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36836 (make_device_map): Likewise.
36837 Reported by Roland Dreier <rdreier@cisco.com>
36838
7f8866ed 368392008-05-07 Robert Millan <rmh@aybabtu.com>
36840
36841 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36842 grub_strstr() call. Correct a few mistakes in failure path handling.
36843
b0346e0f 368442008-05-06 Robert Millan <rmh@aybabtu.com>
36845
36846 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36847 Do not print a trailing slash (therefore, the root directory is an
36848 empty string).
36849 (convert_system_path_to_grub_path): Do not remove trailing slash
36850 from make_system_path_relative_to_its_root() output.
36851
36852 * util/i386/pc/grub-install.in: Add trailing slash to output from
36853 make_system_path_relative_to_its_root().
36854
6cf12cbd 368552008-05-06 Robert Millan <rmh@aybabtu.com>
36856
36857 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36858 ensures that output lines aren't intermangled with those sent to
36859 stderr (via grub_util_info()).
36860 * util/grub-probe.c (grub_refresh): Likewise.
36861 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36862
0fbb3117 368632008-05-05 Christian Franke <franke@computer.org>
36864
36865 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36866 Add Cygwin device names.
36867 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36868 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36869 (check_device): Return error instead of success on empty name.
36870 (make_device_map): Move label inside linux specific code to
36871 prevent compiler warning.
36872
8124cdb7 368732008-04-30 Robert Millan <rmh@aybabtu.com>
36874
36875 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36876 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36877 first boot option.
36878 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36879
094c01d0 368802008-04-29 Robert Millan <rmh@aybabtu.com>
36881
36882 * docs/grub.cfg: New file (example GRUB configuration).
36883
f4b1fc02 368842008-04-26 Robert Millan <rmh@aybabtu.com>
36885
329ce2a5 36886 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36887 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36888 and `disk/ieee1275/nand.c'.
f4b1fc02 36889
25f16ec1 368902008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36891
25f16ec1 36892 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36893 i386-linuxbios.
36894
36895 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36896 change the buffer size to 4096 for cdrom device.
36897
36898 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36899 and nand.mod.
36900 (_linux_mod_SOURCES): New variable.
36901 (_linux_mod_CFLAGS): Likewise.
36902 (_linux_mod_LDFLAGS): Likewise.
36903 (linux_mod_SOURCES): Likewise.
36904 (linux_mod_CFLAGS): Likewise.
36905 (linux_mod_LDFLAGS): Likewise.
36906 (nand_mod_SOURCES): Likewise.
36907 (nand_mod_CFLAGS): Likewise.
36908 (nand_mod_LDFLAGS): Likewise.
36909
36910 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36911 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36912 type property. (nand device in olpc don't have this property)
36913
36914 * include/grub/disk.h (grub_disk_dev_id): New macro
36915 GRUB_DISK_DEVICE_NAND_ID.
36916
36917 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36918 function prototype.
36919 (grub_rescue_cmd_initrd): Likewise.
36920
36921 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36922 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36923 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36924
25f16ec1 36925 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36926 GRUB_MACHINE_IEEE1275 is defined.
36927
36928 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36929 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36930
36931 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36932 on nested function heap_init.
36933 (grub_upper_mem): New variable for i386-ieee1275.
36934 (grub_get_extended_memory): New function for i386-ieee1275.
36935 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36936
36937 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36938 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36939 property.
f19dbdb7 36940
25f16ec1 36941 * loader/i386/ieee1275/linux.c: New file.
36942
36943 * loader/i386/ieee1275/linux_normal.c: New file.
36944
36945 * disk/ieee1275/nand.c: New file.
36946
e89d61e9 369472008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36948
36949 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36950 value.
36951 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36952
602566f6 369532008-04-18 Robert Millan <rmh@aybabtu.com>
36954
36955 Restructures early code path on ieee1275 to unify grub_main() as
36956 the first C function that is executed in every platform.
36957
36958 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36959 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36960 cmain().
36961 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36962 * kern/ieee1275/cmain.c (cmain): Rename to ...
36963 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36964 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36965 at the beginning.
36966
57490c2b 369672008-04-18 Robert Millan <rmh@aybabtu.com>
36968
36969 * util/update-grub.in: Fix syntax error when setting
36970 `GRUB_PRELOAD_MODULES'.
36971 Reported by Stephane Chazelas <stephane@artesyncp.com>
36972
1977517d 369732008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36974
36975 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36976 section into account, newer toolchains generate unique build ids
36977 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36978 we want build ids to be preserved
1977517d 36979 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36980 far from other sections don't cause the raw binary images grow
36981 size
36982
bfb1f1a2 369832008-04-15 Robert Millan <rmh@aybabtu.com>
36984
36985 * disk/lvm.c: Update copyright year.
36986 * kern/misc.c: Likewise.
36987
01979850 369882008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36989
36990 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36991 there is no memory left for physical volume name.
01979850 36992
0a1150e2 369932008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36994
36995 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36996 volume name mapping to support bigger than 9 character names properly.
36997
82ead3fe 369982008-04-13 Robert Millan <rmh@aybabtu.com>
36999
37000 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37001 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37002
e54a72f5 370032008-04-13 Christian Franke <franke@computer.org>
37004
37005 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37006 to create a floppy emulation boot CD when non emulation mode
37007 does not work.
37008 Enable Joliet CD filesystem extension.
37009
9fe86034 370102008-04-13 Robert Millan <rmh@aybabtu.com>
37011
37012 * kern/misc.c (grub_strncat): Fix off-by-one error.
37013 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37014
37015 * kern/env.c (grub_env_context_close): Clear current context, not
37016 previous one.
37017 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37018
37019 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37020
7ceeee39 370212008-04-13 Robert Millan <rmh@aybabtu.com>
37022
37023 Improve robustness when handling LVM.
37024
37025 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 37026 (and leave `*p' unmodified).
7ceeee39 37027 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37028 through it.
37029 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37030 iterating through it.
37031 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37032 through it.
fe6b695a 37033 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 37034 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37035 Don't assume `vg->pvs != NULL' when iterating through it.
37036
58cd3d85 370372008-04-13 Robert Millan <rmh@aybabtu.com>
37038
37039 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37040 * genmk.rb (partmap): New variable.
37041 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37042 (#{partmap}): New target rule.
37043 * genpartmaplist.sh: New file.
37044 * Makefile.in (pkglib_DATA): Add partmap.lst.
37045 (partmap.lst): New target rule.
37046 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37047 modules (including all partition maps), instead of preloading them.
37048
78b51059 370492007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37050
37051 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37052 `linux-boot-prober' (if installed) to detect other operating
37053 systems which are installed on the computer and add them to
37054 the boot menu.
37055 * conf/common.rmk: Build and install 30_os-prober.
37056
a91627b4 370572008-04-12 Robert Millan <rmh@aybabtu.com>
37058
37059 * kern/powerpc/ieee1275/init.c: Move from here ...
37060 * kern/ieee1275/init.c: ... to here. Update all users.
37061
37062 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37063 * kern/ieee1275/cmain.c: ... to here. Update all users.
37064
37065 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37066 * kern/ieee1275/openfw.c: ... to here. Update all users.
37067
37068 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37069 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37070
322562ea 370712008-04-10 Pavel Roskin <proski@gnu.org>
37072
37073 * configure.ac: Always use "_cv_" in cache variables for
37074 compatibility with Autoconf 2.62.
37075
a02a73c5 370762008-04-07 Robert Millan <rmh@aybabtu.com>
37077
37078 Revert grub/machine/init.h addition by Pavel (since it breaks on
37079 i386-ieee1275 and others):
37080 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37081 * util/powerpc/ieee1275/misc.c: Likewise.
37082
25c024b1 370832008-04-07 Robert Millan <rmh@aybabtu.com>
37084
37085 * util/grub-probe.c (probe): Improve error message.
37086
3cbd2f98 370872008-04-07 Robert Millan <rmh@aybabtu.com>
37088
37089 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37090 (this prevents the presence of a bogus entry from ruining the whole
37091 thing).
37092
87a297bf 370932008-04-06 Pavel Roskin <proski@gnu.org>
37094
36747a62 37095 * util/biosdisk.c: Include grub/util/biosdisk.h.
37096 * util/grub-fstest.c (execute_command): Make static.
37097 * util/grub-mkdevicemap.c (check_device): Likewise.
37098 * util/i386/pc/misc.c: Include grub/machine/init.h.
37099 * util/powerpc/ieee1275/misc.c: Likewise.
37100 * util/lvm.c: Include grub/util/lvm.h.
37101 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37102 grub/cache.h.
37103 * util/raid.c: Include grub/util/raid.h.
37104 (grub_util_getdiskname): Make static.
37105
87a297bf 37106 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37107 grub_hostfs_fini(), as they are called from grub_init_all() and
37108 grub_fini_all() respectively. This fixes an infinite loop in
37109 grub-fstest due to double registration of hostfs.
37110 Reported by Christian Franke <Christian.Franke@t-online.de>
37111
f6ce7629 371122008-04-05 Pavel Roskin <proski@gnu.org>
37113
37114 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37115 all 8 functions. Otherwise, probe function 0 only.
37116
070e49e4 371172008-04-04 Pavel Roskin <proski@gnu.org>
37118
8b088a4c 37119 * commands/lspci.c (grub_lspci_iter): Print the bus number
37120 correctly.
37121
4f657021 37122 * commands/lspci.c (grub_pci_classes): Fix typos.
37123 (grub_lspci_iter): Don't print func twice. Print vendor ID
37124 before device ID, as it's normally done.
37125
070e49e4 37126 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37127 Fix signedness warnings.
37128 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37129 Likewise.
37130 * util/ieee1275/get_disk_name.c: Include config.h so that
37131 _GNU_SOURCE is defined and getline() is declared. Mark an
37132 unused argument as such. Fix a signedness warning.
37133
ba7328dc 371342008-04-02 Pavel Roskin <proski@gnu.org>
37135
26887f22 37136 * genkernsyms.sh.in: Use more robust assignments for CC and
37137 srcdir. Quote srcdir.
37138 * gensymlist.sh.in: Likewise. Assert at the compile time that
37139 the symbol table is not empty.
37140
ba7328dc 37141 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37142 * fs/cpio.c (grub_cpio_read): Likewise.
37143
0f582c6b 371442008-04-01 Pavel Roskin <proski@gnu.org>
37145
4b6e1995 37146 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37147 * disk/host.c (grub_host_open): Likewise.
37148 * disk/loopback.c (grub_loopback_open): Likewise.
37149 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37150 disk->id as in disk/host.c, not a multi-character constant.
37151
828a2768 37152 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37153 later is obsolete, potentially dangerous and sets a bad example.
37154 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37155 * util/misc.c (grub_util_get_image_size): Likewise.
37156
2bb4fb47 37157 * disk/loopback.c (options): Improve help for "--partitions".
37158
0f582c6b 37159 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37160 options to align them with the short options, e.g. "echo -e".
37161
a33224e0 371622008-03-31 Bean <bean123ch@gmail.com>
37163
37164 * video/reader/png.c (grub_png_data): New member is_16bit and
37165 image_data.
37166 (grub_png_decode_image_header): Detect 16 bit png image.
37167 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37168 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37169 (grub_video_reader_png): Release memory occupied by image_data.
37170
37171 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37172 4096 bytes.
37173 (grub_nfs_mount): Skip the test for sector per cluster.
37174
37175 * include/grub/ntfs.h (MAX_SPC): Removed.
37176
86cb4f54 371772008-03-31 Bean <bean123ch@gmail.com>
37178
37179 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37180 (grub_probe_SOURCES): Add fs/afs.c.
37181 (grub_fstest_SOURCES): Likewise.
37182 (afs_mod_SOURCES): New variable.
37183 (afs_mod_CFLAGS): Likewise.
37184 (afs_mod_LDFLAGS): Likewise.
37185
37186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37187 (grub_emu_SOURCES): Likewise.
37188
37189 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37190
37191 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37192
37193 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37194
37195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37196
37197 * fs/afs.c: New file.
37198
17c74c21 371992008-03-30 Pavel Roskin <proski@gnu.org>
37200
4cb68e89 37201 * disk/host.c: Include grub/misc.h to fix a warning.
37202 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37203 warnings about implicit declarations.
37204
8790bb04 37205 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37206 variable.
37207 * include/grub/i386/loader.h: Change declaration of
37208 grub_linux_boot() to match what grub_loader_set() expects.
37209 * util/getroot.c (grub_guess_root_device): Return const char* to
37210 fix a warning.
37211 * util/grub-probe.c (probe): Fix a warning about uninitialized
37212 abstraction_name variable.
37213 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37214 second argument as unused to fix a warning.
37215
9a3f3296 37216 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37217 missing grub_error() call.
37218
0ecef90d 37219 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37220 2.60 and newer uses it to define datadir.
37221
0bf6d401 37222 * commands/sleep.c: Fix warning about implicit declaration.
37223 * disk/memdisk.c: Likewise.
37224 * loader/aout.c: Likewise.
37225 * loader/i386/bsd_normal.c: Likewise.
37226 * util/grub-probe.c: Likewise.
37227
7cdacf97 37228 * commands/i386/cpuid.c (has_longmode): Make static.
37229 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37230 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37231
17c74c21 37232 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37233 GDT. This is more robust, as %ds can change.
37234 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37235 calling real_to_prot().
37236 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37237
80a3e68b 372382008-03-28 Pavel Roskin <proski@gnu.org>
37239
37240 * kern/i386/pc/startup.S: Assert that uncompressed functions
37241 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37242 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37243 code, as they push parts of the code (error handlers) beyond
37244 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37245 code as correctness and size.
37246
77bcd272 372472008-03-28 Pavel Roskin <proski@gnu.org>
37248
37249 * kern/i386/pc/startup.S
37250 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37251 data block address to the real mode, keep offset minimal. This
37252 works around a bug in AWARD BIOS on old Athlon systems, which
37253 makes CD detection hang.
37254
c5dfd43b 372552008-03-26 Pavel Roskin <proski@gnu.org>
37256
37257 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37258 const.
37259 * include/grub/normal.h: Add grub_parse_color_name_pair()
37260 declaration.
37261
bf962df2 372622008-03-24 Bean <bean123ch@gmail.com>
37263
37264 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37265 (cd_count): Removed.
37266 (cd_drive): New variable.
37267 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37268 (grub_biosdisk_call_hook): Likewise.
37269 (grub_biosdisk_iterate): Change cdrom detection method.
37270 (grub_biosdisk_open): Replace cd_start with cd_drive.
37271 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37272 detect cdrom device.
37273
37274 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37275 Removed.
37276 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37277 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37278 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37279 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37280 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37281 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37282 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37283 (grub_biosdisk_cdrp): New structure.
37284 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37285
37286 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37287
37288 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37289 device.
37290
37291 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37292 New function.
37293
68e7fc7a 372942008-03-20 Robert Millan <rmh@aybabtu.com>
37295
37296 Remove 2 TiB limit in ata.mod.
37297 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37298 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37299 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37300 grub_uint64_t instead of grub_uint32_t.
37301
38ad2cf5 373022008-03-05 Bean <bean123ch@gmail.com>
37303
37304 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37305 (grub_multiboot): Set boot device.
37306
37307 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37308
2b89344e 373092008-03-02 Bean <bean123ch@gmail.com>
37310
37311 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37312 symlink_buffer.
37313
87a95d1f 373142008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37315
37316 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37317 texinfo.tex.
37318
37319 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37320 modified.
37321
37322 * docs/fdl.texi: New file.
f19dbdb7 37323
87a95d1f 37324 * docs/mdate-sh: New file. Copied from gnulib.
37325 * docs/texinfo.tex: Likewise.
37326
37327 * config.guess: Updated from gnulib.
37328 * install-sh: Likewise.
37329
7dc15d8e 373302008-02-28 Robert Millan <rmh@aybabtu.com>
37331
37332 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37333 (aout_mod_SOURCES): New variable.
37334 (aout_mod_CFLAGS): Likewise.
37335 (aout_mod_LDFLAGS): Likewise.
37336
37337 * conf/i386-ieee1275.rmk: Likewise.
37338
b00ab696 373392008-02-28 Robert Millan <rmh@aybabtu.com>
37340
37341 * util/update-grub.in: Reorganise terminal validity check. Accept
37342 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37343 Based on suggestion by Franklin PIAT.
37344
79ca2d78 373452008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37346
37347 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37348 function.
37349 * util/getroot.c (grub_util_check_block_device): New function that
37350 returns the given argument if it is a block device and returns NULL else.
37351 * util/grub-probe.c (argument_is_device): New variable.
37352 (probe): Promote device_name from a variable to an argument. Receive
37353 device_name from grub_util_check_block_device() if path is NULL and from
37354 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37355 (options): Introduce new parameter '-d, --device'.
79ca2d78 37356 (main): Add description of the new parameter to the help screen.
37357 Rename path variable to argument. Set argument_is_device if the '-d'
37358 option is given. Pass argument to probe() depending on
37359 argument_is_device.
37360
0d16e571 373612008-02-24 Bean <bean123ch@gmail.com>
37362
37363 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37364 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37365 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37366 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37367 (GRUB_ISO9660_VOLDESC_END): Likewise.
37368 (grub_iso9660_primary_voldesc): New member escape.
37369 (grub_iso9660_data): New member joliet.
37370 (grub_iso9660_convert_string): New function.
37371 (grub_iso9660_mount): Detect joliet extension.
37372 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37373 (grub_iso9660_iso9660_label): Likewise.
37374
37375 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37376 (grub_setup_SOURCES): Add fs/udf.c.
37377 (grub_fstest_SOURCES): Likewise.
37378 (udf_mod_SOURCES): New variable.
37379 (udf_mod_CFLAGS): Likewise.
37380 (udf_mod_LDFLAGS): Likewise.
37381
37382 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37383 (grub_emu_SOURCES): Likewise.
37384
37385 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37386
37387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37388
37389 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37390
37391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37392
37393 * fs/udf.c: New file.
37394
8a594a17 373952008-02-24 Robert Millan <rmh@aybabtu.com>
37396
37397 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37398 (normal/lexer.c_DEPENDENCIES): New variables.
37399 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37400 (normal/lexer.c_DEPENDENCIES): Likewise.
37401 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37402 (normal/lexer.c_DEPENDENCIES): Likewise.
37403 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37404 (normal/lexer.c_DEPENDENCIES): Likewise.
37405 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37406 (normal/lexer.c_DEPENDENCIES): Likewise.
37407 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37408 (normal/lexer.c_DEPENDENCIES): Likewise.
37409
2dc33c03 374102008-02-23 Robert Millan <rmh@aybabtu.com>
37411
37412 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37413 since they were intended to be in hex. This didn't break previously
37414 because of a bug in gpt_partition_map_iterate() (see below).
37415
37416 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37417 when checking the validity of GPT header.
37418 Remove `partno', since it always provides the same information as `i'.
37419
f6f4cfb0 374202008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37421
37422 * include/grub/efi/time.h: Fix a wrong comment.
37423
79ff665f 374242008-02-19 Pavel Roskin <proski@gnu.org>
37425
37426 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37427 message.
37428
d38e24c2 374292008-02-19 Bean <bean123ch@gmail.com>
37430
37431 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37432 (aout_mod_SOURCES): New variable.
37433 (aout_mod_CFLAGS): Likewise.
37434 (aout_mod_LDFLAGS): Likewise.
37435 (_bsd_mod_SOURCES): New variable.
37436 (_bsd_mod_CFLAGS): Likewise.
37437 (_bsd_mod_LDFLAGS): Likewise.
37438 (bsd_mod_SOURCES): New variable.
37439 (bsd_mod_CFLAGS): Likewise.
37440 (bsd_mod_LDFLAGS): Likewise.
37441
37442 * include/grub/aout.h: New file.
37443
37444 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37445
37446 * include/grub/i386/bsd.h: New file.
37447
37448 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37449 to make it public.
37450
37451 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37452 function is called, so that it's possible to change it inside the hook.
37453 (grub_elf64_load): Likewise.
37454 (grub_elf_file): Don't close the file if elf header is not found.
37455 (grub_elf_close): Close the file if grub_elf_file fails (The new
37456 grub_elf_file won't close it).
37457 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37458 (grub_elf64_size): Likewise.
37459
37460 * kern/i386/loader.S (grub_unix_real_boot): New function.
37461
37462 * loader/aout.c: New file.
37463
37464 * loader/i386/bsd.c: New file.
37465
37466 * loader/i386/bsd_normal.c: New file.
37467
37468 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37469
37470 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37471 can test other formats.
d38e24c2 37472
b93bdb0f 374732008-02-19 Robert Millan <rmh@aybabtu.com>
37474
37475 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37476 (grub_gpt_partition_type_empty): Redefine with macro from
37477 `<grub/gpt_partition.h>'.
37478 (gpt_partition_map_iterate): Adjust partition type comparison.
37479
37480 Export `entry' as partmap-specific `part.data' struct.
37481 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37482
37483 * include/grub/gpt_partition.h (grub_gpt_header)
37484 (grub_gpt_partentry): ... to here (new file).
37485
37486 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37487
37488 (grub_gpt_partition_type_bios_boot): New const variable, defined
37489 with macro from `<grub/gpt_partition.h>'.
37490
37491 (setup): Replace `first_start' with `embed_region', which keeps
37492 track of the embed region (and is partmap-agnostic).
37493
37494 Replace find_first_partition_start() with find_usable_region(),
37495 which finds a usable region for embedding using partmap-specific
37496 knowledge (supports PC/MSDOS and GPT).
37497
37498 Fix all assumptions that the embed region start at sector 1, using
37499 `embed_region.start' from now on. Similarly, use `embed_region.end'
37500 rather than `first_start' to calculate available size.
37501
37502 In grub_util_info() message, replace "into after the MBR" with an
37503 indication of the specific sector our embed region starts at.
37504
66cb40f6 375052008-02-19 Robert Millan <rmh@aybabtu.com>
37506
37507 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37508 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37509 `commands/reboot.c'.
37510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37511 (halt_mod_SOURCES): Likewise.
37512 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37513 (halt_mod_SOURCES): Likewise.
37514
b7202015 375152008-02-17 Christian Franke <franke@computer.org>
37516
37517 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37518
32b0fc49 375192008-02-17 Robert Millan <rmh@aybabtu.com>
37520
37521 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37522 set `first_start' to 0 for non-PC/MSDOS partition maps.
37523
aca63502 375242008-02-16 Robert Millan <rmh@aybabtu.com>
37525
37526 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37527 do not assume partition map is PC/MSDOS before performing checks that
37528 are specific to that layout.
37529
0de8be86 375302008-02-13 Robert Millan <rmh@aybabtu.com>
37531
37532 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37533 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37534 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37535
c3db8364 375362008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37537
37538 * configure.ac: Only a cosmetic change on the handling of
37539 -fno-stack-protector.
37540
f714229e 375412008-02-12 Alexandre Boeglin <alex@boeglin.org>
37542
c3db8364 37543 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37544 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37545 reboot.c.
f714229e 37546 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37547 (halt_mod_SOURCES): New variable.
37548 (halt_mod_CFLAGS): Likewise.
37549 (halt_mod_LDFLAGS): Likewise.
37550 (reboot_mod_SOURCES): Likewise.
37551 (reboot_mod_CFLAGS): Likewise.
37552 (reboot_mod_LDFLAGS): Likewise.
37553
c3db8364 37554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37555 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37556 reboot.c.
f714229e 37557 (halt_mod_SOURCES): Likewise.
37558 (reboot_mod_SOURCES): Likewise.
37559
c3db8364 37560 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37561 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37562 (reboot_mod_SOURCES): Likewise.
37563
37564 * commands/i386/pc/reboot.c: merge this file ...
37565
37566 * commands/ieee1275/reboot.c: ... and this file ...
37567
37568 * commands/reboot.c: ... to this file.
c3db8364 37569 Add some precompiler directive to include the correct header for
37570 each machine.
f714229e 37571
37572 * commands/ieee1275/halt.c: move this file ...
37573
37574 * commands/halt.c: ... to here.
c3db8364 37575 Add some precompiler directive to include the correct header for
37576 each machine.
f714229e 37577
37578 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37579 (grub_halt): Likewise.
37580
37581 * kern/efi/efi.c (grub_reboot): New function.
37582 (grub_halt): Likewise.
37583
c74493e0 375842008-02-12 Robert Millan <rmh@aybabtu.com>
37585
37586 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37587 /dev (like it is done for /dev/mapper). This doesn't provide support
37588 for EVMS, but at least it is now easy to identify the problem when it
37589 arises.
37590
d0db4b04 375912008-02-11 Robert Millan <rmh@aybabtu.com>
37592
37593 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37594 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37595 comparing it with -1, not 0.
37596
bf748642 375972008-02-10 Robert Millan <rmh@aybabtu.com>
37598
37599 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37600 `disk/lvm.c'.
37601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37602 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37603
37604 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37605 `disk/lvm.c' to the end of the list.
37606 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37607 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37608
b5db202a 376092008-02-10 Robert Millan <rmh@aybabtu.com>
37610
37611 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37612 grub_print_error() instead. This will let user know why we're entering
37613 rescue mode.
37614 Based on suggestions from Sam Morris.
37615
83abee31 376162008-02-10 Alexandre Boeglin <alex@boeglin.org>
37617
37618 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37619 on remaining N args, instead of "--" arg N times.
37620
78d5a08b 376212008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37622
37623 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37624 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37625 pattern for unknown glyphs.
37626
68807e5f 376272008-02-09 Robert Millan <rmh@aybabtu.com>
37628
37629 * configure.ac: Probe for `help2man'.
37630 * Makefile.in (builddir): New variable.
37631 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37632 or otherwise add a few flags/options to it.
37633 (install-local): For every executable utility or script that is
37634 installed, invoke $(HELP2MAN) to install a manpage based on --help
37635 output.
37636
37637 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37638 that it doesn't prevent --help from working in build tree.
37639
37640 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37641 with `bug-grub@gnu.org'.
37642 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37643 * util/update-grub.in (usage): New function.
37644 Implement proper argument check, with support for --help and --version
37645 (as well as existing -y).
37646
376472008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37648
37649 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37650 avoid overwriting previous output.
37651 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37652
c1962162 376532008-02-09 Robert Millan <rmh@aybabtu.com>
37654
37655 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37656 drawing the menu.
37657
3dac2e3f 376582008-02-09 Robert Millan <rmh@aybabtu.com>
37659
37660 * commands/sleep.c: New file.
37661 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37662 (sleep_mod_SOURCES): New variable.
37663 (sleep_mod_CFLAGS): Likewise.
37664 (sleep_mod_LDFLAGS): Likewise.
37665
7a634e08 376662008-02-09 Robert Millan <rmh@aybabtu.com>
37667
37668 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37669 situations in which we can deduce the RAID size and the superblock
37670 doesn't match it.
37671
b92f0c18 376722008-02-09 Robert Millan <rmh@aybabtu.com>
37673
37674 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37675 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37676 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37677
37678 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37679 and return a grub_diskmemberlist_t composed of physical array members.
37680 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37681
37682 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37683 prototype.
37684 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37685 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37686 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37687
37688 * util/grub-probe.c (probe): Move partmap probing code from here ...
37689 (probe_partmap): ... to here.
37690 (probe): Use probe_partmap() once for the disk we're probing, and
37691 additionally, when such disk contains a memberlist() struct member,
37692 once for each disk that is contained in the structure returned by
37693 memberlist().
37694
91a4bf68 376952008-02-09 Robert Millan <rmh@aybabtu.com>
37696
37697 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37698 environment variable to 'all' in order to obtain debug output from
37699 non-util/ code.
37700 * util/i386/pc/grub-setup.c (main): Likewise.
37701
a96f9caa 377022008-02-08 Robert Millan <rmh@aybabtu.com>
37703
37704 * disk/raid.c (grub_raid_scan_device): Check for
37705 `array->device[sb.this_disk.number]' rather than for
37706 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37707 guaranteed to be accessible.
a96f9caa 37708
b37a9222 377092008-02-08 Robert Millan <rmh@aybabtu.com>
37710
37711 * disk/raid.c: Update copyright.
37712 * fs/cpio.c: Likewise.
37713 * include/grub/raid.h: Likewise.
37714 * loader/i386/pc/multiboot.c: Likewise.
37715 * util/hostfs.c: Likewise.
37716
5626aee1 377172008-02-08 Robert Millan <rmh@aybabtu.com>
37718
37719 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37720 to a grub_disk_t array.
37721 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37722 `device[x]'.
37723 (grub_raid_scan_device): Replace `device[x].name' accesses with
37724 `device[x]->name'. Simplify initialization of `array->device[x]'.
37725
554f0187 377262008-02-08 Robert Millan <rmh@aybabtu.com>
37727
37728 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37729 grub_dprintf() calls.
37730 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37731 error message.
37732
1ec8425d 377332008-02-07 Christian Franke <franke@computer.org>
37734
37735 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37736 instead of fseek and ftell to support large files.
37737 (grub_hostfs_read): Likewise.
37738
f2156fda 377392008-02-07 Robert Millan <rmh@aybabtu.com>
37740
37741 Patch from Jeroen Dekkers.
37742 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37743 failure, since successfully reading all array members might not be
f2156fda 37744 required.
37745
9216e0e7 377462008-02-06 Robert Millan <rmh@aybabtu.com>
37747
37748 * util/grub-probe.c (probe): Simplify partmap probing (with the
37749 assumption that the first word up to the underscore equals to
37750 the module name).
37751
b0dfd29a 377522008-02-06 Christian Franke <franke@computer.org>
37753
37754 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37755 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37756 last block of a cpio or tar stream.
37757 Check for "TRAILER!!!" instead of any empty data
37758 block to detect last block of a cpio stream.
37759 (grub_cpio_dir): Fix constness of variable np.
37760 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37761 cpio or tar trailer is detected. This fixes a crash
37762 on open of a non existing file.
37763
c32865bf 377642008-02-05 Bean <bean123ch@gmail.com>
37765
37766 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37767 address of entry.
37768 (grub_multiboot_load_elf64): Likewise.
37769 (grub_multiboot): Initialize mbi structure.
37770
37771 * util/grub-fstest.c: Don't include unused header file script.h.
37772
fe6b695a 37773 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37774 of file.
37775 (grub_fstest_SOURCES): Likewise.
37776
409480b7 377772008-02-05 Robert Millan <rmh@aybabtu.com>
37778
37779 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37780 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37781 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37782 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37783
37784 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37785 (translation_table): Replace hardcoded values with macros
37786 provided by `<grub/term.h>'.
37787
37788 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37789 (keyboard_map): Correct/add a few values, with macros provided
37790 by `<grub/term.h>'.
37791 (keyboard_map_shift): Zero values that don't differ from their
37792 `keyboard_map' equivalents.
37793 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37794 Discard the second scan code that is always sent by Caps lock.
37795 Only use `keyboard_map_shift' when it provides a non-zero value,
37796 otherwise fallback to `keyboard_map'.
37797
99fadbaa 377982008-02-04 Bean <bean123ch@gmail.com>
37799
37800 * Makefile.in (enable_grub_fstest): New variable.
37801
37802 * conf/common.rmk (grub_fstest_init.lst): New rule.
37803 (grub_fstest_init.h): Likewise.
37804 (grub_fstest_init.c): Likewise.
37805 (util/grub-fstest.c_DEPENDENCIES): New variable.
37806 (grub_fstest_SOURCES): Likewise.
37807
37808 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37809
37810 * util/grub-fstest.c: New file.
37811
bf567c50 378122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37813
37814 Make grub-setup handle a separate root device.
f19dbdb7 37815
bf567c50 37816 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37817 so that the root device can be compared with the destination
37818 device.
37819 When embedding the core image, if the root and destination devices
37820 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37821 0xFF.
37822 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37823
9be6b98b 378242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37825
37826 Add support for having a grub directory in a different drive. This
37827 is still only the data handling part.
f19dbdb7 37828
9be6b98b 37829 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37830 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37831 (grub_root_drive): New variable.
37832
37833 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37834 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37835 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37836 as it was.
37837
37838 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37839
37840 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37841 macro.
37842 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37843
37844 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37845 is bogus, because PXE booting does not specify any drive
37846 correctly.
37847
37848 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37849 am not sure if this is really correct.
37850
37851 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37852 is always identical to the boot drive when booting from a CD.
37853
37854 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37855 longer.
37856 (root_drive): New variable.
37857 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37858 (setup_sectors): Push %dx right after popping it, because %dh will
37859 be modified later.
37860 (copy_buffer): Restore %dx.
37861
e0ca0677 378622008-02-03 Robert Millan <rmh@aybabtu.com>
37863
37864 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37865 use `cdboot.img' for cdrom images.
37866
3b3f6629 378672008-02-03 Robert Millan <rmh@aybabtu.com>
37868
37869 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37870 only setup gfxterm when `font' command has succeeded.
37871
d42b3672 378722008-02-03 Robert Millan <rmh@aybabtu.com>
37873
37874 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37875 (grub_rescue_cmd_multiboot_loader)
37876 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37877
fa370ea6 378782008-02-03 Pavel Roskin <proski@gnu.org>
37879
e0c5dacb 37880 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37881 %edx and %esi from stack only after grub_gate_a20() is called.
37882 grub_gate_a20() clobbers %edx.
37883
f2a76e1d 378842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37885
37886 * configure.ac (AC_INIT): Bumped to 1.96.
37887
37888 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37889 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37890 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37891 video/readers/png.c.
37892
90fd32d1 378932008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37894
37895 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37896 (cdboot_img_SOURCES): New variable.
37897 (cdboot_img_ASFLAGS): New variable.
37898 (cdboot_img_LDFLAGS): New variable.
37899
37900 * boot/i386/pc/cdboot.S: New file.
37901
37902 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37903 (cd_count): Likewise.
37904 (grub_biosdisk_get_drive): Add support for cd device.
37905 (grub_biosdisk_call_hook): Likewise.
37906 (grub_biosdisk_iterate): Likewise.
37907 (grub_biosdisk_open): Likewise.
37908 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37909 (grub_biosdisk_rw): Support reading from cd device.
37910 (GRUB_MOD_INIT): Iterate cd devices.
37911
37912 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37913 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37914 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37915
37916 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37917
4020aa53 379182008-02-02 Robert Millan <rmh@aybabtu.com>
37919
37920 * commands/read.c: New file.
37921 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37922 (read_mod_SOURCES): New variable.
37923 (read_mod_CFLAGS): Likewise.
37924 (read_mod_LDFLAGS): Likewise.
37925
e03a1132 379262008-02-02 Robert Millan <rmh@aybabtu.com>
37927
37928 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37929 determining whether menu has to be displayed.
37930
58c69220 379312008-02-02 Marco Gerards <marco@gnu.org>
37932
37933 * bus/pci.c: New file.
37934
37935 * include/grub/pci.h: Likewise.
37936
37937 * include/grub/i386/pc/pci.h: Likewise.
37938
37939 * commands/lspci.c: Likewise.
37940
37941 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37942 `lspci.mod'.
37943 (pci_mod_SOURCES): New variable.
37944 (pci_mod_CFLAGS): Likewise.
37945 (pci_mod_LDFLAGS): Likewise.
37946 (lspci_mod_SOURCES): Likewise.
37947 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37948 (lspci_mod_LDFLAGS): Likewise.
58c69220 37949
c004e1b4 379502008-02-02 Bean <bean123ch@gmail.com>
37951
37952 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37953 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37954
37955 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37956 (grub_xfs_btree_node): New structure.
37957 (grub_xfs_btree_root): New structure.
37958 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37959 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37960 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37961 (GRUB_XFS_EXTENT_SIZE): Likewise.
37962 (grub_xfs_read_block): Support btree format type.
37963 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37964 Use directory block as basic unit.
37965
37966 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37967
37968 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37969 __attribute__ ((__regparm__ (1))).
37970
f95562bf 379712008-02-01 Robert Millan <rmh@aybabtu.com>
37972
37973 Correct a mistake in previous commit.
37974
37975 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37976 top.
37977 (normal/command.c_DEPENDENCIES): New variable.
37978
7d31f41f 379792008-02-01 Robert Millan <rmh@aybabtu.com>
37980
37981 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37982 top.
37983 (normal/command.c_DEPENDENCIES): New variable.
37984 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37985 * conf/i386-ieee1275.rmk: Likewise.
37986 * conf/i386-linuxbios.rmk: Likewise.
37987 * conf/i386-pc.rmk: Likewise.
37988 * conf/sparc64-ieee1275.rmk: Likewise.
37989 * conf/powerpc-ieee1275.rmk: Likewise.
37990 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37991
37992 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37993
60b6be74 379942008-02-01 Robert Millan <rmh@aybabtu.com>
37995
37996 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37997 call at beginning of function.
37998
078522ab 379992008-01-31 Pavel Roskin <proski@gnu.org>
38000
38001 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 38002 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38003 (grub_mkrescue_SOURCES): Likewise.
078522ab 38004 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38005
ccaa8a5f 380062008-01-30 Robert Millan <rmh@aybabtu.com>
38007
38008 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38009 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38010 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38011 (grub_probe_SOURCES): ... to here.
38012
38013 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38014 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38015 * conf/i386-ieee1275.rmk: Likewise.
38016 * conf/i386-linuxbios.rmk: Likewise.
38017 * conf/powerpc-ieee1275.rmk: Likewise.
38018
ae5a9cd7 380192008-01-30 Tristan Gingold <gingold@free.fr>
38020
38021 * kern/rescue.c: Silently accept empty lines.
38022
70bc2ef2 380232008-01-29 Bean <bean123ch@gmail.com>
38024
38025 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38026 (real_code_2): Code cleanup and change comment style.
38027 (move_memory): Avoid using 32-bit address mode.
38028
6a4d50ea 380292008-01-29 Bean <bean123ch@gmail.com>
38030
38031 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38032 (png_mod_SOURCES): New variable.
38033 (png_mod_CFLAGS): Likewise.
38034 (png_mod_LDFLAGS): Likewise.
38035
38036 * video/readers/png.c: New file.
38037
11cc30ac 380382008-01-28 Robert Millan <rmh@aybabtu.com>
38039
38040 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38041 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38042 `ifndef GRUB_MOD_GAP' hack.
38043 * util/elf/grub-mkimage.c (add_segments): Likewise.
38044
3abc589f 380452008-01-27 Robert Millan <rmh@aybabtu.com>
38046
38047 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38048 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 38049 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 38050
e1907778 380512008-01-27 Robert Millan <rmh@aybabtu.com>
38052
38053 Get grub-emu to build again (including parallel builds).
38054
38055 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38056 Split into ...
38057 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38058 (normal/execute.c_DEPENDENCIES): ... this, ...
38059 (grub-emu_DEPENDENCIES): ... and this.
38060
38061 * conf/i386-efi.rmk: Likewise.
38062 * conf/i386-linuxbios.rmk: Likewise.
38063 * conf/i386-ieee1275.rmk: Likewise.
38064 * conf/powerpc-ieee1275.rmk: Likewise.
38065 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38066
2216b101 380672008-01-27 Robert Millan <rmh@aybabtu.com>
38068
38069 * NEWS: Add a few items.
38070
f75172d9 380712008-01-27 Robert Millan <rmh@aybabtu.com>
38072
38073 Fix parallel builds with grub-emu. Based on earlier commit for
38074 grub-probe and grub-setup.
38075
38076 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38077 (util/grub-emu.c_DEPENDENCIES): ... this.
38078 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38079 (util/grub-emu.c_DEPENDENCIES): ... this.
38080 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38081 (util/grub-emu.c_DEPENDENCIES): ... this.
38082 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38083 (util/grub-emu.c_DEPENDENCIES): ... this.
38084 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38085 (util/grub-emu.c_DEPENDENCIES): ... this.
38086
3f51de77 380872008-01-27 Pavel Roskin <proski@gnu.org>
38088
38089 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38090 to create a gap between _end and the modules added to the image
38091 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38092 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38093 * util/elf/grub-mkimage.c (add_segments): Likewise.
38094
2033f53e 380952008-01-26 Pavel Roskin <proski@gnu.org>
38096
38097 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38098 just return an error.
38099
22da1f6f 381002008-01-26 Bean <bean123ch@gmail.com>
38101
38102 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38103 (grub_reiserfs_get_item): Save offset of the next item.
38104 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38105
2a9525e6 381062008-01-25 Robert Millan <rmh@aybabtu.com>
38107
38108 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38109 make all filesystem sources appear together (possibly fixing omissions
38110 while at it).
38111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38113 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38115
38116 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38117 add `kern/file.c'.
38118 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38119 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38120 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38121 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38122
38123 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38124 (probe): Add a sanity check to make sure of our ability to read
38125 requested files when probing for filesystem type.
38126
38127 * genmk.rb: Update copyright year (2007).
38128
38129 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38130 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38131 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38132 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38133 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38134 : Remove function prototypes.
38135
b95f71b5 381362008-01-25 Robert Millan <rmh@aybabtu.com>
38137
38138 Revert my previous commits (based on wrong assumption of how grub_errno
38139 works).
38140
fe6b695a 38141 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38142 * kern/file.c (grub_file_open): Likewise.
38143
d08bbb49 381442008-01-24 Pavel Roskin <proski@gnu.org>
38145
38146 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38147 that hang if GRUB tries to setup colors.
38148 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38149 colors for firmwares that don't support it.
38150 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38151 Recognize Open Hack'Ware, set flags to work around its
38152 limitations.
38153
605e36ed 381542008-01-24 Robert Millan <rmh@aybabtu.com>
38155
38156 * kern/file.c (grub_file_open): Do not account previous failures of
38157 unrelated functions when grub_errno is checked for.
38158 Reported by Oleg Strikov.
38159
bac332a1 381602008-01-24 Bean <bean123ch@gmail.com>
38161
38162 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38163 (grub_ufs_sblock): New member volume name.
38164 (grub_ufs_find_file): Fix string copy bug.
38165 (grub_ufs_label): Implement this function properly.
38166
38167 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38168 (grub_hfs_iterate_records): Use the correct file number for extents
38169 and catalog file. Fix problem in next index calculation.
38170 (grub_hfs_find_node): Replace recursive function call with loop.
38171 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38172
15c80c09 381732008-01-23 Robert Millan <rmh@aybabtu.com>
38174
38175 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38176 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38177 (grub_multiboot2_real_boot): New function prototype.
38178
38179 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38180 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38181
38182 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38183 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38184
305338fd 381852008-01-23 Robert Millan <rmh@aybabtu.com>
38186
38187 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38188 #ifdef'ed out grub_printf().
38189
3ea52685 381902008-01-23 Robert Millan <rmh@aybabtu.com>
38191
38192 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38193 grub_dprintf calls, since they make "debug=all" mode unusable.
38194 (grub_console_checkkey): Likewise.
38195
5882ae4b 381962008-01-23 Robert Millan <rmh@aybabtu.com>
38197
38198 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38199 `term/i386/pc/at_keyboard.c'.
38200 (pkglib_MODULES): Add `serial.mod'.
38201 (serial_mod_SOURCES): New variable.
38202 (serial_mod_CFLAGS): Likewise.
38203 (serial_mod_LDFLAGS): Likewise.
38204
38205 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38206 `<grub/powerpc/ieee1275/console.h>'.
38207 (grub_keyboard_controller_init): New function prototype.
38208 (grub_console_checkkey): Likewise.
38209 (grub_console_getkey): Likewise.
38210
38211 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38212 keyboard on i386.
38213
38214 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38215 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38216
06ab5303 382172008-01-23 Robert Millan <rmh@aybabtu.com>
38218
38219 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38220 present, "(memdisk)/boot/grub" becomes the default prefix.
38221
38222 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38223 a memdisk tarball with all the modules. Add --overlay=DIR option that
38224 allows users to overlay additional files into the image.
38225
dbb475a4 382262008-01-23 Robert Millan <rmh@aybabtu.com>
38227
38228 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38229 and `machine/memory.h'.
38230 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38231 (_multiboot_mod_SOURCES): New variable.
38232 (_multiboot_mod_CFLAGS): Likewise.
38233 (_multiboot_mod_LDFLAGS): Likewise.
38234 (multiboot_mod_SOURCES): Likewise.
38235 (multiboot_mod_CFLAGS): Likewise.
38236 (multiboot_mod_LDFLAGS): Likewise.
38237
38238 * include/grub/i386/ieee1275/loader.h: New file.
38239
38240 * include/grub/i386/ieee1275/machine.h: Likewise.
38241
38242 * include/grub/i386/ieee1275/memory.h: Likewise.
38243
38244 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38245 variable declaration.
38246 (grub_os_area_size): Likewise.
38247
38248 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38249 (grub_lower_mem, grub_upper_mem): New variables.
38250 (grub_stop_floppy): New function (just to make
38251 grub_multiboot2_real_boot() happy).
38252
38253 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38254 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38255 (grub_stop): New function.
38256 Include `"../realmode.S"' and `"../loader.S"'.
38257
38258 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38259 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38260
38261 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38262 rely on grub_multiboot2_real_boot() for final boot.
38263
25638629 382642008-01-22 Robert Millan <rmh@aybabtu.com>
38265
38266 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38267 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38268 device that doesn't look like an SD card.
38269 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38270 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38271 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38272 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38273 found.
38274
9dad816d 382752008-01-22 Robert Millan <rmh@aybabtu.com>
38276
38277 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38278 avoid claiming over our own code.
38279
34842f2d 382802008-01-22 Bean <bean123ch@gmail.com>
38281
38282 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38283 (jpeg_mod_SOURCES): New variable.
38284 (jpeg_mod_CFLAGS): Likewise.
38285 (jpeg_mod_LDFLAGS): Likewise.
38286
38287 * video/readers/jpeg.c : New file.
38288
44023a28 382892008-01-22 Bean <bean123ch@gmail.com>
38290
38291 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38292 there are no more items.
38293
bc2d8ac6 382942008-01-21 Robert Millan <rmh@aybabtu.com>
38295
38296 * kern/mm.c (grub_mm_init_region): Improve debug message.
38297
261bd4bc 382982008-01-21 Robert Millan <rmh@aybabtu.com>
38299
38300 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38301 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38302 address.
38303 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38304 a C macro.
38305 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38306 Indicates start of upper memory.
38307 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38308 (generate_image): Abort when image size is big enough to corrupt
38309 upper memory.
38310
38311 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38312 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38313 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38314 instead of hardcoding 0xA0000.
38315 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38316 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38317 instead of hardcoding 0xA0000.
38318
f970b55e 383192008-01-21 Robert Millan <rmh@aybabtu.com>
38320
38321 * disk/memdisk.c (memdisk_size): New variable.
38322 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38323 `memdisk_size'.
38324 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38325 image to dynamic memory.
38326 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38327 `memdisk_size'. Free memdisk block.
38328
1a8b0526 383292008-01-21 Robert Millan <rmh@aybabtu.com>
38330
38331 Fix detection of very small filesystems (like tar).
38332
38333 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38334 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38335 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38336 a problem with this disk).
38337
6e9b4aab 383382008-01-21 Robert Millan <rmh@aybabtu.com>
38339
38340 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38341 on grub_biosdisk_rw_standard() error.
38342
0d8837b2 383432008-01-21 Robert Millan <rmh@aybabtu.com>
38344
38345 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38346 recent changes.
38347 * kern/elf.c: Likewise.
38348 * kern/ieee1275/ieee1275.c: Likewise.
38349 * kern/powerpc/ieee1275/openfw.c: Likewise.
38350 * term/ieee1275/ofconsole.c: Likewise.
38351
ffd36e34 383522008-01-21 Robert Millan <rmh@aybabtu.com>
38353
38354 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38355
3f0093d0 38356 * include/grub/kernel.h (grub_arch_memdisk_addr)
38357 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38358
3f0093d0 38359 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38360 (grub_arch_memdisk_size): ... to here.
ffd36e34 38361
6c391b21 383622008-01-21 Robert Millan <rmh@aybabtu.com>
38363
38364 Mostly based on bugfix from Bean.
38365
38366 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38367 attribute with hook() parameter.
38368 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38369 declaration.
38370 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38371 attribute with hook() parameter.
38372 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38373 declaration.
38374
55a581dc 383752008-01-21 Robert Millan <rmh@aybabtu.com>
38376
38377 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38378 (pkglib_MODULES): Add `memdisk.mod'.
38379 (memdisk_mod_SOURCES): New variable.
38380 (memdisk_mod_CFLAGS): Likewise.
38381 (memdisk_mod_LDFLAGS): Likewise.
38382
38383 * disk/memdisk.c: New file.
38384
38385 * include/grub/disk.h (grub_disk_dev_id): Add
38386 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38387
38388 * include/grub/i386/pc/kernel.h
38389 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38390 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38391 (grub_kernel_image_size): New variable declaration.
38392 (grub_total_module_size): Likewise.
38393 (grub_memdisk_image_size): Likewise.
38394
38395 * include/grub/i386/pc/memory.h
38396 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38397
38398 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38399 (grub_arch_memdisk_addr): New variable declaration.
38400 (grub_arch_memdisk_size): Likewise.
38401
38402 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38403 (grub_arch_memdisk_size): Likewise.
38404
38405 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38406 (codestart): Replace hardcoded `0x100000' with
38407 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38408
38409 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38410 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38411 not NULL, append the contents of the file it refers to, at the end of
38412 the compressed kernel image. Initialize `grub_memdisk_image_size'
38413 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38414 (options): Add "memdisk"|'m' option.
38415 (main): Parse --memdisk|-m option, and pass user-provided path as
38416 parameter to generate_image().
38417
3d7f54c9 384182008-01-20 Robert Millan <rmh@aybabtu.com>
38419
38420 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38421 grub_dprintf() calls from here ...
38422 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38423
0bf74728 384242008-01-20 Robert Millan <rmh@aybabtu.com>
38425
38426 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38427
38428 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38429 declaration.
38430 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38431 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38432 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38433 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38434 property).
38435 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38436 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38437
33bf70a7 384382008-01-19 Robert Millan <rmh@aybabtu.com>
38439
fe6b695a 38440 Get rid of confusing function (superseded by
33bf70a7 38441 `grub_ieee1275_get_integer_property')
38442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38443 prototype.
38444 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38445 function.
38446 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38447 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38448 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38449
e2da7d26 384502008-01-19 Robert Millan <rmh@aybabtu.com>
38451
38452 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38453 command after "shut-down", since implementations differ on which
38454 the command for halt is.
38455
59f1fd8d 384562008-01-19 Robert Millan <rmh@aybabtu.com>
38457
38458 * include/grub/i386/linuxbios/console.h: Add header protection.
38459 (grub_keyboard_controller_init): New function prototype.
38460 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38461 (KEYBOARD_COMMAND_READ): Likewise.
38462 (KEYBOARD_COMMAND_WRITE): Likewise.
38463 (KEYBOARD_SCANCODE_SET1): Likewise.
38464 (grub_keyboard_controller_write): New function.
38465 (grub_keyboard_controller_read): Likewise.
38466 (grub_keyboard_controller_init): Likewise.
38467
38468 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38469 (grub_console_init): On coreboot/LinuxBIOS, call
38470 grub_keyboard_controller_init().
38471
5f5a7c15 384722008-01-19 Robert Millan <rmh@aybabtu.com>
38473
38474 PowerPC changes provided by Pavel Roskin.
38475
38476 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38477 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38478 don't rely on cmain() doing it.
38479 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38480 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38481
1210e168 384822008-01-16 Robert Millan <rmh@aybabtu.com>
38483
38484 * include/grub/i386/linuxbios/memory.h
38485 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38486 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38487 receive `table_header' as argument. Instead, probe for it in the
38488 known memory ranges where it can be present.
38489 (grub_available_iterate): Do not pass a fixed `table_header' address
38490 to grub_linuxbios_table_iterate().
38491
3d04eab8 384922008-01-15 Robert Millan <rmh@aybabtu.com>
38493
38494 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38495 * conf/i386-ieee1275.rmk: New file.
38496 * include/grub/i386/ieee1275/console.h: Likewise.
38497 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38498 * include/grub/i386/ieee1275/kernel.h: Likewise.
38499 * include/grub/i386/ieee1275/time.h: Likewise.
38500 * kern/i386/ieee1275/init.c: Likewise.
38501 * kern/i386/ieee1275/startup.S: Likewise.
38502
d1bc1b73 385032008-01-15 Robert Millan <rmh@aybabtu.com>
38504
38505 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38506 when pointers are 32-bit (but still do set it to one when they are
38507 64-bit).
38508
66a65807 385092008-01-15 Robert Millan <rmh@aybabtu.com>
38510
38511 * include/grub/ieee1275/ieee1275.h
38512 (grub_ieee1275_get_integer_property): New function prototype.
38513
38514 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38515 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38516 grub_ieee1275_get_property() to handle endianness.
66a65807 38517
38518 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38519 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38520 where appropriate.
66a65807 38521 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38522 (grub_map): Likewise.
38523 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38524
a83ccafd 385252008-01-15 Bean <bean123ch@gmail.com>
38526
38527 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38528 (grub_script_execute_cmdline): Reset grub_errno.
38529
38530 * normal/main.c (read_config_file): Reset grub_errno.
38531
38532 * normal/parse.y (script_init): New.
38533 (script): Move function and menuentry here.
38534 (delimiter): New.
38535 (command): Add delimiter at the end of command.
38536 (commands): Adjust to match the new command.
38537 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38538 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38539 (if): Use the new commands.
38540
38541 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38542
df6ecfc6 385432008-01-15 Robert Millan <rmh@aybabtu.com>
38544
38545 * normal/menu.c (run_menu): Move timeout message from here ...
38546 (print_timeout): ... to here.
38547 (run_menu): Use print_timeout() once during initial draw to print
38548 the whole message, and again in every clock tick to update only
38549 the number of seconds.
38550
87ae25eb 385512008-01-15 Robert Millan <rmh@aybabtu.com>
38552
38553 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38554 actual size of `available' from grub_ieee1275_get_property(), and
38555 restrict parsing to that bound.
38556
47bf09a4 385572008-01-15 Christian Franke <franke@computer.org>
38558
38559 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38560 (argp_program_version): Remove variable.
38561 (argp_program_bug_address): Likewise.
38562 (options): Convert from struct argp_option to struct option.
38563 (struct arguments): Remove.
38564 (parse_opt): Remove.
38565 (usage): New function.
38566 (main): Replace struct args members by simple variables.
38567 Replace argp_parse() by getopt_long().
38568 Add switch to evaluate options.
38569 Add missing "(...)" around root_dev in prefix string.
38570
c86f1469 385712008-01-14 Robert Millan <rmh@aybabtu.com>
38572
38573 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38574 for grub_ieee1275_exit(), in order to improve portability.
38575
e622c559 385762008-01-14 Robert Millan <rmh@aybabtu.com>
38577
38578 * util/grub.d/10_linux.in (prefix): Define.
38579 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38580
44cb1ec8 385812008-01-13 Pavel Roskin <proski@gnu.org>
38582
38583 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38584 grub_errno if no errors have been detected.
38585
1eb8c802 385862008-01-12 Robert Millan <rmh@aybabtu.com>
38587
38588 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38589 (grub_util_get_dev_abstraction): New function prototype.
38590
38591 * util/getroot.c: Include `<grub/util/getroot.h>'
38592 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38593 (grub_util_get_dev_abstraction): ... here (new function).
38594
38595 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38596 `PRINT_ABSTRACTION'.
38597 (probe): Probe for abstraction type when requested.
38598 (main): Understand `--target=abstraction'.
38599
38600 * util/i386/efi/grub-install.in: Add abstraction module to core
38601 image when it is found to be necessary.
38602 * util/i386/pc/grub-install.in: Likewise.
38603 * util/powerpc/ieee1275/grub-install.in: Likewise.
38604
38605 * util/update-grub_lib.in (font_path): Return system path without
38606 converting to GRUB path.
38607 * util/update-grub.in: Convert system path returned by font_path()
38608 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38609 abstraction module is needed for loading fonts (if any). Export
38610 that as `GRUB_PRELOAD_MODULES'.
38611 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38612 insmod commands).
38613
52bd3de9 386142008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38615
38616 Remove some unused code from reiserfs.
f19dbdb7 38617
52bd3de9 38618 * fs/reiserfs.c (struct grub_reiserfs_key)
38619 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38620 (struct grub_reiserfs_node_body): Removed.
38621 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38622 Likewise.
38623 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38624 Likewise.
38625 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38626 Likewise.
38627 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38628 Likewise.
38629 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38630 Likewise.
38631 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38632 Likewise.
38633 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38634 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38635 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38636
2f80039d 386372008-01-10 Robert Millan <rmh@aybabtu.com>
38638
38639 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38640 Determines if a file is garbage left by packaging systems, etc.
38641 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38642 for processing /etc/grub.d scripts.
38643 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38644 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38645 as a condition for processing Linux images.
38646
87888032 386472008-01-10 Pavel Roskin <proski@gnu.org>
38648
38649 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38650 to compile reiserfs.c on PowerPC.
38651
7e54fced 386522008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38653
38654 * kern/device.c (grub_device_iterate): Do not abort device iteration
38655 when one of the devices cannot be opened.
38656 * kern/disk.c (grub_disk_open): Do not account previous failures of
38657 unrelated functions when grub_errno is checked for.
38658
5aa541e6 386592008-01-08 Robert Millan <rmh@aybabtu.com>
38660
38661 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38662 `! grub_linux_is_bzimage', change order of address comparison to make
38663 it more intuitive, and improve "too big zImage" error message.
38664
7076340d 386652008-01-08 Robert Millan <rmh@aybabtu.com>
38666
38667 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38668 `$(update-grub_DATA)'.
38669 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38670 targets.
38671
9ca70333 386722008-01-07 Robert Millan <rmh@aybabtu.com>
38673
38674 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38675 which instruction is modified by grub-setup during installation
38676 (since it wasn't obvious by only looking at this file).
38677
38ccf575 386782008-01-07 Robert Millan <rmh@aybabtu.com>
38679
38680 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38681 listing actual TODO items.
38682
f5db4291 386832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38684
868967cf 38685 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38686 correctly.
38687 (grub_reiserfs_get_key_offset): Likewise.
38688 (grub_reiserfs_set_key_offset): Likewise.
38689 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38690 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38691
38692 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38693 better to remove the bitfield version completely.
f19dbdb7 38694
868967cf 386952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38696
f5db4291 38697 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38698 allocated from the heap, due to the fshelp implementation.
38699 (grub_reiserfs_dir): Free NODE, due to the same reason.
38700
492e6d9d 387012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38702
38703 Mostly from Vincent Pelletier:
f19dbdb7 38704
492e6d9d 38705 * fs/reiserfs.c: New file.
f19dbdb7 38706
492e6d9d 38707 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38708 (reiserfs_mod_SOURCES): New variable.
38709 (reiserfs_mod_CFLAGS): Likewise.
38710 (reiserfs_mod_LDFLAGS): Likewise.
38711
38712 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38713 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38714 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38715 normal/color.c.
38716
9ce3e7c1 387172008-01-06 Robert Millan <rmh@aybabtu.com>
38718
38719 * normal/color.c: Remove `<grub/env.h>'.
38720
f3b58148 387212008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38722
38723 * include/grub/normal.h: Include <grub/env.h>.
38724
7ac3bcfa 387252008-01-05 Robert Millan <rmh@aybabtu.com>
38726
38727 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38728 usage example with `(hd0,1)'.
fb358190 38729 Reported by Samuel Thibault.
7ac3bcfa 38730
c8ee99d7 387312008-01-05 Robert Millan <rmh@aybabtu.com>
38732
38733 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38734 (grub_linux_boot_zimage): Rename to ...
38735 (grub_linux_boot): ... this.
38736 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38737 (grub_linux_boot_zimage): Conditionalize zImage copy.
38738
38739 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38740 (grub_linux_boot_bzimage): Remove prototype.
38741 (grub_linux_boot_zimage): Rename to ...
38742 (grub_linux_boot): ... this.
38743
38744 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38745 (grub_linux_boot): Remove function.
38746
0ece25b1 387472008-01-05 Robert Millan <rmh@aybabtu.com>
38748
38749 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38750 (grub_env_write_color_highlight): Likewise.
38751 (grub_wait_after_message): Likewise.
38752
38753 * normal/color.c: New file.
38754
38755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38756 (normal_mod_DEPENDENCIES): Likewise.
38757
38758 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38759 (normal_mod_DEPENDENCIES): Likewise.
38760
38761 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38762 (normal_mod_DEPENDENCIES): Likewise.
38763
38764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38765 (normal_mod_DEPENDENCIES): Likewise.
38766
38767 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38768 for waiting after a message is printed.
38769 * normal/main.c (read_config_file): Likewise.
38770 (grub_normal_init): Register grub_env_write_color_normal() and
38771 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38772 `color_highlight' variables as global.
38773
38774 * normal/menu.c (grub_wait_after_message): New function.
38775 (grub_color_menu_normal): New variable. Replaces ...
38776 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38777 (grub_color_menu_highlight): New variable. Replaces ...
38778 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38779 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38780 `GRUB_TERM_COLOR_STANDARD'.
38781 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38782 `normal_code' and `highlight_code' to `old_color_normal' and
38783 `old_color_highlight', respectively.
38784 (grub_menu_init_page): Update colors when drawing the menu, based on
38785 `menu_color_normal' and `menu_color_highlight' variables.
38786 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38787 a message is printed.
38788
182dd4e5 387892008-01-05 Robert Millan <rmh@aybabtu.com>
38790
38791 * kern/env.c (grub_env_context_open): Propagate hooks for global
38792 variables to new context.
38793
38794 * kern/main.c (grub_set_root_dev): Export `root' variable.
38795
ddf8f6ad 387962008-01-05 Robert Millan <rmh@aybabtu.com>
38797
38798 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38799 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38800 them.
38801
d8b43d9b 388022008-01-05 Robert Millan <rmh@aybabtu.com>
38803
38804 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38805
2bff2de3 388062008-01-04 Christian Franke <franke@computer.org>
38807
38808 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38809 of eisa_mmap.
38810
97eab917 388112008-01-03 Pavel Roskin <proski@gnu.org>
38812
38813 * kern/i386/linuxbios/init.c: Put "void" to all function
38814 declarations with no arguments.
38815 * kern/powerpc/ieee1275/init.c: Likewise.
38816 * term/i386/pc/at_keyboard.c: Likewise.
38817 * term/i386/pc/vga_text.c: Likewise.
38818 * util/grub-mkdevicemap.c: Likewise.
38819
b9416d00 388202008-01-02 Robert Millan <rmh@aybabtu.com>
38821
38822 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38823 message when loaded image is out of bounds.
38824 (grub_multiboot_load_elf64): Likewise.
38825
92695df9 388262008-01-02 Pavel Roskin <proski@gnu.org>
38827
38828 * util/grub.d/10_linux.in: Try version without ".old" when
38829 looking for initrd. It's better to use initrd from the newer
38830 kernel of the same version than no initrd at all.
38831
d98d9cad 388322008-01-01 Robert Millan <rmh@aybabtu.com>
38833
38834 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38835
dbfdce36 388362008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38837
f19dbdb7 38838 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38839 grub_video_get_active_render_target.
38840 (grub_video_adapter): Added unmap_color and get_active_render_target.
38841
f19dbdb7 38842 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38843 grub_video_get_active_render_target.
38844 (grub_video_get_info): Changed method to accept NULL pointer as an
38845 argument to allow detection of active video adapter.
38846
38847 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38848 grub_video_vbe_unmap_color_int.
38849 Added grub_video_vbe_unmap_color and
38850 grub_video_vbe_get_active_render_target.
38851 (grub_video_vbe_adapter): Added unmap_color and
38852 get_active_render_target.
38853
f19dbdb7 38854 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38855 with grub_video_vbe_unmap_color_int.
38856
38857 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38858 (DEFAULT_NORMAL_COLOR): Likewise.
38859 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38860 (DEFAULT_FG_COLOR): Removed.
38861 (DEFAULT_BG_COLOR): Likewise.
38862 (DEFAULT_CURSOR_COLOR): Changed value.
38863 (grub_virtual_screen): Added standard_color_setting,
38864 normal_color_setting, highlight_color_setting and term_color.
38865 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38866 (bitmap_width): Added.
38867 (bitmap_height): Likewise.
38868 (bitmap): Likewise.
38869 (set_term_color): Likewise.
38870 (grub_virtual_screen_setup): Changed to use new terminal coloring
38871 settings.
38872 (grub_gfxterm_init): Added init for bitmap.
38873 (grub_gfxterm_fini): Added destroy for bitmap.
38874 (redraw_screen_rect): Updated to use background bitmap and new
38875 terminal coloring.
38876 (scroll_up): Added optimization for case when there is no bitmap.
38877 (grub_gfxterm_cls): Fixed to use correct background color.
38878 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38879 coloring.
38880 (grub_virtual_screen_setcolor): Likewise.
38881 (grub_virtual_screen_getcolor): Added.
38882 (grub_gfxterm_background_image_cmd): Likewise.
38883 (grub_video_term): Added setcolor and getcolor.
38884 (MOD_INIT): Added registration of background_image command.
38885 (MOD_TERM): Added unregistration for background_image command.
38886
c3c20931 388872007-12-30 Pavel Roskin <proski@gnu.org>
38888
38889 * loader/multiboot_loader.c: Fix multiboot command
38890 unregistration. Fix all typos in the word "multiboot".
38891
df266716 388922007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38893
38894 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38895 support for initrd names used in Fedora.
38896
fc6e896c 388972007-12-26 Bean <bean123ch@gmail.com>
38898
38899 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38900 (cpio_mod_SOURCES): New variable.
38901 (cpio_mod_CFLAGS): Likewise.
38902 (cpio_mod_LDFLAGS): Likewise.
38903
38904 * fs/cpio.c: New file.
38905
38906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38907
38908 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38909
38910 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38911
38912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38913
533110ad 389142007-12-25 Robert Millan <rmh@aybabtu.com>
38915
38916 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38917 (grub_getcolor): New function.
38918
38919 * kern/term.c (grub_getcolor): New function.
38920 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38921 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38922 (print_entry): Set normal and highlight colors to
38923 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38924 respectively, before printing and restore them to old
38925 values afterwards.
38926 (grub_menu_init_page): Likewise. Fill an additional colored space
38927 that would otherwise be left blank.
38928
38929 * term/efi/console.c (grub_console_getcolor): New function.
38930 (struct grub_console_term.getcolor): New variable.
38931 * term/i386/pc/console.c (grub_console_getcolor): New function.
38932 (struct grub_console_term.getcolor): New variable.
38933 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38934 (struct grub_console_term.getcolor): New variable.
38935
38936 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38937 (struct grub_console_term.setcolor): Remove variable.
38938 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38939 (struct grub_console_term.setcolor): Remove variable.
38940 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38941 (struct grub_console_term.setcolor): Remove variable.
38942 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38943 (struct grub_console_term.setcolor): Remove variable.
38944
4931827f 389452007-12-25 Robert Millan <rmh@aybabtu.com>
38946
38947 * configure.ac: Search for possible unifont.hex locations, and
38948 define UNIFONT_HEX if found.
38949
38950 * Makefile.in (UNIFONT_HEX): Define variable.
38951 (DATA): Rename to ...
38952 (PKGLIB): ... this. Update all users.
38953 (PKGDATA): New variable.
38954 (pkgdata_IMAGES): Rename to ...
38955 (pkglib_IMAGES): ... this. Update all users.
38956 (pkgdata_MODULES): Rename to ...
38957 (pkglib_MODULES): ... this. Update all users.
38958 (pkgdata_PROGRAMS): Rename to ...
38959 (pkglib_PROGRAMS): ... this. Update all users.
38960 (pkgdata_DATA): Rename to ...
38961 (pkglib_DATA): ... this. Update all users.
38962 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38963 (unicode.pff, ascii.pff): New rules.
38964 (all-local): Add `$(PKGDATA)' dependency.
38965 (install-local): Process `$(PKGDATA)'.
38966
38967 * util/update-grub_lib.in (font_path): Search for *.pff files in
38968 a few more locations, including `${pkgdata}'.
38969
57e57e31 389702007-12-23 Robert Millan <rmh@aybabtu.com>
38971
38972 Patch from Bean <bean123ch@gmail.com>:
38973 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38974 `size'.
38975
4bc72aa9 389762007-12-21 Bean <bean123ch@gmail.com>
38977
38978 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38979 (ntfscomp_mod_SOURCES): New variable.
38980 (ntfscomp_mod_CFLAGS): Likewise.
38981 (ntfscomp_mod_LDFLAGS): Likewise.
38982
38983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38984 (grub_probe_SOURCES): Likewise.
38985 (grub_emu_SOURCES): Likewise.
38986
38987 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38988 (grub_emu_SOURCES): Likewise.
38989
38990 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38991 (grub_emu_SOURCES): Likewise.
38992
38993 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38994 (grub_emu_SOURCES): Likewise.
38995
38996 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38997 (read_run_list): Renamed to grub_ntfs_read_run_list.
38998 (decomp_nextvcn): Moved to ntfscomp.c.
38999 (decomp_getch): Likewise.
39000 (decomp_get16): Likewise.
39001 (decomp_block): Likewise.
39002 (read_block): Likewise.
39003 (read_data): Partially moved to ntfscomp.c.
39004 (fixup): Change unsigned to grub_uint16_t.
39005 (read_mft): Change unsigned long to grub_uint32_t.
39006 (read_attr): Likewise.
39007 (read_data): Likewise.
39008 (read_run_data): Likewise.
39009 (read_run_list): Likewise.
39010 (read_mft): Likewise.
39011
39012 * fs/ntfscomp.c: New file.
39013
39014 * include/grub/ntfs.h: New file.
39015
af680a87 390162007-12-16 Robert Millan <rmh@aybabtu.com>
39017
39018 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39019 IDE disk check, since Linux is known to support 20 IDE disks.
39020 Reported by Colin Watson.
39021
84be7599 390222007-12-15 Bean <bean123ch@gmail.com>
39023
39024 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39025 (lnxboot_img_SOURCES): New variable.
39026 (lnxboot_img_ASFLAGS): Likewise.
39027 (lnxboot_img_LDFLAGS): Likewise.
39028
39029 * boot/i386/pc/lnxboot.S: New file.
39030
6af9db01 390312007-11-24 Pavel Roskin <proski@gnu.org>
39032
39033 * configure.ac: Test if '--build-id=none' is supported by the
39034 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39035 objcopy to generate incorrect binary files (binutils
39036 2.17.50.0.18-1 as shipped by Fedora 8).
39037 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39038 linking, so that build ID doesn't break the test.
39039
7361cfe6 390402007-11-24 Pavel Roskin <proski@gnu.org>
39041
39042 * include/grub/i386/time.h: use "void" in the argument list
39043 of grub_cpu_idle().
39044 * include/grub/powerpc/time.h: Likewise.
39045 * include/grub/sparc64/time.h: Likewise.
39046
1593e10c 390472007-11-18 Christian Franke <franke@computer.org>
39048
39049 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39050 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39051 This fixes the problem that function keys did not work in grub-emu.
39052
3b8db1a8 390532007-11-18 Christian Franke <franke@computer.org>
39054
39055 * disk/host.c (grub_host_open): Remove attribute unused from
39056 name parameter. Add check for "host". This fixes the problem
39057 that grub-emu does not find partitions.
39058
2e29408d 390592007-11-18 Christian Franke <franke@computer.org>
39060
39061 * util/hostfs.c (is_dir): New function.
39062 (grub_hostfs_dir): Handle missing dirent.d_type case.
39063 (grub_hostfs_read): Add missing fseek().
39064 (grub_hostfs_label): Clear label pointer. This fixes a crash
39065 of grub-emu on "ls (host)".
39066
398cd047 390672007-11-18 Christian Franke <franke@computer.org>
39068
39069 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39070 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39071 to 64 bit boundary by default.
39072
c405c391 390732007-11-18 Bean <bean123ch@gmail.com>
39074
39075 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39076 (hexdump_mod_SOURCES): New variable.
39077 (hexdump_mod_CFLAGS): Likewise.
39078 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39079
c405c391 39080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39081
39082 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39083
39084 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39085
39086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39087
39088 * include/grub/hexdump.h: New file.
39089
39090 * commands/hexdump.c: New file.
39091
5cced7fd 390922007-11-10 Robert Millan <rmh@aybabtu.com>
39093
39094 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39095 in grub_outb() calls.
39096 (beep_on): Likewise.
39097
8b714eb0 390982007-11-10 Christian Franke <franke@computer.org>
39099
39100 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39101 (grub_menu_run): Likewise.
39102
ce0f1839 391032007-11-10 Robert Millan <rmh@aybabtu.com>
39104
39105 * include/grub/i386/efi/machine.h: New file.
39106 * include/grub/i386/linuxbios/machine.h: Likewise.
39107 * include/grub/i386/pc/machine.h: Likewise.
39108 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39109 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39110
39111 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39112 (serial_hw_io_addr): New variable.
39113 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39114 instead of `(unsigned short *) 0x400'.
39115
270c237d 391162007-11-10 Bean <bean123ch@gmail.com>
39117
39118 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39119
a87783bf 391202007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39121
39122 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39123 (vga_mod_SOURCES): Added.
39124 (vga_mod_CFLAGS): Likewise.
39125 (vga_mod_LDFLAGS): Likewise.
39126
39127 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39128 grub_outb() calls.
39129 (set_map_mask): Likewise.
39130 (set_read_map): Likewise.
39131 (set_read_address): Likewise.
39132 (vga_font): Removed variable.
39133 (get_vga_glyph): Removed function.
39134 (invalidate_char): Likewise.
39135 (write_char): Changed to use grub_font_get_glyph() for font
39136 information.
39137 (grub_vga_putchar): Likewise.
39138 (grub_vga_getcharwidth): Likewise.
39139
6433b448 391402007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39141
39142 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39143 flags.
39144 (pxeboot_img_LDFLAGS): Likewise.
39145 (diskboot_img_LDFLAGS): Likewise.
39146 (kernel_img_LDFLAGS): Likewise.
39147
49178511 391482007-11-06 Robert Millan <rmh@aybabtu.com>
39149
39150 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39151 in grub_outb() calls.
39152 (serial_hw_init): Likewise.
39153
53b052de 391542007-11-05 Robert Millan <rmh@aybabtu.com>
39155
39156 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39157 spaces. Skip non-regular files.
39158
5ab33bba 391592007-11-05 Robert Millan <rmh@aybabtu.com>
39160
39161 * kern/disk.c (grub_disk_firmware_fini)
39162 (grub_disk_firmware_is_tainted): New variables.
39163
39164 * include/grub/disk.h (grub_disk_firmware_fini)
39165 (grub_disk_firmware_is_tainted): Likewise.
39166
39167 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39168 (grub_disk_biosdisk_fini): ... to here.
39169 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39170 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39171 is set. Register grub_disk_biosdisk_fini() in
39172 `grub_disk_firmware_fini'.
39173
39174 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39175 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39176 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39177 to finish existing firmware disk interface.
39178
39179 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39180 (ata_mod_SOURCES): New variable.
39181 (ata_mod_CFLAGS): Likewise.
39182 (ata_mod_LDFLAGS): Likewise.
39183
0149ab7c 391842007-11-05 Robert Millan <rmh@aybabtu.com>
39185
39186 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39187 (grub_ata_wait): Reimplement using grub_millisleep().
39188
39189 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39190 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39191
be7ac41e 391922007-11-03 Marco Gerards <marco@gnu.org>
39193
39194 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39195 (CRTC_ADDR_PORT): New macro.
39196 (CRTC_DATA_PORT): Likewise.
39197 (CRTC_CURSOR): Likewise.
39198 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39199 (CRTC_CURSOR_ADDR_LOW): Likewise.
39200 (update_cursor): New function.
39201 (grub_console_real_putchar): Call `update_cursor'.
39202 (grub_console_gotoxy): Likewise.
39203 (grub_console_cls): Set the default color when clearing the
39204 screen.
39205 (grub_console_setcursor): Implemented.
39206
bb06ab2e 392072007-11-03 Marco Gerards <marco@gnu.org>
39208
39209 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39210 become activate.
39211 (grub_ata_pio_write): Likewise.
39212
39213 (grub_atapi_identify): Wait after issuing an ATA command.
39214 (grub_atapi_packet): Likewise.
39215 (grub_ata_identify): Likewise.
39216 (grub_ata_readwrite): Likewise.
39217
cf8f780b 392182007-11-03 Marco Gerards <marco@gnu.org>
39219
39220 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39221 (grub_ata_pio_write): Likewise.
39222 (grub_ata_readwrite): Use `grub_error', instead of
39223 returning `grub_errno'.
39224
ed649e54 392252007-11-03 Marco Gerards <marco@gnu.org>
39226
39227 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39228 grub_ata_pio_write once for every single sector, instead of for
39229 multiple sectors.
39230
ca25d8f0 392312007-10-31 Robert Millan <rmh@aybabtu.com>
39232
39233 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39234
39235 * conf/i386-linuxbios.rmk: New file.
39236
39237 * kern/i386/pc/hardware.c: Likewise.
39238 * term/i386/pc/at_keyboard.c: Likewise.
39239 * term/i386/pc/vga_text.c: Likewise.
39240
39241 * include/grub/i386/linuxbios/boot.h: Likewise.
39242 * include/grub/i386/linuxbios/console.h: Likewise.
39243 * include/grub/i386/linuxbios/init.h: Likewise.
39244 * include/grub/i386/linuxbios/kernel.h: Likewise.
39245 * include/grub/i386/linuxbios/loader.h: Likewise.
39246 * include/grub/i386/linuxbios/memory.h: Likewise.
39247 * include/grub/i386/linuxbios/serial.h: Likewise.
39248 * include/grub/i386/linuxbios/time.h: Likewise.
39249
39250 * kern/i386/linuxbios/init.c: Likewise.
39251 * kern/i386/linuxbios/startup.S: Likewise.
39252 * kern/i386/linuxbios/table.c: Likewise.
39253
e911ecc1 392542007-10-31 Marco Gerards <marco@gnu.org>
39255
39256 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39257 (ata_mod_SOURCES): New variable.
39258 (ata_mod_CFLAGS): Likewise.
39259 (ata_mod_LDFLAGS): Likewise.
39260
39261 * disk/ata.c: New file.
39262
39263 * include/grub/disk.h (grub_disk_dev_id): Add
39264 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39265
7f66d0e0 392662007-10-31 Robert Millan <rmh@aybabtu.com>
39267
39268 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39269 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39270
39271 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39272 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39273
39274 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39275 `<grub/types.h>'.
39276
39277 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39278
5cd7dd46 392792007-10-27 Robert Millan <rmh@aybabtu.com>
39280
3236ca65 39281 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39282
2ebfc90f 392832007-10-22 Robert Millan <rmh@aybabtu.com>
39284
39285 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39286 `"../realmode.S"'.
39287 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39288
73fcb0f3 392892007-10-22 Robert Millan <rmh@aybabtu.com>
39290
39291 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39292 (pkgdata_MODULES): Add `biosdisk.mod'.
39293 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39294 variables.
39295
39296 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39297 (grub_biosdisk_init): Replace with ...
39298 (GRUB_MOD_INIT(biosdisk)): ... this.
39299 (grub_biosdisk_fini): Replace with ...
39300 (GRUB_MOD_FINI(biosdisk)): ... this.
39301
39302 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39303 (grub_machine_init): Remove call to grub_biosdisk_init().
39304 (grub_machine_fini): Remove call to grub_machine_fini().
39305
39306 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39307
3381d274 393082007-10-22 Robert Millan <rmh@aybabtu.com>
39309
39310 * include/grub/time.h: New file.
39311 * include/grub/i386/time.h: Likewise.
39312 * include/grub/powerpc/time.h: Likewise.
39313 * include/grub/sparc64/time.h: Likewise.
39314
39315 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39316 instances to ...
39317 (KERNEL_MACHINE_TIME_HEADER): ... this.
39318 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39319 instances to ...
39320 (KERNEL_MACHINE_TIME_HEADER): ... this.
39321 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39322 instances to ...
39323 (KERNEL_MACHINE_TIME_HEADER): ... this.
39324
39325 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39326 (grub_millisleep): New function.
39327 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39328 (grub_millisleep): New function.
39329 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39330 Remove `grub/machine/time.h' include.
39331 (grub_millisleep): New function.
39332 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39333 Remove `grub/machine/time.h' include.
39334 (grub_millisleep): New function.
39335
39336 * include/grub/misc.h (grub_div_roundup): New function.
39337
39338 * kern/misc.c: Include `<grub/time.h>'.
39339 (grub_millisleep_generic): New function.
39340
39341 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39342 Add `time.h'.
39343 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39344 Add `time.h'.
39345 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39346 `machine/time.h'. Add `time.h'.
39347 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39348
a39a0312 393492007-10-21 Robert Millan <rmh@aybabtu.com>
39350
39351 * include/grub/misc.h (grub_max): New function.
39352
2aad70e2 393532007-10-21 Robert Millan <rmh@aybabtu.com>
39354
39355 * util/misc.c (grub_util_info): Call fflush() before returning.
39356
54b71c4b 393572007-10-20 Robert Millan <rmh@aybabtu.com>
39358
39359 * genmk.rb (Image): Copy `extra_flags' from here ...
39360 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39361
39362 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39363 to `argc' and `args' arguments.
39364
a979f513 393652007-10-17 Robert Millan <rmh@aybabtu.com>
39366
39367 * kern/i386/loader.S: New file.
39368
39369 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39370 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39371 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39372 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39373 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39374 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39375 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39376 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39377 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39378 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39379 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39380 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39381 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39382 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39383
39384 * kern/i386/realmode.S: New file.
39385
39386 * kern/i386/pc/startup.S (protstack): Moved from here ...
39387 * kern/i386/realmode.S (protstack)... to here.
39388 * kern/i386/pc/startup.S (gdt): Moved from here ...
39389 * kern/i386/realmode.S (gdt)... to here.
39390 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39391 * kern/i386/realmode.S (prot_to_real)... to here.
39392
39393 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39394 `kern/i386/realmode.S'.
39395
825fc8fd 393962007-10-17 Robert Millan <rmh@aybabtu.com>
39397
39398 * include/grub/i386/loader.h: New file.
39399
39400 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39401 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39402 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39403 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39404 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39405 * include/grub/i386/loader.h (grub_linux_prot_size)
39406 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39407 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39408 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39409 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39410
39411 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39412
e179b2f4 394132007-10-15 Robert Millan <rmh@aybabtu.com>
39414
39415 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39416 filesystem when dev->disk is unset.
39417 Do probe for filesystem even when dev->disk->has_partitions is set.
39418 In case a filesystem is found, always report it.
39419 In case it isn't, if dev->disk->has_partitions is set, report that
39420 a partition table was found instead of reporting that no filesystem
39421 could be identified.
39422
5db82af6 394232007-10-12 Robert Millan <rmh@aybabtu.com>
39424
39425 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39426 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39427
68f6ac74 39428 * include/grub/types.h (grub_host_to_target16): New macro.
39429 (grub_host_to_target32): Likewise.
39430 (grub_host_to_target64): Likewise.
39431 (grub_target_to_host16): Likewise.
39432 (grub_target_to_host32): Likewise.
39433 (grub_target_to_host64): Likewise.
5db82af6 39434
39435 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39436 Renamed from to ...
39437 (GRUB_MOD_ALIGN): ...this. Update all users.
39438
68f6ac74 39439 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39440 grub_host_to_target32.
39441 Replace grub_be_to_cpu32 with grub_target_to_host32.
39442 (load_modules): Likewise.
39443 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39444 Replace grub_be_to_cpu32 with grub_target_to_host32.
39445 Replace grub_cpu_to_be16 with grub_host_to_target16.
39446 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39447
3cf497cc 394482007-10-12 Robert Millan <rmh@aybabtu.com>
39449
39450 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39451 * util/elf/grub-mkimage.c: ... here.
39452
39453 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39454 `util/powerpc/ieee1275/grub-mkimage.c'.
39455
c8cc3692 394562007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39457
c8cc3692 39458 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39459 and make it easier to figure out.
39460 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39461 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39462 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39463 leave us with less than HEAP_MIN_SIZE total heap.
39464 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39465
5c58b791 394662007-10-03 Robert Millan <rmh@aybabtu.com>
39467
39468 * include/grub/i386/io.h: New file.
39469 * commands/i386/pc/play.c (inb): Removed.
39470 (outb): Removed.
39471 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39472 with grub_outb().
afcd2ef8 39473 * term/i386/pc/serial.c (inb): Removed.
39474 (outb): Removed.
39475 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39476 with grub_outb().
39477 * term/i386/pc/vga.c (inb): Removed.
39478 (outb): Removed.
39479 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39480 with grub_outb().
5c58b791 39481
1a477ed6 394822007-10-02 Robert Millan <rmh@aybabtu.com>
39483
39484 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39486 Reported by Marcin Kurek.
39487
6b5d80fa 394882007-09-07 Robert Millan <rmh@aybabtu.com>
39489
39490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39491 SmartFirmware version updates (as released by Sven Luther), and avoid
39492 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39493 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39494 known broken.
39495
5618afbf 394962007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39497
39498 From Hitoshi Ozeki:
39499 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39500 when merging two regions.
39501
6139dcd9 395022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39503
508e39ee 39504 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39505 * normal/completion.c (grub_normal_do_completion): Likewise.
39506 Reported by Hitoshi Ozeki.
39507
395082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39509
6139dcd9 39510 Do not use devices at boot in chainloading.
f19dbdb7 39511
6139dcd9 39512 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39513 (boot_part_addr): Likewise.
39514 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39515 with BOOT_DRIVE and BOOT_PART_ADDR.
39516 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39517 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39518
38da6516 395192007-08-29 Robert Millan <rmh@aybabtu.com>
39520
39521 Patch from Simon Peter <dn.tlp@gmx.net>:
39522 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39523 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39524 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39525 util/i386/pc/grub-setup.c_DEPENDENCIES.
39526 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39527 util/grub-probe.c_DEPENDENCIES.
39528 * conf/powerpc-ieee1275.rmk: Likewise.
39529
29d0928c 395302007-08-28 Robert Millan <rmh@aybabtu.com>
39531
39532 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39533 to tell grub-mkdevicemap how to name devices.
39534 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39535 feature).
39536
39537 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39538 util/i386/get_disk_name.c.
39539 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39540 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39541 util/ieee1275/get_disk_name.c.
39542
39543 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39544
39545 * DISTLIST: Add util/i386/get_disk_name.c and
39546 util/ieee1275/get_disk_name.c.
39547
39548 * util/grub-mkdevicemap.c: Replace device naming logic with
39549 grub_util_get_disk_name() calls.
39550
5a0d3cca 395512007-08-20 Robert Millan <rmh@aybabtu.com>
39552
39553 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39554 (so that it works for both plural and singular quantities).
39555
8b72db2f 395562007-08-05 Robert Millan <rmh@aybabtu.com>
39557
39558 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39559 so that [xz] isn't taken into account when determining order.
39560
352466bf 395612007-08-02 Marco Gerards <marco@gnu.org>
39562
39563 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39564 `include/multiboot2.h', `include/grub/elfload.h',
39565 `include/multiboot.h', `include/grub/multiboot.h',
39566 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39567 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39568 `kern/elf.c', `loader/multiboot_loader.c',
39569 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39570 `loader/i386/pc/multiboot2.c',
39571 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39572 `util/i386/pc/grub-mkrescue.in'. Remove
39573 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39574 `include/grub/i386/pc/util/biosdisk.h' and
39575 `include/grub/powerpc/ieee1275/multiboot.h'.
39576
8f096014 395772007-08-02 Bean <bean123ch@gmail.com>
39578
39579 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39580 (ntfs_mod_SOURCES): New variable.
39581 (ntfs_mod_CFLAGS): Likewise.
39582 (ntfs_mod_LDFLAGS): Likewise.
39583
39584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39585 (grub_probe_SOURCES): Likewise.
39586 (grub_emu_SOURCES): Likewise.
39587
39588 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39589 (grub_emu_SOURCES): Likewise.
39590
39591 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39592 (grub_emu_SOURCES): Likewise.
f19dbdb7 39593
8f096014 39594 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39595
39596 * fs/ntfs.c: New file.
39597
9959f7db 395982007-08-02 Bean <bean123ch@gmail.com>
39599
39600 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39601
39602 * file.h (grub_file): Likewise.
39603
39604 * fshelp.h (grub_fshelp_read_file): Likewise.
39605
39606 * util/i386/pc/grub-setup.c (setup): Likewise.
39607 (save_first_sector): Likewise.
39608 (save_blocklists): Likewise.
f19dbdb7 39609
9959f7db 39610 * fs/affs.c (grub_affs_read_file): Likewise.
39611
39612 * fs/ext2.c (grub_ext2_read_file): Likewise.
39613
39614 * fs/fat.c (grub_fat_read_data): Likewise.
39615
39616 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39617
39618 * fs/hfs.c (grub_hfs_read_file): Likewise.
39619
39620 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39621
39622 * fs/jfs.c (grub_jfs_read_file): Likewise.
39623
39624 * fs/minix.c (grub_minix_read_file): Likewise.
39625
39626 * fs/sfs.c (grub_sfs_read_file): Likewise.
39627
39628 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39629
9959f7db 39630 * fs/xfs.c (grub_xfs_read_file): Likewise.
39631
39632 * command/blocklist.c (read_blocklist): Likewise.
39633 (print_blocklist): Likewise.
39634
0a203f83 396352007-08-02 Marco Gerards <marco@gnu.org>
39636
39637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39638 `util/hostfs.c'.
39639
39640 * disk/host.c: New file.
39641
39642 * util/hostfs.c: Likewise.
39643
39644 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39645 return `GRUB_ERR_BAD_FS'.
39646 * fs/sfs.c (grub_sfs_mount): Likewise.
39647 * fs/xfs.c (grub_xfs_mount): Likewise.
39648
39649 * include/grub/disk.h (enum grub_disk_dev_id): Add
39650 `GRUB_DISK_DEVICE_HOST_ID'.
39651
39652 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39653
e5dfe777 396542007-07-24 Jerone Young <jerone@gmail.com>
39655
f19dbdb7 39656 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39657 modules for compilation.
39658 * conf/powerpc-ieee1275.rmk: Likewise.
39659
39660 * include/multiboot.h: Move multiboot definitions to one file. Rename
39661 many definitions to not get grub specific.
39662 * include/multiboot2.h: Create header with multiboot 2 definitions.
39663 * include/grub/multiboot.h: Header for grub specific function
39664 prototypes and definitions.
39665 * include/grub/multiboot2.h: Likewise.
39666 * include/grub/multiboot_loader.h: Likewise.
39667 * include/grub/i386/pc/multiboot.h: Removed.
39668 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39669
39670 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39671 and 2 to allow for one multiboot and module commands.
39672 * loader/multiboot2.c: Add multiboot2 functionality.
39673 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39674 and definition names.
39675 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39676 2 functions.
39677 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39678 ieee1275 specific multiboot2 code.
39679
39680 * kern/i386/pc/startup.S: Change headers and definition names for
39681 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39682
daf0f0ba 396832007-07-22 Robert Millan <rmh@aybabtu.com>
39684
39685 * geninitheader.sh: Process file specified in first parameter rather
39686 than hardcoding grub_modules_init.lst.
fe6b695a 39687 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39688 than hardcoding grub_modules_init.h.
39689
39690 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39691 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39692 grub_probe_init.[ch] and grub_setup_init.[ch].
39693
39694 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39695 grub_modules_init.h with grub_emu_init.h.
39696 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39697 grub_probe_init.[ch] files.
39698 * conf/i386-efi.rmk: Likewise.
39699 * conf/i386-pc.rmk: Likewise.
39700 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39701 grub_setup_init.[ch] files.
39702
39703 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39704 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39705 to initialize modules rather than a list of hardcoded functions.
39706 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39707 grub_init_all() to initialize modules rather than a list of hardcoded
39708 functions.
39709
54cdc1cc 397102007-07-22 Robert Millan <rmh@aybabtu.com>
39711
39712 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39713 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39714
ad0686cc 397152007-07-22 Robert Millan <rmh@aybabtu.com>
39716
39717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39718 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39719 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39720 flag when running on SmartFirmware.
39721 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39722 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39723 was set.
39724
39725 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39726 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39727 rather than decreasing it.
39728
39729 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39730 there's not enough space to do it, fail in the same way as when it
39731 can't be done because there are no partitions.
39732
39733 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39734 when nvsetenv failed.
39735
969c02ec 397362007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39737
39738 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39739 because this rule is automatically generated.
39740 (grub-mkrescue): Removed for the same reason as above.
39741
5a79f472 397422007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39743
39744 Migrate to GNU General Public License Version 3.
f19dbdb7 39745
5a79f472 39746 * COPYING: Replaced with the plain text version of GPLv3.
39747
39748 * config.guess: Updated from gnulib.
39749 * config.sub: Likewise.
39750
39751 * geninit.sh: Output a GPLv3 copyright notice.
39752 * geninitheader.sh: Likewise.
39753 * genmodsrc.sh: Likewise.
39754 * gensymlist.sh.in: Likewise.
39755
39756 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39757 * boot/i386/pc/diskboot.S: Likewise.
39758 * boot/i386/pc/pxeboot.S: Likewise.
39759 * commands/blocklist.c: Likewise.
39760 * commands/boot.c: Likewise.
39761 * commands/cat.c: Likewise.
39762 * commands/cmp.c: Likewise.
39763 * commands/configfile.c: Likewise.
39764 * commands/echo.c: Likewise.
39765 * commands/help.c: Likewise.
39766 * commands/ls.c: Likewise.
39767 * commands/search.c: Likewise.
39768 * commands/terminal.c: Likewise.
39769 * commands/test.c: Likewise.
39770 * commands/videotest.c: Likewise.
39771 * commands/i386/cpuid.c: Likewise.
39772 * commands/i386/pc/halt.c: Likewise.
39773 * commands/i386/pc/play.c: Likewise.
39774 * commands/i386/pc/reboot.c: Likewise.
39775 * commands/i386/pc/vbeinfo.c: Likewise.
39776 * commands/i386/pc/vbetest.c: Likewise.
39777 * commands/ieee1275/halt.c: Likewise.
39778 * commands/ieee1275/reboot.c: Likewise.
39779 * commands/ieee1275/suspend.c: Likewise.
39780 * disk/loopback.c: Likewise.
39781 * disk/lvm.c: Likewise.
39782 * disk/raid.c: Likewise.
39783 * disk/efi/efidisk.c: Likewise.
39784 * disk/i386/pc/biosdisk.c: Likewise.
39785 * disk/ieee1275/ofdisk.c: Likewise.
39786 * font/manager.c: Likewise.
39787 * fs/affs.c: Likewise.
39788 * fs/ext2.c: Likewise.
39789 * fs/fat.c: Likewise.
39790 * fs/fshelp.c: Likewise.
39791 * fs/hfs.c: Likewise.
39792 * fs/hfsplus.c: Likewise.
39793 * fs/iso9660.c: Likewise.
39794 * fs/jfs.c: Likewise.
39795 * fs/minix.c: Likewise.
39796 * fs/sfs.c: Likewise.
39797 * fs/ufs.c: Likewise.
39798 * fs/xfs.c: Likewise.
39799 * hello/hello.c: Likewise.
39800 * include/grub/acorn_filecore.h: Likewise.
39801 * include/grub/arg.h: Likewise.
39802 * include/grub/bitmap.h: Likewise.
39803 * include/grub/boot.h: Likewise.
39804 * include/grub/cache.h: Likewise.
39805 * include/grub/device.h: Likewise.
39806 * include/grub/disk.h: Likewise.
39807 * include/grub/dl.h: Likewise.
39808 * include/grub/elfload.h: Likewise.
39809 * include/grub/env.h: Likewise.
39810 * include/grub/err.h: Likewise.
39811 * include/grub/file.h: Likewise.
39812 * include/grub/font.h: Likewise.
39813 * include/grub/fs.h: Likewise.
39814 * include/grub/fshelp.h: Likewise.
39815 * include/grub/gzio.h: Likewise.
39816 * include/grub/hfs.h: Likewise.
39817 * include/grub/kernel.h: Likewise.
39818 * include/grub/loader.h: Likewise.
39819 * include/grub/lvm.h: Likewise.
39820 * include/grub/misc.h: Likewise.
39821 * include/grub/mm.h: Likewise.
39822 * include/grub/net.h: Likewise.
39823 * include/grub/normal.h: Likewise.
39824 * include/grub/parser.h: Likewise.
39825 * include/grub/partition.h: Likewise.
39826 * include/grub/pc_partition.h: Likewise.
39827 * include/grub/raid.h: Likewise.
39828 * include/grub/rescue.h: Likewise.
39829 * include/grub/script.h: Likewise.
39830 * include/grub/setjmp.h: Likewise.
39831 * include/grub/symbol.h: Likewise.
39832 * include/grub/term.h: Likewise.
39833 * include/grub/terminfo.h: Likewise.
39834 * include/grub/tparm.h: Likewise.
39835 * include/grub/types.h: Likewise.
39836 * include/grub/video.h: Likewise.
39837 * include/grub/efi/api.h: Likewise.
39838 * include/grub/efi/chainloader.h: Likewise.
39839 * include/grub/efi/console.h: Likewise.
39840 * include/grub/efi/console_control.h: Likewise.
39841 * include/grub/efi/disk.h: Likewise.
39842 * include/grub/efi/efi.h: Likewise.
39843 * include/grub/efi/pe32.h: Likewise.
39844 * include/grub/efi/time.h: Likewise.
39845 * include/grub/i386/linux.h: Likewise.
39846 * include/grub/i386/setjmp.h: Likewise.
39847 * include/grub/i386/types.h: Likewise.
39848 * include/grub/i386/efi/kernel.h: Likewise.
39849 * include/grub/i386/efi/loader.h: Likewise.
39850 * include/grub/i386/efi/time.h: Likewise.
39851 * include/grub/i386/pc/biosdisk.h: Likewise.
39852 * include/grub/i386/pc/boot.h: Likewise.
39853 * include/grub/i386/pc/chainloader.h: Likewise.
39854 * include/grub/i386/pc/console.h: Likewise.
39855 * include/grub/i386/pc/init.h: Likewise.
39856 * include/grub/i386/pc/kernel.h: Likewise.
39857 * include/grub/i386/pc/loader.h: Likewise.
39858 * include/grub/i386/pc/memory.h: Likewise.
39859 * include/grub/i386/pc/multiboot.h: Likewise.
39860 * include/grub/i386/pc/serial.h: Likewise.
39861 * include/grub/i386/pc/time.h: Likewise.
39862 * include/grub/i386/pc/vbe.h: Likewise.
39863 * include/grub/i386/pc/vbeblit.h: Likewise.
39864 * include/grub/i386/pc/vbefill.h: Likewise.
39865 * include/grub/i386/pc/vbeutil.h: Likewise.
39866 * include/grub/i386/pc/vga.h: Likewise.
39867 * include/grub/ieee1275/ieee1275.h: Likewise.
39868 * include/grub/ieee1275/ofdisk.h: Likewise.
39869 * include/grub/powerpc/libgcc.h: Likewise.
39870 * include/grub/powerpc/setjmp.h: Likewise.
39871 * include/grub/powerpc/types.h: Likewise.
39872 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39873 * include/grub/powerpc/ieee1275/console.h: Likewise.
39874 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39875 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39876 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39877 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39878 * include/grub/powerpc/ieee1275/time.h: Likewise.
39879 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39880 * include/grub/sparc64/libgcc.h: Likewise.
39881 * include/grub/sparc64/setjmp.h: Likewise.
39882 * include/grub/sparc64/types.h: Likewise.
39883 * include/grub/sparc64/ieee1275/console.h: Likewise.
39884 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39885 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39886 * include/grub/sparc64/ieee1275/time.h: Likewise.
39887 * include/grub/util/biosdisk.h: Likewise.
39888 * include/grub/util/getroot.h: Likewise.
39889 * include/grub/util/lvm.h: Likewise.
39890 * include/grub/util/misc.h: Likewise.
39891 * include/grub/util/raid.h: Likewise.
39892 * include/grub/util/resolve.h: Likewise.
39893 * io/gzio.c: Likewise.
39894 * kern/device.c: Likewise.
39895 * kern/disk.c: Likewise.
39896 * kern/dl.c: Likewise.
39897 * kern/elf.c: Likewise.
39898 * kern/env.c: Likewise.
39899 * kern/err.c: Likewise.
39900 * kern/file.c: Likewise.
39901 * kern/fs.c: Likewise.
39902 * kern/loader.c: Likewise.
39903 * kern/main.c: Likewise.
39904 * kern/misc.c: Likewise.
39905 * kern/mm.c: Likewise.
39906 * kern/parser.c: Likewise.
39907 * kern/partition.c: Likewise.
39908 * kern/rescue.c: Likewise.
39909 * kern/term.c: Likewise.
39910 * kern/efi/efi.c: Likewise.
39911 * kern/efi/init.c: Likewise.
39912 * kern/efi/mm.c: Likewise.
39913 * kern/i386/dl.c: Likewise.
39914 * kern/i386/efi/init.c: Likewise.
39915 * kern/i386/efi/startup.S: Likewise.
39916 * kern/i386/pc/init.c: Likewise.
39917 * kern/i386/pc/lzo1x.S: Likewise.
39918 * kern/i386/pc/startup.S: Likewise.
39919 * kern/ieee1275/ieee1275.c: Likewise.
39920 * kern/powerpc/cache.S: Likewise.
39921 * kern/powerpc/dl.c: Likewise.
39922 * kern/powerpc/ieee1275/cmain.c: Likewise.
39923 * kern/powerpc/ieee1275/crt0.S: Likewise.
39924 * kern/powerpc/ieee1275/init.c: Likewise.
39925 * kern/powerpc/ieee1275/openfw.c: Likewise.
39926 * kern/sparc64/cache.S: Likewise.
39927 * kern/sparc64/dl.c: Likewise.
39928 * kern/sparc64/ieee1275/init.c: Likewise.
39929 * kern/sparc64/ieee1275/openfw.c: Likewise.
39930 * loader/efi/chainloader.c: Likewise.
39931 * loader/efi/chainloader_normal.c: Likewise.
39932 * loader/i386/efi/linux.c: Likewise.
39933 * loader/i386/efi/linux_normal.c: Likewise.
39934 * loader/i386/pc/chainloader.c: Likewise.
39935 * loader/i386/pc/chainloader_normal.c: Likewise.
39936 * loader/i386/pc/linux.c: Likewise.
39937 * loader/i386/pc/linux_normal.c: Likewise.
39938 * loader/i386/pc/multiboot.c: Likewise.
39939 * loader/i386/pc/multiboot_normal.c: Likewise.
39940 * loader/powerpc/ieee1275/linux.c: Likewise.
39941 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39942 * normal/arg.c: Likewise.
39943 * normal/cmdline.c: Likewise.
39944 * normal/command.c: Likewise.
39945 * normal/completion.c: Likewise.
39946 * normal/execute.c: Likewise.
39947 * normal/function.c: Likewise.
39948 * normal/lexer.c: Likewise.
39949 * normal/main.c: Likewise.
39950 * normal/menu.c: Likewise.
39951 * normal/menu_entry.c: Likewise.
39952 * normal/misc.c: Likewise.
39953 * normal/parser.y: Likewise.
39954 * normal/script.c: Likewise.
39955 * normal/i386/setjmp.S: Likewise.
39956 * normal/powerpc/setjmp.S: Likewise.
39957 * normal/sparc64/setjmp.S: Likewise.
39958 * partmap/acorn.c: Likewise.
39959 * partmap/amiga.c: Likewise.
39960 * partmap/apple.c: Likewise.
39961 * partmap/gpt.c: Likewise.
39962 * partmap/pc.c: Likewise.
39963 * partmap/sun.c: Likewise.
39964 * term/gfxterm.c: Likewise.
39965 * term/terminfo.c: Likewise.
39966 * term/efi/console.c: Likewise.
39967 * term/i386/pc/console.c: Likewise.
39968 * term/i386/pc/serial.c: Likewise.
39969 * term/i386/pc/vesafb.c: Likewise.
39970 * term/i386/pc/vga.c: Likewise.
39971 * term/ieee1275/ofconsole.c: Likewise.
39972 * util/biosdisk.c: Likewise.
39973 * util/console.c: Likewise.
39974 * util/genmoddep.c: Likewise.
39975 * util/getroot.c: Likewise.
39976 * util/grub-emu.c: Likewise.
39977 * util/grub-mkdevicemap.c: Likewise.
39978 * util/grub-probe.c: Likewise.
39979 * util/lvm.c: Likewise.
39980 * util/misc.c: Likewise.
39981 * util/raid.c: Likewise.
39982 * util/resolve.c: Likewise.
39983 * util/update-grub.in: Likewise.
39984 * util/update-grub_lib.in: Likewise.
39985 * util/grub.d/00_header.in: Likewise.
39986 * util/grub.d/10_hurd.in: Likewise.
39987 * util/grub.d/10_linux.in: Likewise.
39988 * util/i386/efi/grub-install.in: Likewise.
39989 * util/i386/efi/grub-mkimage.c: Likewise.
39990 * util/i386/pc/grub-install.in: Likewise.
39991 * util/i386/pc/grub-mkimage.c: Likewise.
39992 * util/i386/pc/grub-mkrescue.in: Likewise.
39993 * util/i386/pc/grub-setup.c: Likewise.
39994 * util/i386/pc/misc.c: Likewise.
39995 * util/powerpc/ieee1275/grub-install.in: Likewise.
39996 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39997 * util/powerpc/ieee1275/misc.c: Likewise.
39998 * video/bitmap.c: Likewise.
39999 * video/video.c: Likewise.
40000 * video/i386/pc/vbe.c: Likewise.
40001 * video/i386/pc/vbeblit.c: Likewise.
40002 * video/i386/pc/vbefill.c: Likewise.
40003 * video/i386/pc/vbeutil.c: Likewise.
40004 * video/readers/tga.c: Likewise.
40005
3572d015 400062007-07-02 Robert Millan <rmh@aybabtu.com>
40007
40008 * conf/i386-efi.rmk: Replace obsolete reference to
40009 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40010 with util/getroot.c.
40011 * conf/powerpc-ieee1275.rmk: Likewise.
40012 * conf/sparc64-ieee1275.rmk: Likewise.
40013
40014 * util/grub-emu.c (main): Fix unchecked pointer handling.
40015
2c2a681b 400162007-07-02 Robert Millan <rmh@aybabtu.com>
40017
40018 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40019 invocation to fail, in order to support partition-less media.
40020
40021 * util/i386/pc/grub-install.in: Likewise.
40022
40023 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40024 which fs or partmap modules are needed (akin to its sister scripts).
40025
40026 Also use grub-probe to get rid of unportable /proc/mounts check.
40027
40028 Print the same informational message that the other scripts do, before
fe6b695a 40029 exiting.
2c2a681b 40030
6193defe 400312007-06-23 Robert Millan <rmh@aybabtu.com>
40032
fe6b695a 40033 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 40034 a font file can be found and, if so, echo the GRUB path to it.
40035
40036 * util/update-grub.in: Handle multiple terminals depending on user
40037 input, platform availability and font file presence. Propagate
40038 variables of our findings to /etc/grub.d/ children.
40039
40040 * util/grub.d/00_header.in: Handle multiple terminals, based on
40041 environment setup by update-grub.
40042
eface1dc 400432007-06-23 Robert Millan <rmh@aybabtu.com>
40044
ba50d28f 40045 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 40046
bf697e28 400472007-06-21 Robert Millan <rmh@aybabtu.com>
40048
40049 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40050 indicate end of data section in kernel image.
40051 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40052 GRUB_KERNEL_MACHINE_DATA_END.
40053
40054 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40055 space for it.
40056 * kern/i386/efi/startup.S: Likewise.
40057
40058 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40059 during image generation. Implement --prefix option to override this
40060 patch.
40061 * util/i386/efi/grub-mkimage.c: Likewise.
40062
40063 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40064 code to make path relative to its root into a separate function.
40065
40066 * util/i386/pc/grub-install.in: Use newly provided
40067 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40068 pass the result to grub-install --prefix.
40069
baa574b4 400702007-06-13 Robert Millan <rmh@aybabtu.com>
40071
40072 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40073 DEFAULT_DEVICE_MAP.
40074 * util/grub-emu.c: Use above definitions from misc.h instead of
40075 defining them.
40076 * util/grub-mkdevicemap.c: Likewise.
40077 * util/i386/pc/grub-setup.c: Likewise.
40078 * util/grub-probe.c: Likewise.
40079 (probe): Abort with grub_util_error() when either
40080 grub_guess_root_device or grub_util_get_grub_dev fails.
40081
0215dcbf 400822007-06-12 Robert Millan <rmh@aybabtu.com>
40083
40084 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40085 "pager" assignment.
40086 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40087 "pcdata".
40088 * util/grub-probe.c (probe): Likewise for "drive_name".
40089
8af2ab7b 400902007-06-11 Robert Millan <rmh@aybabtu.com>
40091
40092 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40093 not just the cdrom one.
40094
59d31694 400952007-06-11 Robert Millan <rmh@aybabtu.com>
40096
40097 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40098 Add --pkglibdir=DIR option to override pkglibdir.
40099 Mention --image-type=TYPE in help output.
40100 Fix --grub-mkimage (it was a no-op).
fe6b695a 40101 Abort gracefully when no parameter is given.
59d31694 40102
7ee367e4 401032007-06-11 Robert Millan <rmh@aybabtu.com>
40104
40105 * util/i386/pc/grub-mkrescue.in: New file.
40106 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40107 * Makefile.in: Handle bin_SCRIPTS.
40108
29b0ed46 401092007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40110
40111 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40112 list of video modes.
40113
c0f90770 401142007-06-06 Robert Millan <rmh@aybabtu.com>
40115
40116 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40117 file doesn't exist, or if it is in a filesystem grub can't read.
40118
40119 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40120 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40121 header comment to fit in 80 columns when the variables are resolved.
40122
40123 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40124 could be identified by update-grub. Remove redundant check for
fe6b695a 40125 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40126 handles that).
40127
fb36dc26 401282007-06-04 Robert Millan <rmh@aybabtu.com>
40129
40130 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40131
40132 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40133
40134 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40135
0c68c93e 401362007-06-04 Robert Millan <rmh@aybabtu.com>
40137
40138 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40139
40140 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40141 grub_apple_partition_map_fini.
40142
40143 * util/biosdisk.c
40144 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40145 to access >2 TiB disks).
40146
40147 Print disk->total_sectors with %llu instead of %lu, since this
40148 variable is always 64-bit (prevents wrong disk size from being displayed
40149 on either >2 TiB disk or big-endian CPU).
40150
40151 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40152 into a generic case that supports all (sane) partition maps.
40153
40154 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40155 breaks big-endian.
40156
40157 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40158 and grub_apple_partition_map_fini() after that.
40159
0f23eb74 401602007-06-01 Robert Millan <rmh@aybabtu.com>
40161
40162 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40163
40164 * util/grub.d/00_header.in: Only enable gfxterm when
40165 convert_system_path_to_grub_path() succeeds.
40166
42c71976 401672007-05-20 Robert Millan <rmh@aybabtu.com>
40168
40169 * util/update-grub_lib.in: New file.
40170 * DISTLIST: Add update-grub_lib.in.
40171 * conf/common.rmk: Generate update-grub_lib and install it in
40172 $(lib_DATA).
40173 * Makefile.in: Add install routine for $(lib_DATA).
40174
40175 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40176 function provided by update-grub_lib to support arbitrary paths of
40177 unifont.pff.
40178 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40179 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40180
5beb2291 401812007-05-19 Robert Millan <rmh@aybabtu.com>
40182
40183 * commands/i386/cpuid.c: New module.
40184 * DISTLIST: Add it.
40185 * conf/i386-efi.rmk: Enable cpuid.mod.
40186 * conf/i386-pc.rmk: Likewise.
40187
7262eca1 401882007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40189
40190 * kern/disk.c (grub_disk_read): Check return value of
40191 grub_realloc().
40192
260ba823 401932007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40194
40195 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40196 arrays.
40197 * disk/raid.c (grub_raid_open): Likewise.
40198
1ecb6cf2 401992007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40200
40201 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40202 stack instead of on the heap.
40203
40204 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40205 before doing a read on it.
40206
40207 * configure.ac: Only use -fno-stack-protector for the target
40208 environment.
f19dbdb7 40209
21c8cbb1 402102007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40211
40212 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40213 __attribute_ ((unused)) to mode_type argument.
40214
40215 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40216
21c8cbb1 40217 * kern/misc.c (memcmp): Fix prototype.
40218
40219 * include/grub/partition.h [GRUB_UTIL]
40220 (grub_gpt_partition_map_init): Add prototype.
40221 (grub_gpt_partition_map_fini): Likewise.
40222
40223 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40224 at the right place.
40225
40226 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40227 (grub_fat_read_data): Likewise.
40228 (grub_fat_find_dir): Likewise.
40229
40230 * font/manager.c (find_glyph): Make table a const.
40231 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40232
849d55d3 402332007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40234
40235 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40236 code, first search for device in /dev/mapper, then in /dev.
40237 (grub_util_get_grub_dev): New function.
40238 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40239 prototype.
40240 * util/grub-probe.c (probe): Remove check for RAID, call
40241 grub_util_get_grub_dev() instead of
40242 grub_util_biosdisk_get_grub_dev().
40243 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40244 grub_util_biosdisk_get_grub_dev().
40245 * util/i386/pc/grub-setup.c (main): Likewise.
40246
8fff7c2f 402472007-05-16 Robert Millan <rmh@aybabtu.com>
40248
40249 * DISTLIST: Update for the latest changes.
40250 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40251 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40252 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40253 grub/util/biosdisk.h.
40254 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40255 grub/util/biosdisk.h.
40256
48e12b52 402572007-05-16 Robert Millan <rmh@aybabtu.com>
40258
40259 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40260
46b9d128 402612007-05-16 Robert Millan <rmh@aybabtu.com>
40262
40263 * util/i386/efi/grub-install.in: New.
40264 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40265 newly added grub-install.
40266 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40267 include.
40268 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40269 grub/util/biosdisk.h.
40270 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40271 grub/util/biosdisk.h.
40272
2d1a40a9 402732007-05-16 Robert Millan <rmh@aybabtu.com>
40274
40275 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40276 * include/grub/util/biosdisk.h: ... here.
40277 * util/i386/pc/biosdisk.c: Moved to ...
40278 * util/biosdisk.c: ... here.
40279 * util/i386/pc/getroot.c: Moved to ...
40280 * util/getroot.c: ... here.
40281 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40282 * util/grub-mkdevicemap.c: ... here.
40283 * util/i386/pc/grub-probe.c: Moved to ...
40284 * util/grub-probe.c: ... here.
40285
9e26e3bc 402862007-05-15 Robert Millan <rmh@aybabtu.com>
40287
40288 * util/update-grub.in: Remove duplicated line in grub.cfg header
40289 message.
40290
57f96397 402912007-05-13 Robert Millan <rmh@aybabtu.com>
40292
40293 * util/update-grub.in: Fix a few assumptions about the devices holding
40294 /, /boot and /boot/grub being the same.
40295 * util/grub.d/00_header.in: Likewise.
40296 * util/grub.d/10_hurd.in: Likewise.
40297 * util/grub.d/10_linux.in: Likewise.
40298
40299 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40300 patterns. Use that to define the `.old' suffix as older than `'.
40301
40302 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40303
40304 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40305 the grub.cfg header message.
40306
2e610d62 403072007-05-11 Robert Millan <rmh@aybabtu.com>
40308
40309 * util/update-grub.in: Create device.map if it doesn't already exist,
40310 before attempting to run grub-probe.
40311 Check for grub-probe and grub-mkdevicemap with the same code
40312 grub-install is using.
40313 Remove test mode.
40314
3f6a10ef 403152007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40316
40317 * Makefile.in: Add the datarootdir autoconf variable.
40318
02e7b75e 403192007-05-09 Robert Millan <rmh@aybabtu.com>
40320
40321 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40322 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40323
75f396cc 403242007-05-07 Robert Millan <rmh@aybabtu.com>
40325
40326 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40327 determine partition map module.
40328 * util/i386/pc/grub-install.in: Use this feature to decide which
40329 partition module to load, instead of hardcoding pc and gpt.
40330
da65cb36 403312007-05-07 Robert Millan <rmh@aybabtu.com>
40332
40333 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40334 source directory differs from build directory.
40335
b57d6a91 403362007-05-05 Robert Millan <rmh@aybabtu.com>
40337
40338 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40339 initialisation.
40340
509d00f1 403412007-05-05 Robert Millan <rmh@aybabtu.com>
40342
40343 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40344
c48f23ef 403452007-05-05 Robert Millan <rmh@aybabtu.com>
40346
40347 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40348 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40349
20b97658 403502007-05-05 Robert Millan <rmh@aybabtu.com>
40351
40352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40353 (grub_probe_SOURCES): Likewise.
40354 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40355 GPT and initialize dos_part and bsd_part accordingly.
40356 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40357 install_bsd_part.
40358 (main): Activate gpt module for use during partition identification,
40359 and deactivate it afterwards.
40360 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40361 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40362 partition identification, and deactivate it afterwards.
40363
99123174 403642007-05-05 Robert Millan <rmh@aybabtu.com>
40365
40366 * term/i386/pc/console.c (grub_console_fini): Call
40367 grub_term_set_current() before grub_term_unregister().
40368
ebd97f6e 403692007-05-04 Robert Millan <rmh@aybabtu.com>
40370
40371 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40372 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40373 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40374 and update-grub_DATA.
40375 * conf/common.rmk: Build and install update-grub components.
40376 * conf/common.mk: Regenerate.
40377 * util/update-grub.in: New. Core of update-grub.
40378 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40379 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40380 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40381 * util/grub.d/README: New. Document grub.d directory layout.
40382
b06a264d 403832007-05-01 Robert Millan <rmh@aybabtu.com>
40384
40385 * util/grub-emu.c: Move initialization functions
40386 grub_util_biosdisk_init() and grub_init_all() before
40387 grub_util_biosdisk_get_grub_dev(), which relies on them.
40388
41f0050e 403892007-04-19 Robert Millan <rmh@aybabtu.com>
40390
40391 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40392 it is used later.
40393
04582bb3 403942007-04-18 Jerone Young <jerone@gmail.com>
40395
f19dbdb7 40396 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40397 stanza.
40398
08db4632 403992007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40400
08db4632 40401 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40402 continue on and look for device node with real device name.
40403
801b76be 404042007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40405
fe6b695a 40406 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40407 ability.
40408 * Makefile.in: Add autoconf package transformation code.
40409 * util/i386/pc/grub-install.in: Likewise.
40410 * util/powerpc/ieee1275/grub-install.in: Likewise.
40411
6795c4e1 404122007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40413
40414 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40415 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40416 (EXT2_REVISION): Likewise.
40417 (EXT2_INODE_SIZE): Likewise.
40418 (struct grub_ext2_block_group): Added a missing member
40419 "used_dirs".
40420 (grub_ext2_read_inode): Divide by the inode size in a superblock
40421 instead of 128 to obtain INODES_PER_BLOCK.
40422 Use the macro EXT2_INODE_SIZE instead of directly using
40423 SBLOCK->INODE_SIZE.
40424
d70af616 404252007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40426
40427 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40428 superblock instead of the structure size to compute an
40429 offset. This fixes the problem that GRUB could not read a
40430 filesystem when inode size is different from 128-byte.
40431
3b801603 404322007-03-05 Marco Gerards <marco@gnu.org>
40433
40434 * normal/main.c (read_config_file): When "menu" is not set, create
40435 an initial context.
40436
4785bfe4 404372007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40438
40439 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40440 (HEAP_LIMIT): New macro.
40441 (grub_claim_heap): Claim memory up to `heaplimit'.
40442
a0cbb023 404432007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40444
40445 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40446 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40447 (_start): Likewise.
40448 (grub_arch_modules_addr): Return address after `_end'.
40449 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40450 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40451 (add_segments): Calculate `_end' from phdr size and location.
40452 (ALIGN_UP): Moved to ...
40453 * include/grub/misc.h: here.
40454 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40455 New macro.
40456 (GRUB_IEEE1275_MODULE_BASE): Removed.
40457
fd7d8eba 404582007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40459
40460 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40461 loop boundary.
40462
9b09e6fc 404632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40464
40465 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40466 All users updated.
40467 (grub_elf64_load_hook_t): Likewise.
40468 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40469 debug output.
40470
3ce27299 404712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40472
40473 * kern/mm.c: Update copyright.
40474 (grub_mm_debug): Correct syntax error.
40475 (grub_mm_dump_free): New function.
40476 (grub_debug_free): Call `grub_free'.
40477 * include/grub/mm.h: Update copyright.
40478 (grub_mm_dump_free): Add declaration.
40479
077d5fee 404802007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40481
40482 * include/grub/ieee1275/ieee1275.h: Update copyright.
40483 * kern/powerpc/ieee1275/init.c: Likewise.
40484 * kern/powerpc/ieee1275/openfw.c: Likewise.
40485
40486 * loader/powerpc/ieee1275/linux.c: Likewise.
40487 * include/grub/elfload.h: Likewise.
40488 * kern/elf.c: Likewise.
40489 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40490 callers.
40491 (grub_elf64_load): Likewise.
40492 (grub_elf32_load_segment): Move to a nested function.
40493 (grub_elf64_load_segment): Likewise.
40494
dc946850 404952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40496
40497 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40498 prototype.
40499 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40500 (grub_heap_len): Likewise.
40501 (HEAP_SIZE): New macro.
40502 (grub_claim_heap): New function.
40503 (grub_machine_init): Don't claim heap directly. Call
40504 `grub_claim_heap'.
40505 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40506 (grub_available_iterate): New function.
40507
baa2a121 405082007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40509
40510 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40511 * configure.ac: Use it for testing the HOST and TARGET compilers.
40512
4fe9862e 405132006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40514
40515 * Makefile.in (enable_grub_emu): New variable.
40516 * configure.ac (--enable-grub-emu): New option.
40517 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40518 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40519 * conf/i386-pc.rmk: Likewise.
40520 * conf/powerpc-ieee1275.rmk: Likewise.
40521 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40522
a8aa5762 405232006-12-12 Marco Gerards <marco@gnu.org>
40524
40525 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40526
40527 * kern/env.c (grub_env_unset): Don't free the member `value' when
40528 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40529 pointer.
40530
40531 * normal/main.c (current_menu): Removed.
40532 (free_menu): Unset the `menu' environment variable.
40533 (grub_normal_menu_addentry): Make use of the environment variable
40534 `menu', instead of using the global `current_menu'. Allocate
40535 memory for the sourcecode of this entry.
40536 (read_config_file): New argument `nested', changed all callers.
40537 Only in the case of a new context, initialize a new menu. Set the
40538 `menu' environment variable.
40539 (grub_normal_execute): Don't set and unset the environment
40540 variable `menu' here anymore. Only free the menu when leaving the
40541 context.
40542
40543 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40544 leak.
40545
957b3a3e 405462006-12-11 Marco Gerards <marco@gnu.org>
40547
40548 * normal/menu_entry.c (run): Fix off by one bug so the last line
40549 is executed. Move the loader check to outside the loop.
40550
ef875714 405512006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40552
40553 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40554
4e739985 405552006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40556
40557 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40558 the number of sectors. Reported by Andrey Shuvikov
40559 <mr_hyro@yahoo.com>.
f19dbdb7 40560
790707f2 405612006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40562
40563 * kern/disk.c (grub_disk_read): When there is a read error, always
40564 try to read only the necessary data.
f19dbdb7 40565
790707f2 40566 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40567 disk/raid.c.
40568 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40569 prototype.
40570 [GRUB_UTIL] (grub_raid_fini): Likewise.
40571 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40572 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40573 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40574 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40575 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40576 and grub_raid_fini().
f19dbdb7 40577
03e58196 405782006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40579
40580 * include/grub/types.h (__unused): Rename to UNUSED.
40581 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40582 (grub_elf64_size): Likewise.
f19dbdb7 40583
ae4f23bf 405842006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40585
40586 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40587 grub_error_push and grub_error_pop in the error-handling path.
40588 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40589 length.
40590
2166cc83 405912006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40592
40593 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40594 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40596 (kernel_elf_SOURCES): Likewise.
40597 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40598 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40599 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40600 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40601 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40602 (elf_mod_SOURCES): New variable.
40603 (elf_mod_CFLAGS): Likewise.
40604 (elf_mod_LDFLAGS): Likewise.
40605 * include/grub/types.h (__unused): New macro.
40606 * include/grub/elfload.h: New file.
40607 * kern/elf.c: Likewise.
40608 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40609 (ELF32_LOADMASK): New macro.
40610 (ELF64_LOADMASK): Likewise.
40611 (vmlinux): Removed.
40612 (grub_linux_load32): New function.
40613 (grub_linux_load64): Likewise.
40614 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40615 Use grub_elf_t instead of grub_file_t.
40616
a09d5aa5 406172006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40618
40619 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40620 `catch_result' to struct set_color_args.
40621
d976fc51 406222006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40623
40624 * normal/menu.c: Include grub/script.h.
40625 * normal/menu_entry.c: Likewise.
40626 * include/grub/normal.h: Do not include grub/script.h.
40627
67507549 406282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40629
40630 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40631
69203a99 406322006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40633
40634 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40635 disk.
40636 (grub_disk_close): Print debug messages when closing a disk.
40637 (grub_disk_read): Print debug messages when disk read fails.
40638 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40639 filesystem type.
40640 * kern/partition.c: Include misc.h.
40641 (grub_partition_iterate): Print debug messages when detecting
40642 partition type.
40643
e2b8278c 406442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40645
40646 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40647 is negative.
40648 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40649
97b2f2ff 406502006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40651
40652 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40653 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40654
6555d655 406552006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40656
40657 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40658 instead of sizeof(lv). Patch by Michael Guntsche.
40659
4d42b77f 406602006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40661
40662 * disk/lvm.c: Rename VGS to VG_LIST.
40663 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40664 (grub_lvm_open): Likewise.
40665 Thanks to Michael Guntsche for finding this bug.
40666
5d74d927 406672006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40668
40669 * configure.ac (AC_INIT): Bumped to 1.95.
40670
a1bb27e4 406712006-10-14 Robert Millan <rmh@aybabtu.com>
40672
40673 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40674 with "/dev/.static/dev/md".
40675
e0994b8b 406762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40677
40678 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40679 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40680 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40681 DRIVE_NAME are always freed.
40682
40683 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40684 DOS_PART, as a DOS partition is counted from one instead of zero
40685 now. Reported by Robert Millan.
40686
ddd5cee9 406872006-10-14 Robert Millan <rmh@aybabtu.com>
40688
40689 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40690 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40691 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40692 string returned by grub_guess_root_device.
40693 * util/i386/pc/grub-setup.c: Likewise.
40694 * util/i386/pc/grub-probefs.c: Likewise.
40695
40696 * util/i386/pc/grub-probefs.c: Rename to ...
40697 * util/i386/pc/grub-probe.c: ... this.
40698 * DISTLIST: Remove grub-probefs, add grub-probe.
40699 * conf/i386-efi.rmk: Likewise.
40700 * conf/i386-pc.rmk: Likewise.
40701 * util/i386/pc/grub-install.in: Likewise.
40702
40703 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40704 choose which information we want to print.
40705
2b002173 407062006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40707
40708 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40709 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40710 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40711 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40712 video/readers/tga.c and video/i386/pc/vbeutil.c.
40713
407142006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40715
40716 Added support for RAID and LVM.
f19dbdb7 40717
2b002173 40718 * disk/lvm.c: New file.
40719 * disk/raid.c: Likewise.
40720 * include/grub/lvm.h: Likewise.
f19dbdb7 40721 * include/grub/raid.h: Likewise.
2b002173 40722 * include/grub/util/lvm.h: Likewise.
40723 * include/grub/util/raid.h: Likewise.
40724 * util/lvm.c: Likewise.
40725 * util/raid.c: Likewise.
40726
40727 * include/grub/disk.h (grub_disk_dev_id): Add
40728 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40729 (grub_disk_get_size): New prototype.
40730 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40731 returns a partition.
40732 (grub_disk_get_size): New function.
f19dbdb7 40733
2b002173 40734 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40735 verbatim if grub_install_dos_part is -2.
40736
40737 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40738 and LVM devices.
40739
40740 * util/i386/pc/grub-setup.c (setup): New argument
40741 MUST_EMBED. Force embedding of GRUB when the argument is
40742 true. Close FILE before returning.
40743 (main): Add support for RAID and LVM.
f19dbdb7 40744
2b002173 40745 * conf/common.rmk: Add RAID and LVM modules.
40746 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40747 util/lvm.c.
40748 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40749
40750 * kern/misc.c (grub_strstr): New function.
40751 * include/grub/misc.h (grub_strstr): New prototype.
40752
050548d0 407532006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40754
40755 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40756
da849d2d 407572006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40758
40759 * kern/misc.c (grub_strtoull): Guess the base only if not
40760 specified.
40761
97b2f2ff 407622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40763
40764 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40765 PowerMac support.
40766
97b2f2ff 407672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40768
40769 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40770
40771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40772 Remove `flags' argument. All callers changed.
40773 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40774 (IEEE1275_IHANDLE_INVALID): New variable.
40775 (IEEE1275_CELL_INVALID): New variable.
40776 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40777 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40778 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40779 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40780 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40781 codes from Open Firmware. All callers updated.
40782 (grub_ieee1275_next_property): Directly return Open Firmware return
40783 code.
40784 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40785 Standardize error checking from `grub_ieee1275_get_property'.
40786 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40787 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40788
97b2f2ff 407892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40790
40791 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40792 `instance_to_package_args' to `instance_to_path_args'.
40793
40794 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40795 `grub_ieee1275_chosen'.
40796
40797 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40798 `grub_ieee1275_interpret'.
40799
97b2f2ff 408002006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40801
40802 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40803
97b2f2ff 408042006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40805
40806 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40807 (__cmpdi): Likewise.
40808
40809 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40810 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40811 `grub_ssize_t'.
40812
02bb8acc 40813 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40814
40815 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40816 to type `grub_ssize_t'.
40817 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40818
7f9a8531 408192006-09-22 Marco Gerards <marco@gnu.org>
40820
40821 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40822 newlines.
40823
b5ef1102 408242006-09-22 Marco Gerards <marco@gnu.org>
40825
40826 * commands/echo.c: New file.
40827
40828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40829
40830 * conf/common.rmk (echo_mod_SOURCES): New variable.
40831 (echo_mod_CFLAGS): Likewise.
40832 (echo_mod_LDFLAGS): Likewise.
40833
2cff3677 408342006-09-22 Marco Gerards <marco@gnu.org>
40835
40836 * normal/main.c (get_line): Malloc memory instead of using
40837 preallocated memory. Removed the arguments `cmdline' and
40838 `max_len'. Updated all callers.
40839
6ba4688b 408402006-09-22 Marco Gerards <marco@gnu.org>
40841
40842 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40843 (normal_mod_DEPENDENCIES): Likewise.
40844
40845 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40846 (normal_mod_DEPENDENCIES): Likewise.
40847
40848 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40849
e02ac02c 408502006-09-22 Johan Rydberg <jrydberg@gnu.org>
40851
40852 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40853 programs.
40854 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40855 (normal_mod_DEPENDENCIES): Likewise.
40856 * conf/i386-pc.mk: Regenerate.
40857 * conf/i386-efi.mk: Likewise
40858 * conf/common.mk: Likewise.
40859 * conf/powerpc-ieee1275.mk: Likewise.
40860 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40861
8d252e44 408622006-09-22 Robert Millan <rmh@aybabtu.com>
40863
40864 Sync with i386 version.
40865 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40866 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40867
209bf7ac 408682006-09-21 Robert Millan <rmh@aybabtu.com>
40869
40870 Import from GRUB Legacy (lib/device.c):
40871 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40872 (init_device_map) [__linux__]: Add support for I2O devices.
40873
6b146090 408742006-09-14 Marco Gerards <marco@gnu.org>
40875
40876 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40877 `-melf_i386'.
40878
e38600a8 408792006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40880
40881 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40882 /boot/grub/*.lst.
78fa1790 40883
2952da5d 40884 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40885
2952da5d 40886 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40887 before adding it to device.map.
40888
01b82a64 408892006-08-15 Johan Rydberg <jrydberg@gnu.org>
40890
fe6b695a 40891 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40892 compiles a file; using the -MD option.
40893 * conf/common.mk: Regenerate.
40894 * conf/i386-pc.mk: Likewise.
40895 * conf/i386-efi.mk: Likewise.
40896 * conf/powerpc-ieee1275.mk: Likewise.
40897 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40898
1064790d 408992006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40900
40901 Move the prototypes of grub_setjmp and grub_longjmp to
40902 cpu/setjmp.h, so that each architecture may specify different
40903 attributes.
f19dbdb7 40904
1064790d 40905 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40906 (grub_longjmp): Likewise.
40907 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40908 (grub_longjmp): Likewise.
40909 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40910 (grub_longjmp): Likewise.
40911
40912 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40913 [!GRUB_UTIL] (grub_longjmp): Removed.
40914
29dda3ed 409152006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40916
40917 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40918 "color!" method does not return any value.
40919
ad2a06ed 409202006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40921
40922 * include/grub/bitmap.h: New file.
40923
40924 * include/grub/i386/pc/vbeutil.h: Likewise.
40925
40926 * video/bitmap.c: Likewise.
40927
40928 * video/readers/tga.c: Likewise.
40929
40930 * video/i386/pc/vbeutil.c: Likewise.
40931
40932 * commands/videotest.c: Code cleanup and updated to reflect to new
40933 video API.
40934
40935 * term/gfxterm.c: Likewise.
40936
40937 * video/video.c: Likewise.
40938
40939 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40940 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40941 (bitmap_mod_SOURCES): New entry.
40942 (bitmap_mod_CFLAGS): Likewise.
40943 (bitmap_mod_LDFLAGS): Likewise.
40944 (tga_mod_SOURCES): Likewise.
40945 (tga_mod_CFLAGS): Likewise.
40946 (tga_mod_LDFLAGS): Likewise.
40947
40948 * include/grub/video.h (grub_video_blit_operators): New enum type.
40949 (grub_video_render_target): Changed as forward declaration and moved
40950 actual definition to be video driver specific.
40951 (grub_video_adapter.blit_bitmap): Added blitting operator.
40952 (grub_video_adapter.blit_render_target): Likewise.
40953 (grub_video_blit_bitmap): Likewise.
40954 (grub_video_blit_render_target): Likewise.
40955
40956 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40957 driver specific render target definition.
40958 (grub_video_vbe_map_rgba): Added driver internal helper.
40959 (grub_video_vbe_unmap_color): Updated to use
40960 grub_video_i386_vbeblit_info.
40961 (grub_video_vbe_get_video_ptr): Likewise.
40962
40963 * include/grub/i386/pc/vbeblit.h
40964 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40965 grub_video_i386_vbeblit_info.
40966 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40967 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40970 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40971 (grub_video_i386_vbeblit_index_index): Likewise.
40972 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40974 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40975 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40976 operator.
40977 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40978 operator.
40979
40980 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40981 include/grub/i386/pc/vbeblit.h.
40982
40983 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40984 Updated to use grub_video_i386_vbeblit_info.
40985 (grub_video_i386_vbefill_R8G8B8): Likewise.
40986 (grub_video_i386_vbefill_index): Likewise.
40987 (grub_video_i386_vbefill): Added generic filler.
40988
40989 * video/i386/pc/vbefill.c: Updated to reflect changes on
40990 include/grub/i386/pc/vbefill.h.
40991
40992 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40993 grub_video_i386_vbeblit_info.
40994 (grub_video_vbe_unmap_color): Likewise.
40995 (grub_video_vbe_blit_glyph): Likewise.
40996 (grub_video_vbe_scroll): Likewise.
40997 (grub_video_vbe_draw_pixel): Removed function.
40998 (grub_video_vbe_get_pixel): Likewise.
40999 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41000 updated code to use it.
41001 (common_blitter): Added common blitter for render target and bitmap.
41002 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41003 (grub_video_vbe_blit_render_target): Likewise.
41004
bc8c036d 410052006-07-30 Johan Rydberg <jrydberg@gnu.org>
41006
41007 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41008 is in text mode if there is no console control protocol instance
41009 available.
41010
684a8eff 410112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41012
41013 * include/grub/video.h: Code cleanup.
41014
41015 * include/grub/i386/pc/vbe.h: Likewise.
41016
41017 * video/i386/pc/vbe.c: Likewise.
41018
41019 * video/i386/pc/vbeblit.c: Likewise.
41020
41021 * video/i386/pc/vbefill.c: Likewise.
41022
41023 * video/video.c: Likewise. Also added more comments.
41024
5915059b 410252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41026
41027 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41028 (struct grub_biosdisk_dap): Likewise.
41029
41030 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41031 linkage settings for all functions.
41032
90ce5d56 410332006-07-12 Marco Gerards <marco@gnu.org>
41034
41035 * configure.ac (--enable-mm-debug): Fix typo.
41036
41037 * genkernsyms.sh.in: Use proper quoting for `CC'.
41038
43e7f879 410392006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41040
41041 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41042 (normal_mod_ASFLAGS): Remove "-m32".
41043
4889bdec 410442006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41045
41046 * util/misc.c: Include config.h.
41047 [!HAVE_MEMALIGN]: Do not include malloc.h.
41048 (grub_memalign): Use posix_memalign, if present. Then, use
41049 memalign, if present. Otherwise, emit an error.
41050
41051 * util/grub-emu.c: Do not include malloc.h.
41052
41053 * include/grub/util/misc.h: Include unistd.h. This is required for
41054 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41055 D. Eades III <hde@foobar-qux.org>.
41056
41057 * configure.ac (AC_GNU_SOURCE): Added.
41058 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41059 type.
41060
fd39d4da 410612006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41062
41063 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41064 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41065
b786f3b5 410662006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41067
41068 * include/grub/types.h (grub_host_addr_t): Rename to
41069 grub_target_addr_t.
41070 (grub_host_off_t): Rename to grub_target_off_t.
41071 (grub_host_size_t): Rename to grub_target_size_t.
41072 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41073 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41074
41075 * include/grub/kernel.h (struct grub_module_header): Change type
41076 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41077 (grub_module_info): Likewise.
f19dbdb7 41078
051988bb 410792006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41080
41081 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41082 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41083 Velazquez <jesus.velazquez@gmail.com>.
41084
deae281b 410852006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41086
41087 Count partitions from 1 instead of 0 in the string representation
41088 of partitions. Still use 0-based internally.
f19dbdb7 41089
deae281b 41090 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41091 (sun_partition_map_iterate): Use grub_partition_t instead of
41092 struct grub_partition *. Cast DESC->START_CYLINDER to
41093 grub_uint64_t after converting the endian.
41094 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41095 (sun_partition_map_get_name): Add 1 to P->INDEX.
41096
41097 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41098 PCDATA->DOS_PART.
41099 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41100
41101 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41102 zero instead of one.
41103 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41104 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41105
41106 * partmap/apple.c (apple_partition_map_iterate): Change the type
41107 of POS to unsigned.
41108 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41109 (apple_partition_map_get_name): Add 1 into P->INDEX.
41110
41111 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41112 of POS to unsigned.
41113 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41114 calculate the offset of a partition.
41115 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41116 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41117
41118 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41119 SECTOR to grub_disk_addr_t.
41120 (acorn_partition_map_iterate): Likewise.
41121 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41122 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41123 top.
41124 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41125
41126 * kern/i386/pc/init.c (make_install_device): Add 1 into
41127 GRUB_INSTALL_DOS_PART.
41128
41129 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41130 conditional.
41131
524a1e6a 411322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41133
41134 Clean up the code to support 64-bit addressing in disks and
41135 files. This change is not enough for filesystems yet.
f19dbdb7 41136
524a1e6a 41137 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41138 type of "start" to grub_uint64_t.
41139 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41140 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41141 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41142 convert addresses.
41143
41144 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41145 to grub_disk_addr_t.
41146
41147 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41148 string.
41149
41150 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41151
41152 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41153 to char *.
41154
41155 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41156
41157 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41158
41159 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41160
41161 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41162 to grub_off_t, to detect an error from grub_file_seek.
41163 (grub_multiboot_load_elf32): Likewise.
41164
41165 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41166 maximum unsigned long value when an overflow is detected.
41167 (grub_strtoull): New function.
41168 (grub_divmod64): Likewise.
41169 (grub_lltoa): use grub_divmod64.
41170
41171 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41172 grub_disk_addr_t.
41173 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41174 the pointer to next character. Use grub_strtoull instead of
41175 grub_strtoul.
41176 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41177 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41178 respectively.
41179
fe6b695a 41180 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41181 return value is signed.
41182 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41183 test if OFFSET is less than zero, as OFFSET is unsigned now.
41184
41185 * kern/disk.c (struct grub_disk_cache): Change the type of
41186 "sector" to grub_disk_addr_t.
41187 (grub_disk_cache_get_index): Change the type of SECTOR to
41188 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41189 unsigned after shifting.
41190 (grub_disk_cache_invalidate): Change the type of SECTOR to
41191 grub_disk_addr_t.
41192 (grub_disk_cache_unlock): Likewise.
41193 (grub_disk_cache_store): Likewise.
41194 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41195 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41196 grub_disk_addr_t and grub_uint64_t, respectively.
41197 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41198 body, as the value of OFFSET is tweaked by
41199 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41200 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41201 respectively.
41202 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41203 body, as the value of OFFSET is tweaked by
41204 grub_disk_check_range. Change the types of LEN and N to
41205 grub_size_t.
41206
41207 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41208 and "saved_offset" to grub_off_t.
41209 (test_header): Cast BUF to char *.
41210 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41211 to char *.
41212 (grub_gzio_read): Change the types of OFFSET and SIZE to
41213 grub_off_t and grub_size_t, respectively.
41214
41215 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41216 Removed.
41217 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41218 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41219 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41220 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41221 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41222
41223 * include/grub/types.h (grub_off_t): Unconditionally set to
41224 grub_uint64_t.
41225 (grub_disk_addr_t): Changed to grub_uint64_t.
41226
41227 * include/grub/partition.h (struct grub_partition): Change the
41228 types of "start", "len" and "offset" to grub_disk_addr_t,
41229 grub_uint64_t and grub_disk_addr_t, respectively.
41230 (grub_partition_get_start): Return grub_disk_addr_t.
41231 (grub_partition_get_len): Return grub_uint64_t.
41232
41233 * include/grub/misc.h (grub_strtoull): New prototype.
41234 (grub_divmod64): Likewise.
41235
41236 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41237 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41238 grub_off_t, respectively.
41239 All callers and references changed.
41240
41241 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41242 grub_size_t in "read".
41243 All callers and references changed.
41244
41245 * include/grub/file.h (struct grub_file): Change the types of
41246 "offset" and "size" to grub_off_t and grub_off_t,
41247 respectively. Change the type of SECTOR to grub_disk_addr_t in
41248 "read_hook".
41249 (grub_file_read): Change the type of LEN to grub_size_t.
41250 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41251 grub_off_t.
41252 (grub_file_size): Return grub_off_t.
41253 (grub_file_tell): Likewise.
41254 All callers and references changed.
41255
41256 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41257 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41258 "write".
41259 (struct grub_disk): Change the type of "total_sectors" to
41260 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41261 "read_hook".
524a1e6a 41262 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41263 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41264 (grub_disk_write): Likewise.
41265 All callers and references changed.
41266
41267 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41268 char * for grub_strncmp to silence gcc.
41269 (grub_iso9660_mount): Likewise.
41270 (grub_iso9660_mount): Likewise.
41271 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41272 return statement.
41273 (grub_iso9660_iterate_dir): Likewise.
41274 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41275
41276 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41277 LEN to grub_disk_addr_t and grub_size_t, respectively.
41278
41279 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41280
41281 * fs/jfs.c (grub_jfs_read_file): Likewise.
41282
41283 * fs/minix.c (grub_jfs_read_file): Likewise.
41284
41285 * fs/sfs.c (grub_jfs_read_file): Likewise.
41286
41287 * fs/ufs.c (grub_jfs_read_file): Likewise.
41288
41289 * fs/xfs.c (grub_jfs_read_file): Likewise.
41290
41291 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41292 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41293 respectively.
41294
41295 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41296 BLKNR to -1 instead of returning GRUB_ERRNO.
41297 (grub_ext2_read_file): Change the types of SECTOR and
41298 LEN to grub_disk_addr_t and grub_size_t, respectively.
41299
41300 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41301 LEN to grub_disk_addr_t and grub_size_t, respectively.
41302
41303 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41304 grub_file_read.
41305
41306 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41307 string. Do not cast SECTOR explicitly.
41308
41309 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41310 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41311 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41312 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41313 over 2TB and LBA mode is not supported, raise an error.
41314 (get_safe_sectors): New function.
41315 (grub_biosdisk_read): Use get_safe_sectors.
41316 (grub_biosdisk_write): Likewise.
41317
41318 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41319 (grub_efidisk_write): Likewise.
41320
41321 * disk/loopback.c (delete_loopback): Cosmetic changes.
41322 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41323 correctly.
41324 (grub_loopback_open): Likewise.
41325 (grub_loopback_read): Likewise. Also, change the type of POS to
41326 grub_off_t, and fix the usage of grub_memset.
41327
41328 * commands/i386/pc/play.c: Include grub/machine/time.h.
41329
41330 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41331 print FILE->SIZE.
41332
41333 * commands/configfile.c: Include grub/env.h.
41334
41335 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41336 GRUB_ERRNO directly instead. Change the type of POS to
41337 grub_off_t. Follow the coding standard.
41338
41339 * commands/blocklist.c: Include grub/partition.h.
41340 (grub_cmd_blocklist): Return an error if the underlying device is
41341 not a disk. Take the starting sector of a partition into account,
41342 if a partition is used.
41343
41344 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41345 a length field.
41346 (lba_mode): Support 64-bit addresses.
41347 (chs_mode): Likewise.
41348 (copy_buffer): Adapted to the new offsets of a length field and a
41349 segment field.
41350 (blocklist_default_start): Allocate 64-bit space.
41351
41352 * boot/i386/pc/boot.S (force_lba): Removed.
41353 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41354 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41355 space.
41356 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41357 is useless.
41358 (lba_mode): Refactored to support a 64-bit address. More size
41359 optimization.
41360 (setup_sectors): Likewise.
41361
53af98ad 413622006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41363
41364 * DISTLIST: Added include/grub/i386/linux.h. Removed
41365 include/grub/i386/pc/linux.h
41366
41367 * configure.ac (AC_INIT): Bumped to 1.94.
41368
41369 * config.guess: Updated from gnulib.
41370 * config.sub: Likewise.
41371 * install-sh: Likewise.
41372 * mkinstalldirs: Likewise.
41373
b4c1940a 413742006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41375
41376 * conf/common.rmk (grub_modules_init.lst): Depended on
41377 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41378 MODSRCFILES.
41379
41380 * genmk.rb (PModule::rule): Reverted the previous change.
41381
cfca1cfd 413822006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41383
41384 * conf/common.rmk (grub_modules_init.lst): Depends on
41385 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41386 that the target does not exist before producing.
41387 (grub_modules_init.h): Remove the target before generating.
41388 (grub_emu_init.c): Likewise.
41389
41390 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41391
aa6d7826 413922006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41393
41394 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41395 for the target-specific tests. Make sure that we also have the
41396 up-to-date target variables for those tests.
41397
26c607b9 413982006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41399
41400 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41401 (PModule::rule): Likewise.
41402
0162321a 414032006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41404
41405 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41406 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41407 target-specific flags should be prefixed.
41408 (PModule::rule): Likewise.
41409
6c826348 414102006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41411
41412 * configure.ac (CMP): Check if cmp is available explicitly.
41413
b977bf01 414142006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41415
41416 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41417 (target_cpu): New variable.
41418 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41419
b977bf01 41420 * util/i386/pc/grub-install.in (host_cpu): Removed.
41421 (target_cpu): New variable.
41422 (pkglibdir): Use target_cpu instead of host_cpu.
41423
41424 * util/genmoddep.c: Removed.
f19dbdb7 41425
b977bf01 41426 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41427 instead of GRUB_HOST_SIZEOF_VOID_P.
41428 * kern/dl.c: Likewise.
41429
41430 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41431 ...
41432 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41433 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41434 (GRUB_TARGET_SIZEOF_LONG): ... this.
41435 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41436 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41437 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41438 to ...
41439 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41440 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41441 (GRUB_TARGET_SIZEOF_LONG): ... this.
41442 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41443 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41444 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41445 to ...
41446 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41447 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41448 (GRUB_TARGET_SIZEOF_LONG): ... this.
41449 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41450 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41451
41452 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41453 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41454 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41455 instead of GRUB_HOST_SIZEOF_LONG.
41456 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41457 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41458 GRUB_CPU_WORDS_BIGENDIAN.
41459 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41460 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41461 grub_host_ssize_t.
41462
41463 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41464 (genmoddep_SOURCES): Likewise.
41465 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41466 (genmoddep_SOURCES): Likewise.
41467 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41468 (genmoddep_SOURCES): Likewise.
41469 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41470 Likewise.
41471 (genmoddep_SOURCES): Likewise.
41472
41473 * genmoddep.awk: New file.
41474
41475 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41476 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41477 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41478 (PModule::rule): Likewise.
41479 (Program::rule): Likewise.
41480 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41481 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41482 respectively.
41483
41484 * configure.ac: Rewritten intensively to use host and target
41485 instead of build and host, respectively.
41486
41487 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41488 (host_cpu): Removed.
41489 (target_cpu): New variable.
41490 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41491 (BUILD_CC): Removed.
41492 (BUILD_CFLAGS): Likewise.
41493 (BUILD_CPPFLAGS): Likewise.
41494 (TARGET_CC): New variable.
41495 (TARGET_CFLAGS): Likewise.
41496 (TARGET_CPPFLAGS): Likewise.
41497 (TARGET_LDFLAGS): Likewise.
41498 (AWK): Likewise.
41499 (include): Use target_cpu instead of host_cpu.
41500 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41501
b977bf01 41502 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41503
f09771a1 415042006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41505
41506 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41507 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41508 field 'false' to 'exec_on_false'.
41509 (grub_script_create_cmdif): Renamed argument names to reflect above
41510 changes.
41511
41512 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41513
41514 * normal/script.c (grub_script_create_cmdif): Likewise.
41515
118f4fb3 415162006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41517
41518 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41519 top.
41520 (grub_hfsplus_btree_recptr): Likewise.
41521 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41522 FILEBLOCK both to pass a block number and store next block
41523 number.
41524 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41525 overflow file correctly. Specify errors appropriately, because
41526 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41527 grub_hfsplus_btree_recptr to get the pointer to a found key.
41528 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41529 is found.
41530
41531 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41532 linux.mod.
41533 (_linux_mod_SOURCES): New variable.
41534 (_linux_mod_CFLAGS): Likewise.
41535 (_linux_mod_LDFLAGS): Likewise.
41536 (linux_mod_SOURCES): Likewise.
41537 (linux_mod_CFLAGS): Likewise.
41538 (linux_mod_LDFLAGS): Likewise.
41539
41540 * DISTLIST: Added loader/i386/efi/linux.c,
41541 loader/i386/efi/linux_normal.c and
41542 include/grub/i386/efi/loader.h.
41543
41544 * loader/i386/efi/linux.c: New file.
41545 * loader/i386/efi/linux_normal.c: Likewise.
41546 * include/grub/i386/efi/loader.h: Likewise.
41547
89a7d726 415482006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41549
41550 * commands/blocklist.c: New file.
41551
41552 * DISTLIST: Added commands/blocklist.c.
41553
41554 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41555 color for the background, and a darker color for the foreground.
89a7d726 41556 (grub_console_checkkey): Return READ_KEY.
41557 (grub_console_cls): Set the background to
41558 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41559
41560 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41561
41562 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41563 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41564
41565 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41566 prototype.
41567
41568 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41569 BG. The spec is wrong again.
41570
41571 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41572 prototype.
41573 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41574
41575 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41576 commands/blocklist.c.
41577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41578
89a7d726 41579 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41580 (blocklist_mod_SOURCES): New variable.
41581 (blocklist_mod_CFLAGS): Likewise.
41582 (blocklist_mod_LDFLAGS): Likewise.
41583
75c8f258 415842006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41585
41586 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41587 duplication.
41588 (lba_mode): Use %eax more intensively to reduce the code size.
41589
da2eb181 415902006-05-20 Marco Gerards <marco@gnu.org>
41591
41592 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41593
41594 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41595 for `menuentry'.
41596 (script): Accept leading newlines.
41597 (newlines): New rule to describe 0 or more newlines.
41598 (commands): Accept `command' with trailing newline. Fixed the
41599 order in which arguments were passed to `grub_script_add_cmd'.
41600 Accept commands separated by newlines.
41601 (function): Changed to accept newlines.
41602 (menuentry) Rewritten.
41603
41604 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41605 front of the list, instead of to the end.
41606
577b4050 416072006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41608
41609 * util/i386/pc/grub-install.in (bindir): New variable.
41610 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41611 Shaver <lbgwjl@gmail.com>.
41612
0d6e1189 416132006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41614
41615 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41616 grub/machine/linux.h
41617 * loader/i386/pc/linux.c: Likewise.
41618
41619 * include/grub/i386/pc/linux.h: Moved to ...
41620 * include/grub/i386/linux.h: ... here.
41621
41622 * include/grub/i386/linux.h (struct linux_kernel_params): New
41623 struct.
f19dbdb7 41624
31b86e9f 416252006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41626
41627 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41628 checking.
41629 (grub_video_vbe_blit_glyph): Likewise.
41630 (grub_video_vbe_blit_bitmap): Likewise.
41631 (grub_video_vbe_blit_render_target): Likewise.
41632
83b984de 416332006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41634
41635 * configure.ac (--with-platform): Properly quote the square
41636 brackets.
41637
5f0413bd 416382006-05-08 Marco Gerards <marco@gnu.org>
41639
41640 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41641 this...
41642 (kernel_elf_HEADERS): ...to this. Updated all users.
41643 (grubof_symlist.c): Renamed from this...
41644 (kernel_elf_symlist.c): ...to this. Updated all users.
41645 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41646 (grubof_SOURCES): Renamed from this...
41647 (kernel_elf_SOURCES): ...to this.
41648 (grubof_HEADERS): Renamed from this...
41649 (kernel_elf_HEADERS): ...to this.
41650 (grubof_CFLAGS): Renamed from this...
41651 (kernel_elf_CFLAGS): ...to this.
41652 (grubof_ASFLAGS): Renamed from this...
41653 (kernel_elf_ASFLAGS): ...to this.
41654 (grubof_LDFLAGS): Renamed from this...
41655 (kernel_elf_LDFLAGS): ...to this.
41656
41657 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41658 this...
41659 (kernel_elf_HEADERS): ...to this. Updated all users.
41660 (grubof_symlist.c): Renamed from this...
41661 (kernel_elf_symlist.c): ...to this. Updated all users.
41662 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41663 (grubof_SOURCES): Renamed from this...
41664 (kernel_elf_SOURCES): ...to this.
41665 (grubof_HEADERS): Renamed from this...
41666 (kernel_elf_HEADERS): ...to this.
41667 (grubof_CFLAGS): Renamed from this...
41668 (kernel_elf_CFLAGS): ...to this.
41669 (grubof_ASFLAGS): Renamed from this...
41670 (kernel_elf_ASFLAGS): ...to this.
41671 (grubof_LDFLAGS): Renamed from this...
41672 (kernel_elf_LDFLAGS): ...to this.
41673
41674 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41675 `kernel.elf' instead of `grubof'.
41676
05568c2e 416772006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41678
41679 Add --with-platform to configure. Use pkglibdir instead of
41680 pkgdatadir. This is reported by Roger Leigh.
41681
41682 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41683 (host_vendor): Likewise.
41684 (host_os): Likewise.
41685 (pkgdatadir): Likewise.
41686 (platform): New variable.
41687 (pkglibdir): Likewise.
41688 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41689
05568c2e 41690 * util/i386/pc/grub-install.in (datadir): Removed.
41691 (host_vendor): Likewise.
41692 (host_os): Likewise.
41693 (pkgdatadir): Likewise.
41694 (platform): New variable.
41695 (pkglibdir): Likewise.
41696 Use PKGLIBDIR instead of PKGDATADIR.
41697
41698 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41699 instead of GRUB_DATADIR.
41700 (main): Likewise.
41701 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41702 (main): Likewise.
41703 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41704 (main): Likewise.
41705
41706 * configure.ac (--with-platform): New option.
41707 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41708
41709 * Makefile.in: Include a makefile based on PLATFORM instead of
41710 HOST_VENDOR.
41711 (pkgdatadir): Not appended by the machine type.
41712 (pkglibdir): Appended by the machine type.
41713 (host_vendor): Removed.
41714 (platform): New variable.
41715 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41716 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41717 (uninstall): Likewise.
41718
4e93851c 417192006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41720
41721 Use the environment context in the menu. Remove the commands
41722 "default" and "timeout", and use variables instead.
f19dbdb7 41723
4e93851c 41724 * normal/menu.c: Include grub/env.h.
41725 (print_entry): Cast TITLE to silence gcc.
41726 (get_timeout): New function.
41727 (set_timeout): Likewise.
41728 (get_entry_number): Likewise.
41729 (run_menu): Use a default entry, a fallback entry and a timeout
41730 in the environment variables "default", "fallback" and
41731 "timeout". Also, tweak the default entry if it is not within the
41732 current menu entries.
41733 (grub_menu_run): Use a fallback entry in the environment variable
41734 "fallback".
41735
41736 * normal/main.c (read_config_file): Do not initialize
41737 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41738 NEWMENU->TIMEOUT.
41739 (grub_normal_execute): Use a data slot to store the menu.
41740
41741 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41742 fallback_entry and timeout.
41743 (struct grub_menu_list): Removed.
41744 (grub_menu_list_t): Likewise.
41745 (struct grub_context): Likewise.
41746 (grub_context_t): Likewise.
41747 (grub_context_get): Likewise.
41748 (grub_context_get_current_menu): Likewise.
41749 (grub_context_push_menu): Likewise.
41750 (grub_context_pop_menu): Likewise.
41751 (grub_default_init): Likewise.
41752 (grub_default_fini): Likewise.
41753 (grub_timeout_init): Likewise.
41754 (grub_timeout_fini): Likewise.
41755
41756 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41757 and timeout.mod.
41758 (normal_mod_SOURCES): Removed normal/context.c.
41759
41760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41761 commands/default.c, commands/timeout.c and normal/context.c.
41762 (normal_mod_SOURCES): Removed normal/context.c.
41763
41764 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41765 commands/timeout.c and normal/context.c.
41766 (normal_mod_SOURCES): Removed normal/context.c.
41767
41768 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41769 commands/default.c, commands/timeout.c and normal/context.c.
41770 (normal_mod_SOURCES): Removed normal/context.c.
41771
41772 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41773 timeout.mod.
41774 (default_mod_SOURCES): Removed.
41775 (default_mod_CFLAGS): Likewise.
41776 (default_mod_LDFLAGS): Likewise.
41777 (timeout_mod_SOURCES): Removed.
41778 (timeout_mod_CFLAGS): Likewise.
41779 (timeout_mod_LDFLAGS): Likewise.
41780
41781 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41782 normal/context.c.
41783
41784 * commands/default.c: Removed.
41785 * commands/timeout.c: Likewise.
41786 * normal/context.c: Likewise.
41787
1eb9cc1d 417882006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41789
41790 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41791
385bd9c1 417922006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41793
41794 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41795 "next" to "prev" for readability.
41796 (struct grub_env_sorted_var): New struct.
41797 (grub_env_context): Renamed to ...
41798 (initial_context): ... this.
41799 (grub_env_var_context): Renamed to ...
41800 (current_context): ... this.
41801 (grub_env_find): Look only at CURRENT_CONTEXT.
41802 (grub_env_context_open): Rewritten to copy exported variables from
41803 previous context.
41804 (grub_env_context_close): Rewritten according to the new
41805 scheme. Also, add an assertion to prevent the initial context from
41806 removed.
41807 (grub_env_insert): Removed the code for the sorted list.
41808 (grub_env_remove): Likewise.
41809 (grub_env_export): Simply mark the variable with
41810 GRUB_ENV_VAR_GLOBAL.
41811 (grub_env_set): A cosmetic change for naming consistency.
41812 (grub_env_get): Likewise.
41813 (grub_env_unset): Likewise.
41814 (grub_env_iterate): Rewritten to sort variables within this
41815 function.
41816 (grub_register_variable_hook): Fixed for naming consistency. Call
41817 grub_env_find again, only if NAME is not found at the first time.
41818 (mangle_data_slot_name): New function.
41819 (grub_env_set_data_slot): Likewise.
41820 (grub_env_get_data_slot): Likewise.
41821 (grub_env_unset_data_slot): Likewise.
41822
41823 * include/grub/env.h (grub_env_var_type): New enum.
41824 (GRUB_ENV_VAR_LOCAL): New constant.
41825 (GRUB_ENV_VAR_GLOBAL): Likewise.
41826 (GRUB_ENV_VAR_DATA): Likewise.
41827 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41828 "type".
41829 (grub_env_set): Replace VAR with NAME for consistency.
41830 (grub_register_variable_hook): Likewise.
41831 (grub_env_export): Specify the name of the argument.
41832 (grub_env_set_data_slot): New prototype.
41833 (grub_env_get_data_slot): Likewise.
41834 (grub_env_unset_data_slot): Likewise.
41835
7f362539 418362006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41837
41838 Extend the loader so that GRUB can accept a loader which comes
41839 back to GRUB when a loaded image exits. Also, this change adds
41840 support for a chainloader on EFI.
f19dbdb7 41841
7f362539 41842 * term/efi/console.c: Include grub/misc.h.
41843 (grub_console_checkkey): Display a scan code on the top for
41844 debugging. This will be removed once the EFI port gets stable.
41845 Correct the scan code mapping.
41846
41847 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41848 allocate memory from larger regions, in order to reduce the number
41849 of allocated regions. Otherwise, the MacOSX loader panics.
41850 (filter_memory_map): Avoid less than 1MB for compatibility with
41851 other loaders.
41852 (add_memory_regions): Allocate from the tail of a region, if
41853 possible, to avoid allocating a region near to 1MB, for the MacOSX
41854 loader.
41855
41856 * kern/efi/init.c (grub_efi_set_prefix): Specify
41857 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41858
41859 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41860 argument IMAGE_HANDLE and specify it to get a loaded image.
41861 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41862 grub_efi_get_loaded_image.
fe6b695a 41863 (grub_efi_get_filename): Divide the length by the size of
7f362539 41864 grub_efi_char16_t.
41865 (grub_efi_get_device_path): New function.
41866 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41867 the length by the size of grub_efi_char16_t for a file path device
41868 path node.
41869
41870 * kern/loader.c (grub_loader_noreturn): New variable.
41871 (grub_loader_set): Accept a new argument NORETURN. Set
41872 GRUB_LOADER_NORETURN to NORETURN.
41873 All callers changed.
41874 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41875 grub_machine_fini.
41876
41877 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41878 prototype.
41879 (grub_efi_get_loaded_image): Take an argument to specify an image
41880 handle.
41881
41882 * include/grub/loader.h (grub_loader_set): Added one more argument
41883 NORETURN.
41884
41885 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41886 instead of grub_efi_open_protocol.
41887 (grub_efidisk_get_device_name): Likewise.
41888 (grub_efidisk_close): Print a newline.
41889 (grub_efidisk_get_device_handle): Fixed to use
41890 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41891 GRUB_EFI_DEVICE_PATH_TYPE.
41892
41893 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41894 * kern/efi/efi.c (device_path_guid): ... here.
41895
41896 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41897 chain.mod.
41898 (kernel_mod_HEADERS): Added efi/disk.h.
41899 (_chain_mod_SOURCES): New variable.
41900 (_chain_mod_CFLAGS): Likewise.
41901 (_chain_mod_LDFLAGS): Likewise.
41902 (chain_mod_SOURCES): Likewise.
41903 (chain_mod_CFLAGS): Likewise.
41904 (chain_mod_LDFLAGS): Likewise.
41905
41906 * DISTLIST: Added include/grub/efi/chainloader.h,
41907 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41908
41909 * include/grub/efi/chainloader.h: New file.
41910 * loader/efi/chainloader.c: Likewise.
41911 * loader/efi/chainloader_normal.c: Likewise.
41912
c0111d6e 419132006-04-30 Marco Gerards <marco@gnu.org>
41914
41915 * commands/configfile.c (grub_cmd_source): New function.
41916 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41917 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41918
df5341da 419192006-04-30 Marco Gerards <marco@gnu.org>
41920
41921 * normal/execute.c (grub_script_execute_cmd): Change the return
41922 type to `grub_err_t'. Correctly return the error.
41923 (grub_script_execute_cmdline): In case a command line is not a
41924 command or a function, try to interpret it as an assignment.
41925
f85934bd 419262006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41927
41928 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41929 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41930 skip a node whose name is obviously invalid as UTF-16,
41931 i.e. contains a NUL character. Stop the iteration when the last
41932 directory entry is found. Instead of using the return value of
41933 grub_hfsplus_btree_iterate_node, store the value in RET and use
41934 it, because the iterator can be stopped by the last directory
41935 entry.
41936
8f8a2cf8 419372006-04-30 Marco Gerards <marco@gnu.org>
41938
41939 * include/grub/env.h (grub_env_export): New prototype. Reported
41940 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41941
a27e84ce 419422006-04-30 Marco Gerards <marco@gnu.org>
41943
41944 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41945 size of the extents in a catalog file record.
41946
eaef0553 419472006-04-29 Marco Gerards <marco@gnu.org>
41948
41949 * commands/configfile.c (grub_cmd_configfile): Execute the
41950 configfile within its own context.
41951
41952 * include/grub/env.h (grub_env_context_open): New prototype.
41953 (grub_env_context_close): Likewise.
41954
41955 * kern/env.c (grub_env): Removed.
41956 (grub_env_sorted): Likewise.
41957 (grub_env_context): New variable.
41958 (grub_env_var_context): Likewise.
41959 (grub_env_find): Search both the active context and the global
41960 context.
41961 (grub_env_context_open): New function.
41962 (grub_env_context_close): Likewise.
41963 (grub_env_insert): Likewise.
41964 (grub_env_remove): Likewise.
41965 (grub_env_export): Likewise.
41966 (grub_env_set): Changed to use helper functions to avoid code
41967 duplication.
41968 (grub_env_iterate): Rewritten so both the current context and the
41969 global context are being used.
41970
41971 * normal/command.c (export_command): New function.
41972 (grub_command_init): Register the `export' function.
41973
7b455f4d 419742006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41975
41976 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41977 explicitly to suppress gcc's warnings.
41978 * fs/fat.c (grub_fat_find_dir): Likewise.
41979 (grub_fat_label): Likewise.
41980 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41981 (grub_xfs_mount): Likewise.
41982 (grub_xfs_label): Likewise.
41983 * fs/affs.c (grub_affs_mount): Likewise.
41984 (grub_affs_label): Likewise.
41985 (grub_affs_iterate_dir): Likewise.
41986 * fs/sfs.c (grub_sfs_mount): Likewise.
41987 (grub_sfs_iterate_dir): Likewise.
41988 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41989 * fs/hfs.c (grub_hfs_mount): Likewise.
41990 (grub_hfs_cmp_catkeys): Likewise.
41991 (grub_hfs_find_dir): Likewise.
41992 (grub_hfs_dir): Likewise.
41993 (grub_hfs_label): Likewise.
41994 * fs/jfs.c (grub_jfs_mount): Likewise.
41995 (grub_jfs_opendir): Likewise.
41996 (grub_jfs_getent): Likewise.
41997 (grub_jfs_lookup_symlink): Likewise.
41998 (grub_jfs_label): Likewise.
41999 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42000 (grub_hfsplus_iterate_dir): Likewise.
42001 (grub_hfsplus_btree_iterate_node): Made static.
42002
42003 * util/grub-emu.c (prefix): New variable.
42004 (grub_machine_set_prefix): New function.
42005 (main): Do not set the environment variable "prefix" here. Only
42006 set PREFIX, which is used later by grub_machine_set_prefix.
42007
42008 * include/grub/video.h: Do not include grub/symbol.h.
42009 (grub_video_register): Not exported. This symbol is not defined in
42010 the kernel.
42011 (grub_video_unregister): Likewise.
42012 (grub_video_iterate): Likewise.
42013 (grub_video_setup): Likewise.
42014 (grub_video_restore): Likewise.
42015 (grub_video_get_info): Likewise.
42016 (grub_video_get_blit_format): Likewise.
42017 (grub_video_set_palette): Likewise.
42018 (grub_video_get_palette): Likewise.
42019 (grub_video_set_viewport): Likewise.
42020 (grub_video_get_viewport): Likewise.
42021 (grub_video_map_color): Likewise.
42022 (grub_video_map_rgb): Likewise.
42023 (grub_video_map_rgba): Likewise.
42024 (grub_video_fill_rect): Likewise.
42025 (grub_video_blit_glyph): Likewise.
42026 (grub_video_blit_bitmap): Likewise.
42027 (grub_video_blit_render_target): Likewise.
42028 (grub_video_scroll): Likewise.
42029 (grub_video_swap_buffers): Likewise.
42030 (grub_video_create_render_target): Likewise.
42031 (grub_video_delete_render_target): Likewise.
42032 (grub_video_set_active_render_target): Likewise.
42033
42034 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42035 Undefined.
42036 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42037
42038 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42039 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42040 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42041 instead of $(srcdir)/genkernsyms.sh.
42042
42043 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42044 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42045 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42046 instead of $(srcdir)/genkernsyms.sh.
42047
42048 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42049 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42050 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42051 instead of $(srcdir)/genkernsyms.sh.
42052
42053 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42054 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42055 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42056 instead of $(srcdir)/genkernsyms.sh.
42057
42058 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42059 genkernsyms.sh.
42060
42061 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42062 genkernsyms.sh.
42063 (gensymlist.sh): New target.
42064 (genkernsyms.sh): Likewise.
42065
42066 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42067 genkernsyms.sh.in and gensymlist.sh.in.
42068
42069 * genkernsyms.sh: Removed.
42070 * gensymlist.sh: Likewise.
f19dbdb7 42071
7b455f4d 42072 * genkernsyms.sh.in: New file.
42073 * gensymlist.sh.in: Likewise.
42074
1885bb27 420752006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42076
42077 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42078 clobber "prefix", since we may have already set it manually.
42079
71538dff 420802006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42081
42082 * kern/misc.c (abort): New alias for grub_abort.
42083
2965c7cc 420842006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42085
42086 A new machine-specific function "grub_machine_set_prefix" is
42087 defined. This is called after loading modules, so that a prefix
42088 initialization can use modules. Also, this change adds an
42089 intensive debugging feature for the memory manager via the
42090 configure option "--enable-mm-debug".
f19dbdb7 42091
2965c7cc 42092 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42093 PART.LEN.
42094
42095 * kern/sparc64/ieee1275/init.c (abort): Removed.
42096 (grub_stop): Likewise.
42097 (grub_exit): New function.
42098 (grub_set_prefix): Renamed to ...
42099 (grub_machine_set_prefix): ... this.
42100 (grub_machine_init): Do not call grub_set_prefix.
42101
42102 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42103 (grub_machine_set_prefix): ... this.
42104 (grub_machine_init): Do not call grub_set_prefix.
42105
42106 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42107 (grub_machine_init): Do not set the prefix here.
42108
42109 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42110
42111 * kern/efi/init.c: Include grub/mm.h.
42112 (grub_efi_set_prefix): New function.
42113
42114 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42115 (grub_efi_get_filename): New function.
42116 (grub_print_device_path): Renamed to ...
42117 (grub_efi_print_device_path): ... this.
42118
42119 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42120 [MM_DEBUG] (grub_realloc): Likewise.
42121 [MM_DEBUG] (grub_free): Likewise.
42122 [MM_DEBUG] (grub_memalign): Likewise.
42123 [MM_DEBUG] (grub_mm_debug): New variable.
42124 [MM_DEBUG] (grub_debug_malloc): New function.
42125 [MM_DEBUG] (grub_debug_free): New function.
42126 [MM_DEBUG] (grub_debug_realloc): New function.
42127 [MM_DEBUG] (grub_debug_memalign): New function.
42128
42129 * kern/misc.c (grub_abort): Print a newline to distinguish
42130 the message.
42131
42132 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42133 grub_set_root_dev after loading modules. This is necessary when
42134 setting a prefix depends on modules.
42135
42136 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42137 (grub_efi_print_device_path): ... this.
42138 (grub_efi_get_filename): New prototype.
42139 (grub_efi_set_prefix): Likewise.
42140
42141 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42142 and grub/disk.h.
42143 (grub_efidisk_get_device_handle): New prototype.
42144 (grub_efidisk_get_device_name): Likewise.
42145
42146 * include/grub/mm.h: Include config.h.
42147 (MM_DEBUG): Removed.
42148 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42149 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42150 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42151 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42152 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42153 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42154 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42155 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42156 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42157
42158 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42159
42160 * disk/efi/efidisk.c: Include grub/partition.h.
42161 (iterate_child_devices): New function.
42162 (add_device): First, compare only last device path nodes, so that
42163 devices are sorted by the types.
42164 (grub_efidisk_get_device_handle): New function.
42165 (grub_efidisk_get_device_name): Likewise.
42166
42167 * configure.ac (--enable-mm-debug): New option to enable the
42168 memory manager debugging feature. This makes the binary much
42169 bigger, so is disabled by default.
42170
9cacaa17 421712006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42172
42173 Use grub_abort instead of grub_stop, and grub_exit must be
42174 define in each architecture now. Also, this change adds support
42175 for EFI disks.
f19dbdb7 42176
9cacaa17 42177 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42178 (grub_getkey): New function.
42179 (grub_term_get_current): Likewise.
42180
42181 * util/i386/pc/grub-setup.c: Include grub/term.h.
42182 (grub_getkey): New function.
42183 (grub_term_get_current): Likewise.
42184
42185 * util/misc.c (grub_stop): Renamed to ...
42186 (grub_exit): ... this.
42187
42188 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42189 (grub_exit): ... this.
42190 (grub_machine_init): Use grub_abort instead of abort.
42191 (grub_stop): Removed.
42192
42193 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42194 abort.
42195
42196 * kern/i386/pc/startup.S (grub_exit): New function.
42197 (cold_reboot): New label.
42198
42199 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42200 (grub_efi_init): Call grub_efidisk_init.
42201 (grub_efi_fini): Call grub_efidisk_fini.
42202
42203 * kern/efi/efi.c: Include grub/mm.h.
42204 (grub_efi_console_control_guid): Renamed to ...
42205 (console_control_guid): ... this.
42206 (grub_efi_loaded_image_guid): Renamed to ...
42207 (loaded_image_guid): ... this.
42208 (grub_efi_locate_handle): New function.
42209 (grub_efi_open_protocol): Likewise.
42210 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42211 GRUB_EFI_CONSOLE_CONTROL_GUID.
42212 (grub_efi_exit): Removed.
42213 (grub_stop): Likewise.
42214 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42215 (grub_exit): New function.
42216 (grub_print_device_path): Likewise.
42217
42218 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42219 (grub_enter_rescue_mode): Register "exit".
42220
42221 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42222 (grub_abort): New function.
42223
42224 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42225
42226 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42227
42228 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42229
42230 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42231 (grub_print_device_path): New prototype.
42232 (grub_efi_locate_handle): Likewise.
42233 (grub_efi_open_protocol): Likewise.
42234
42235 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42236 * disk/efi/efidisk.c: Likewise.
42237
42238 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42239
42240 * include/grub/efi/console_control.h
42241 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42242
42243 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42244 last 8 bytes as an array.
42245 (GRUB_EFI_DISK_IO_GUID): New macro.
42246 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42247 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42248 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42249 grub_uint8_t.
42250 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42251 (struct grub_efi_device_path): Rename the member "sub_type" to
42252 "subtype".
42253 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42254 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42255 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42256 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42257 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42258 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42259 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42260 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42261 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42262 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42263 (struct grub_efi_pci_device_path): New structure.
42264 (grub_efi_pci_device_path_t): New type.
42265 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42266 (struct grub_efi_pccard_device_path): New structure.
42267 (grub_efi_pccard_device_path_t): New type.
42268 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42269 (struct grub_efi_memory_mapped_device_path): New structure.
42270 (grub_efi_memory_mapped_device_path_t): New type.
42271 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42272 (struct grub_efi_vendor_device_path): New structure.
42273 (grub_efi_vendor_device_path_t): New type.
42274 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42275 (struct grub_efi_controller_device_path): New structure.
42276 (grub_efi_controller_device_path_t): New type.
42277 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42278 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42279 (struct grub_efi_acpi_device_path): New structure.
42280 (grub_efi_acpi_device_path_t): New type.
42281 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42282 (struct grub_efi_expanded_acpi_device_path): New structure.
42283 (grub_efi_expanded_acpi_device_path_t): New type.
42284 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42285 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42286 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42287 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42288 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42289 (struct grub_efi_atapi_device_path): New structure.
42290 (grub_efi_atapi_device_path_t): New type.
42291 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42292 (struct grub_efi_fibre_channel_device_path): New structure.
42293 (grub_efi_fibre_channel_device_path_t): New type.
42294 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42295 (struct grub_efi_1394_device_path): New structure.
42296 (grub_efi_1394_device_path_t): New type.
42297 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42298 (struct grub_efi_usb_device_path): New structure.
42299 (grub_efi_usb_device_path_t): New type.
42300 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42301 (struct grub_efi_usb_class_device_path): New structure.
42302 (grub_efi_usb_class_device_path_t): New type.
42303 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42304 (struct grub_efi_i2o_device_path): New structure.
42305 (grub_efi_i2o_device_path_t): New type.
42306 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42307 (struct grub_efi_mac_address_device_path): New structure.
42308 (grub_efi_mac_address_device_path_t): New type.
42309 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42310 (struct grub_efi_ipv4_device_path): New structure.
42311 (grub_efi_ipv4_device_path_t): New type.
42312 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42313 (struct grub_efi_ipv6_device_path): New structure.
42314 (grub_efi_ipv6_device_path_t): New type.
42315 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42316 (struct grub_efi_infiniband_device_path): New structure.
42317 (grub_efi_infiniband_device_path_t): New type.
42318 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42319 (struct grub_efi_uart_device_path): New structure.
42320 (grub_efi_uart_device_path_t): New type.
42321 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42322 (struct grub_efi_vendor_messaging_device_path): New structure.
42323 (grub_efi_vendor_messaging_device_path_t): New type.
42324 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42325 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42326 (struct grub_efi_hard_drive_device_path): New structure.
42327 (grub_efi_hard_drive_device_path_t): New type.
42328 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42329 (struct grub_efi_cdrom_device_path): New structure.
42330 (grub_efi_cdrom_device_path_t): New type.
42331 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42332 (struct grub_efi_vendor_media_device_path): New structure.
42333 (grub_efi_vendor_media_device_path_t): New type.
42334 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42335 (struct grub_efi_file_path_device_path): New structure.
42336 (grub_efi_file_path_device_path_t): New type.
42337 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42338 (struct grub_efi_protocol_device_path): New structure.
42339 (grub_efi_protocol_device_path_t): New type.
42340 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42341 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42342 (struct grub_efi_bios_device_path): New structure.
42343 (grub_efi_bios_device_path_t): New type.
42344 (struct grub_efi_disk_io): New structure.
42345 (grub_efi_disk_io_t): New type.
42346 (struct grub_efi_block_io_media): New structure.
42347 (grub_efi_block_io_media_t): New type.
42348 (struct grub_efi_block_io): New structure.
42349 (grub_efi_block_io_t): New type.
42350
42351 * include/grub/misc.h (grub_stop): Removed.
42352 (grub_exit): New prototype.
42353 (grub_abort): Likewise.
42354
42355 * include/grub/disk.h (enum grub_disk_dev_id): Added
42356 GRUB_DISK_DEVICE_EFIDISK_ID.
42357
42358 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42359 disk/efi/efidisk.c.
42360 (kernel_syms.lst): Remove the target if an error occurs.
42361
49986a9f 423622006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42363
42364 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42365 as it was simply too buggy.
42366
970d3b8a 423672006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42368
42369 * kern/misc.c (grub_lltoa): New function.
42370 (grub_vsprintf): Added support for the long long suffix,
42371 i.e. "ll".
42372
ff04ec24 423732006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42374
42375 * Makefile.in (LDFLAGS): Add variable.
42376 (LD): Remove variable.
42377 * configure.ac: Add -m32 to LDFLAGS.
42378 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42379 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42380 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42381 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42382 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42383 variables.
42384 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42385 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42386 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42387
37e5e1a4 423882006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42389
42390 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42391 length for unknown glyph.
42392
c352d8dd 423932006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42394
2eab1c0d 42395 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42396
2eab1c0d 42397 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42398 completely. Accept one more argument DIR. The caller has changed.
42399
42400 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42401
42402 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42403 (grub_efi_loaded_image_guid): New variable.
42404 (grub_efi_get_loaded_image): New function.
42405 (grub_arch_modules_addr): Likewise.
42406
42407 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42408 prototype.
42409
42410 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42411 (struct grub_efi_loaded_image): New structure.
42412 (grub_efi_loaded_image_t): New type.
42413
424142006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42415
c352d8dd 42416 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42417 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42418 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42419
6d01d6b4 424202006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42421
42422 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42423
976a4ea0 424242006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42425
42426 * DISTLIST: Added include/grub/efi/console.h,
42427 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42428 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42429
42430 * include/grub/efi/console.h: New file.
42431 * include/grub/efi/time.h: Likewise.
42432 * include/grub/i386/efi/kernel.h: Likewise.
42433 * kern/efi/init.c: Likewise.
42434 * kern/efi/mm.c: Likewise.
42435 * term/efi/console.c: Likewise.
f19dbdb7 42436
976a4ea0 42437 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42438 (grub_stop): Removed.
42439 (grub_get_rtc): Likewise.
42440 (grub_machine_init): Simply call grub_efi_init.
42441 (grub_machine_fini): Call grub_efi_fini.
42442
42443 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42444 (grub_efi_output_string): Removed.
42445 (grub_efi_stall): New function.
42446 (grub_stop): Likewise.
42447 (grub_get_rtc): Likewise.
42448
42449 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42450 (grub_efi_stall): New prototype.
42451 (grub_efi_allocate_pages): Likewise.
42452 (grub_efi_free_pages): Likewise.
42453 (grub_efi_get_memory_map): Likewise.
42454 (grub_efi_mm_init): Likewise.
42455 (grub_efi_mm_fini): Likewise.
42456 (grub_efi_init): Likewise.
42457 (grub_efi_fini): Likewise.
42458
42459 * include/grub/i386/efi/time.h: Do not include
42460 grub/symbol.h. Include grub/efi/time.h.
42461 (GRUB_TICKS_PER_SECOND): Removed.
42462 (grub_get_rtc): Likewise.
42463
42464 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42465 Added padding. The EFI spec is buggy.
42466 (GRUB_EFI_BLACK): New macro.
42467 (GRUB_EFI_BLUE): Likewise.
42468 (GRUB_EFI_GREEN): Likewise.
42469 (GRUB_EFI_CYAN): Likewise.
42470 (GRUB_EFI_RED): Likewise.
42471 (GRUB_EFI_MAGENTA): Likewise.
42472 (GRUB_EFI_BROWN): Likewise.
42473 (GRUB_EFI_LIGHTGRAY): Likewise.
42474 (GRUB_EFI_BRIGHT): Likewise.
42475 (GRUB_EFI_DARKGRAY): Likewise.
42476 (GRUB_EFI_LIGHTBLUE): Likewise.
42477 (GRUB_EFI_LIGHTGREEN): Likewise.
42478 (GRUB_EFI_LIGHTCYAN): Likewise.
42479 (GRUB_EFI_LIGHTRED): Likewise.
42480 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42481 (GRUB_EFI_YELLOW): Likewise.
42482 (GRUB_EFI_WHITE): Likewise.
42483 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42484 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42485 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42486 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42487 (GRUB_EFI_BACKGROUND_RED): Likewise.
42488 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42489 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42490 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42491 (GRUB_EFI_TEXT_ATTR): Likewise.
42492
42493 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42494 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42495 (kernel_mod_HEADERS): Added efi/time.h.
42496
83709125 424972006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42498
42499 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42500 include/grub/efi/api.h, include/grub/efi/console_control.h,
42501 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42502 include/grub/i386/efi/time.h, kern/efi/efi.c,
42503 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42504 and util/i386/efi/grub-mkimage.c.
42505
42506 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42507
42508 * genmk.rb (PModule#rule): Do not export symbols if
42509 #{prefix}_EXPORTS is set to "no".
42510
42511 * conf/i386-efi.mk: New file.
42512 * conf/i386-efi.rmk: Likewise.
42513 * include/grub/efi/api.h: Likewise.
42514 * include/grub/efi/console_control.h: Likewise.
42515 * include/grub/efi/efi.h: Likewise.
42516 * include/grub/efi/pe32.h: Likewise.
42517 * include/grub/i386/efi/time.h: Likewise.
42518 * kern/efi/efi.c: Likewise.
42519 * kern/i386/efi/init.c: Likewise.
42520 * kern/i386/efi/startup.S: Likewise.
42521 * util/i386/efi/grub-mkimage.c: Likewise.
42522
425232006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42524
42525 * include/grub/script.h: Include <grub/parser.h> and
42526 "grub_script.tab.h".
42527 (struct grub_lexer_param): New struct.
42528 (struct grub_parser_param): Likewise.
42529 (grub_script_create_arglist): Pass the state in an argument.
42530 (grub_script_add_arglist): Likewise.
42531 (grub_script_create_cmdline): Likewise.
42532 (grub_script_create_cmdblock): Likewise.
42533 (grub_script_create_cmdif): Likewise.
42534 (grub_script_create_cmdmenu): Likewise.
42535 (grub_script_add_cmd): Likewise.
42536 (grub_script_arg_add): Likewise.
42537 (grub_script_lexer_ref): Likewise.
42538 (grub_script_lexer_deref): Likewise.
42539 (grub_script_lexer_record_start): Likewise.
42540 (grub_script_lexer_record_stop): Likewise.
42541 (grub_script_mem_record): Likewise.
42542 (grub_script_mem_record_stop): Likewise.
42543 (grub_script_malloc): Likewise.
42544 (grub_script_yylex): Likewise.
42545 (grub_script_yyparse): Likewise.
42546 (grub_script_yyerror): Likewise.
42547 (grub_script_yylex): Likewise.
42548 (grub_script_lexer_init): Return the state.
42549
42550 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42551 (grub_script_lexer_done): Likewise.
42552 (grub_script_lexer_getline): Likewise.
42553 (grub_script_lexer_refs): Likewise.
42554 (script): Likewise.
42555 (newscript): Likewise.
42556 (record): Likewise.
42557 (recording): Likewise.
42558 (recordpos): Likewise.
42559 (recordlen): Likewise.
42560 (grub_script_lexer_init): Return the state instead of setting
42561 global variables.
42562 (grub_script_lexer_ref): Use the newly added argument for state
42563 instead of globals.
42564 (grub_script_lexer_deref): Likewise.
42565 (grub_script_lexer_record_start): Likewise.
42566 (grub_script_lexer_record_stop): Likewise.
42567 (recordchar): Likewise.
42568 (nextchar): Likewise.
42569 (grub_script_yylex2): Likewise.
42570 (grub_script_yylex): Likewise.
42571 (grub_script_yyerror): Likewise.
42572
42573 * normal/parser.y (func_mem): Removed variable.
42574 (menu_entry): Likewise.
42575 (err): Likewise.
42576 (%lex-param): New parser option.
42577 (%parse-param): Likewise.
42578 (script): Always return the AST.
42579 (argument): Pass the state around.
42580 (arguments): Likewise.
42581 (grubcmd): Likewise.
42582 (commands): Likewise.
42583 (function): Likewise.
42584 (menuentry): Likewise.
42585 (if_statement): Likewise.
42586 (if): Likewise.
42587
42588 * normal/script.c (grub_script_memused): Removed variable.
42589 (grub_script_parsed): Likewise.
42590 (grub_script_malloc): Added a state argument. Use that instead of
42591 global variables.
42592 (grub_script_mem_record): Likewise.
42593 (grub_script_mem_record_stop): Likewise.
42594 (grub_script_arg_add): Likewise.
42595 (grub_script_add_arglist): Likewise.
42596 (grub_script_create_cmdline): Likewise.
42597 (grub_script_create_cmdif): Likewise.
42598 (grub_script_create_cmdmenu): Likewise.
42599 (grub_script_add_cmd): Likewise.
42600 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42601
e2a8c904 426022006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42603
42604 * normal/command.c (grub_command_init): Remove the title command.
42605
42606 * normal/lexer.c (grub_script_yylex): Renamed from this...
42607 (grub_script_yylex2): ... to this.
42608 (grub_script_yylex): New function. Temporary
42609 introduced to filter some tokens.
42610 (grub_script_yyerror): Print a newline.
42611
42612 * normal/main.c (read_config_file): Output information about the
42613 lines that contain errors. Wait for a key after all lines have
42614 been processed. Don't return an empty menu.
42615
42616 * normal/parser.y (func_mem): Don't initialize.
42617 (menu_entry): Likewise.
42618 (err): New variable.
42619 (script): Don't return anything when an error was encountered.
42620 (ws, returns): Removed rules.
42621 (argument): Disabled concatenated variable support.
42622 (arguments): Remove explicit separators.
42623 (grubcmd): Likewise.
42624 (function): Likewise.
42625 (menuentry): Likewise.
42626 (if): Likewise.
42627 (commands): Likewise. Add error handling.
42628
42629 * normal/script.c (grub_script_create_cmdline): If
42630 `grub_script_parsed' is 0, assume the parser encountered an error.
42631
c9a86192 426322006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42633
42634 * configure.ac: Add support for EFI. Fix the typo
42635 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42636
70f3b243 426372006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42638
42639 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42640 foreign multibyte characters should be shown correctly.
42641
65f201ad 426422006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42643
42644 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42645 calculation.
42646 (read_config_file): Made it to close file before returning.
42647
b4b93674 426482006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42649
42650 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42651 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42652 video/i386/pc/vbefill.c.
42653
42654 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42655 video/i386/pc/vbefill.c.
42656
42657 * include/grub/video.h (grub_video_blit_format): New enum.
42658 (grub_video_mode_info): Added new member blit_format.
42659 (grub_video_get_blit_format): New function prototype.
42660
42661 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42662 function prototype.
42663 (grub_video_vbe_map_rgb): Likewise.
42664 (grub_video_vbe_unmap_color): Likewise.
42665
42666 * include/grub/i386/pc/vbeblit.h: New file.
42667
42668 * include/grub/i386/pc/vbefill.h: New file.
42669
42670 * video/video.c (grub_video_get_blit_format): New function.
42671 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42672 (grub_video_vbe_map_rgb): Likewise.
42673 (grub_video_vbe_unmap_color): Likewise.
42674
42675 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42676 optimized fills.
42677 (grub_video_vbe_blit_render_target): Changed to use more optimized
42678 blits.
42679 (grub_video_vbe_setup): Added detection for optimized settings.
42680 (grub_video_vbe_create_render_target): Likewise.
42681
42682 * video/i386/pc/vbeblit.c: New file.
42683
42684 * video/i386/pc/vbefill.c: New file.
42685
c2379b9c 426862006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42687
42688 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42689 here...
42690
42691 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42692 parsing to support both hex and dec ranges. If filename was missing
42693 show usage information.
42694
bd0d7896 426952006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42696
42697 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42698 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42699
42700 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42701 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42702 (video_mod_SOURCES): Added.
42703 (video_mod_CFLAGS): Likewise.
42704 (video_mod_LDFLAGS): Likewise.
42705 (gfxterm_mod_SOURCES): Likewise.
42706 (gfxterm_mod_CFLAGS): Likewise.
42707 (gfxterm_mod_LDFLAGS): Likewise.
42708 (videotest_mod_SOURCES): Likewise.
42709 (videotest_mod_CFLAGS): Likewise.
42710 (videotest_mod_LDFLAGS): Likewise.
42711 (vesafb_mod_SOURCES): Removed.
42712 (vesafb_mod_CFLAGS): Likewise.
42713 (vesafb_mod_LDFLAGS): Likewise.
42714 (vga_mod_SOURCES): Likewise.
42715 (vga_mod_CFLAGS): Likewise.
42716 (vga_mod_LDFLAGS): Likewise.
42717
42718 * commands/videotest.c: New file.
42719
42720 * font/manager.c (fill_with_default_glyph): Modified to use
42721 grub_font_glyph.
42722 (grub_font_get_glyph): Likewise.
42723 (fontmanager): Renamed from this...
42724 (font_manager): ... to this.
42725
42726 * include/grub/font.h (grub_font_glyph): Added new structure.
42727 (grub_font_get_glyph): Modified to use grub_font_glyph.
42728
42729 * include/grub/misc.h (grub_abs): Added as inline function.
42730
42731 * include/grub/video.h: New file.
42732
42733 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42734 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42735 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42736 (grub_vbe_get_controller_info): Renamed from this...
42737 (grub_vbe_bios_get_controller_info): ... to this.
42738 (grub_vbe_get_mode_info): Renamed from this...
42739 (grub_vbe_bios_get_mode_info): ... to this.
42740 (grub_vbe_set_mode): Renamed from this...
42741 (grub_vbe_bios_set_mode): ... to this.
42742 (grub_vbe_get_mode): Renamed from this...
42743 (grub_vbe_bios_get_mode): ... to this.
42744 (grub_vbe_set_memory_window): Renamed from this...
42745 (grub_vbe_bios_set_memory_window): ... to this.
42746 (grub_vbe_get_memory_window): Renamed from this...
42747 (grub_vbe_bios_get_memory_window): ... to this.
42748 (grub_vbe_set_scanline_length): Renamed from this...
42749 (grub_vbe_set_scanline_length): ... to this.
42750 (grub_vbe_get_scanline_length): Renamed from this...
42751 (grub_vbe_bios_get_scanline_length): ... to this.
42752 (grub_vbe_set_display_start): Renamed from this...
42753 (grub_vbe_bios_set_display_start): ... to this.
42754 (grub_vbe_get_display_start): Renamed from this...
42755 (grub_vbe_bios_get_display_start): ... to this.
42756 (grub_vbe_set_palette_data): Renamed from this...
42757 (grub_vbe_bios_set_palette_data): ... to this.
42758 (grub_vbe_set_pixel_rgb): Removed.
42759 (grub_vbe_set_pixel_index): Likewise.
42760
42761 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42762 from this...
42763 (grub_vbe_bios_get_controller_info): ... to this.
42764 (grub_vbe_get_mode_info): Renamed from this...
42765 (grub_vbe_bios_get_mode_info): ... to this.
42766 (grub_vbe_set_mode): Renamed from this...
42767 (grub_vbe_bios_set_mode): ... to this.
42768 (grub_vbe_get_mode): Renamed from this...
42769 (grub_vbe_bios_get_mode): ... to this.
42770 (grub_vbe_set_memory_window): Renamed from this...
42771 (grub_vbe_bios_set_memory_window): ... to this.
42772 (grub_vbe_get_memory_window): Renamed from this...
42773 (grub_vbe_bios_get_memory_window): ... to this.
42774 (grub_vbe_set_scanline_length): Renamed from this...
42775 (grub_vbe_set_scanline_length): ... to this.
42776 (grub_vbe_get_scanline_length): Renamed from this...
42777 (grub_vbe_bios_get_scanline_length): ... to this.
42778 (grub_vbe_set_display_start): Renamed from this...
42779 (grub_vbe_bios_set_display_start): ... to this.
42780 (grub_vbe_get_display_start): Renamed from this...
42781 (grub_vbe_bios_get_display_start): ... to this.
42782 (grub_vbe_set_palette_data): Renamed from this...
42783 (grub_vbe_bios_set_palette_data): ... to this.
42784 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42785 getting corrupted after calling it. Added more pushes and pops.
42786 (grub_vbe_bios_set_mode): Likewise.
42787 (grub_vbe_bios_get_mode): Likewise.
42788 (grub_vbe_bios_get_memory_window): Likewise.
42789 (grub_vbe_bios_set_scanline_length): Likewise.
42790 (grub_vbe_bios_get_scanline_length): Likewise.
42791 (grub_vbe_bios_get_display_start): Likewise.
42792 (grub_vbe_bios_set_palette_data): Likewise.
42793
42794 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42795 (cl_insert): Likewise.
42796 (cl_delete): Likewise.
42797
42798 * term/gfxterm.c: New file.
42799
42800 * term/i386/pc/vesafb.c: Removed file.
42801
42802 * video/video.c: New file.
42803
42804 * video/i386/pc/vbe.c (real2pm): Added new function.
42805 (grub_video_vbe_draw_pixel): Likewise.
42806 (grub_video_vbe_get_video_ptr): Likewise.
42807 (grub_video_vbe_get_pixel): Likewise
42808 (grub_video_vbe_init): Likewise.
42809 (grub_video_vbe_fini): Likewise.
42810 (grub_video_vbe_setup): Likewise.
42811 (grub_video_vbe_get_info): Likewise.
42812 (grub_video_vbe_set_palette): Likewise.
42813 (grub_video_vbe_get_palette): Likewise.
42814 (grub_video_vbe_set_viewport): Likewise.
42815 (grub_video_vbe_get_viewport): Likewise.
42816 (grub_video_vbe_map_color): Likewise.
42817 (grub_video_vbe_map_rgb): Likewise.
42818 (grub_video_vbe_map_rgba): Likewise.
42819 (grub_video_vbe_unmap_color): Likewise.
42820 (grub_video_vbe_fill_rect): Likewise.
42821 (grub_video_vbe_blit_glyph): Likewise.
42822 (grub_video_vbe_blit_bitmap): Likewise.
42823 (grub_video_vbe_blit_render_target): Likewise.
42824 (grub_video_vbe_scroll): Likewise.
42825 (grub_video_vbe_swap_buffers): Likewise.
42826 (grub_video_vbe_create_render_target): Likewise.
42827 (grub_video_vbe_delete_render_target): Likewise.
42828 (grub_video_vbe_set_active_render_target): Likewise.
42829 (grub_vbe_set_pixel_rgb): Remove function.
42830 (grub_vbe_set_pixel_index): Likewise.
42831 (index_color_mode): Remove static variable.
42832 (active_mode): Likewise.
42833 (framebuffer): Likewise.
42834 (bytes_per_scan_line): Likewise.
42835 (grub_video_vbe_adapter): Added new static variable.
42836 (framebuffer): Likewise.
42837 (render_target): Likewise.
42838 (initial_mode): Likewise.
42839 (mode_in_use): Likewise.
42840 (mode_list): Likewise.
42841
5f97350b 428422006-03-10 Marco Gerards <marco@gnu.org>
42843
42844 * configure.ac (AC_INIT): Bumped to 1.93.
42845
42846 * DISTLIST: Added `include/grub/hfs.h'.
42847
a3c5c6f8 428482006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42849
42850 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42851 18H, which might help the BIOS falling back to next boot media.
42852
6de53d26 428532006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42854
42855 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42856 Poe Chen <poe.poechen@gmail.com>.
42857
77c4a393 428582006-01-17 Marco Gerards <marco@gnu.org>
42859
42860 * include/grub/normal.h: Include <grub/script.h>.
42861 (grub_command_list): Removed struct.
42862 (grub_command_list_t): Removed type.
42863 (grub_menu_entry): Remove members `num' and `command_list'. Add
42864 members `commands' and `sourcecode'.
42865 * include/grub/script.h: Add inclusion guards.
42866 (grub_script_cmd_menuentry): New struct.
42867 (grub_script_execute_menuentry): New prototype.
42868 (grub_script_lexer_record_start): Likewise.
42869 (grub_script_lexer_record_stop): Likewise.
42870 * normal/execute.c (grub_script_execute_menuentry): New function.
42871 * normal/lexer.c (record, recording, recordpos, recordlen): New
42872 variables.
42873 (grub_script_lexer_record_start): New function.
42874 (grub_script_lexer_record_stop): Likewise.
42875 (recordchar): Likewise.
42876 (nextchar): Likewise.
42877 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42878 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42879 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42880 (current_menu): New variable.
42881 (free_menu): Mainly rewritten.
42882 (grub_normal_menu_addentry): New function.
42883 (read_config_file): Rewritten.
42884 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42885 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42886 the menu entry.
42887 (run): Mainly rewritten.
42888 * normal/parser.y (menu_entry): New variable.
42889 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42890 (menuentry): New rule.
42891 (command): Add `menuentry'.
42892 (if_statement): Allow additional returns before `fi'.
42893 * normal/script.c (grub_script_create_cmdmenu): New function.
42894
144f1f98 428952006-01-03 Marco Gerards <marco@gnu.org>
42896
42897 * INSTALL: GNU Bison is required.
42898 * configure.ac: Rewritten the test to detect Bison.
42899 * Makefile.in (YACC): New variable. Reported by Xun Sun
42900 <xun.sun.cn@gmail.com>.
42901
af4b2d89 429022006-01-03 Marco Gerards <marco@gnu.org>
42903
42904 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42905 the HFS+ filesystem to filesystem blocks.
42906 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42907 GCC warning is silenced.
42908
15643b71 429092006-01-03 Marco Gerards <marco@gnu.org>
42910
42911 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42912 read from disk from big endian to host byte order.
42913
00905879 429142006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42915
42916 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42917 documentation.
42918 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42919 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42920 embedded HFS+ filesystem.
42921 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42922 (grub_hfs_sblock): Move from here...
42923 * include/grub/hfs.h: To here... New file.
42924 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42925 documentation.
42926 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42927 New macros.
42928 (grub_hfsplus_volheader): Change type of member `magic' to
42929 `grub_uint16_t'.
42930 (grub_hfsplus_data): Add new member `embedded_offset'.
42931 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42932 returned block.
42933 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42934 Calculate the offset.
42935
8899bc3e 429362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42937
42938 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42939 Removed.
42940 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42941
ae8c0277 429422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42943
42944 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42945 ENV->NAME is NULL after allocating ENV->VALUE.
42946
07084456 429472005-12-25 Marco Gerards <marco@gnu.org>
42948
42949 * kern/env.c (grub_env_set): Rewritten the error handling code.
42950
4750f5f1 429512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42952
42953 * geninit.sh: Made more robust, and more portable.
42954
50214199 429552005-12-25 Marco Gerards <marco@gnu.org>
42956
42957 Add support for Apple HFS+ filesystems.
f19dbdb7 42958
50214199 42959 * fs/hfsplus.c: New file.
42960
42961 * DISTLIST: Added `fs/hfsplus.c'.
42962
42963 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42964 (hfsplus_mod_SOURCES): New variable.
42965 (hfsplus_mod_CFLAGS): Likewise.
42966 (hfsplus_mod_LDFLAGS): Likewise.
42967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42968 (grub_setup_SOURCES): Likewise.
42969 (grub_mkdevicemap_SOURCES): Likewise.
42970 (grub_emu_SOURCES): Likewise.
42971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42972
42973 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42974
42975 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42976
befaed6c 429772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42978
42979 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42980 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42981 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42982 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42983 normal/lexer.c, normal/parser.y, normal/script.c, and
42984 partmap/gpt.c.
42985 Removed kern/sparc64/cache.c.
42986
42987 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42988 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42989 grub_emu_init.c.
42990
42991 * configure.ac (AC_INIT): Bumped to 1.92.
42992
6a124103 429932005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42994
42995 * kern/err.c (grub_error_push): Added new function to support error
42996 stacks.
42997 (grub_error_pop): Likewise.
42998 (grub_error_stack_items): New local variable to support error stacks.
42999 (grub_error_stack_pos): Likewise.
43000 (grub_error_stack_assert): Likewise.
43001 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43002 stack depth.
43003 (grub_print_error): Added support to print errors from error stack.
43004
43005 * include/grub/err.h (grub_error_push): Added function prototype.
43006 (grub_error_pop): Likewise.
43007
be973c1b 430082005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43009
43010 * configure.ac: Accept `powerpc64' as host_cpu.
43011 (amd64): Rename to `biarch32'.
43012
43013 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43014 non-cacheline-aligned addresses.
43015
43016 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43017 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43018 if `size' is non-zero.
43019
b04216ab 430202005-12-03 Marco Gerards <mgerards@xs4all.nl>
43021
43022 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43023 and `cd' to make sure the filename is not prefixed with a
43024 directory name.
43025 (pkgdata_MODULES): Add `gpt.mod'.
43026 (gpt_mod_SOURCES): New variable.
43027 (gpt_mod_CFLAGS): Likewise.
43028 (gpt_mod_LDFLAGS): Likewise.
43029
43030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43031
43032 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43033 New macro.
43034
43035 * partmap/gpt.c: New file.
43036
43037 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43038 GPT partition map is detected.
43039
41730ed9 430402005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43041
43042 * commands/i386/pc/play.c: New file.
43043 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43044 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43045 macros.
f19dbdb7 43046
95dc3643 430472005-11-27 Marco Gerards <mgerards@xs4all.nl>
43048
43049 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43050 ((unused))' to silence gcc warning.
43051
1569ec51 430522005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43053
43054 * configure.ac: Correct `AC_PROG_YACC' test.
43055
9abde152 430562005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43057
43058 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43059 check before installing files.
43060
44b83271 430612005-11-22 Mike Small <smallm@panix.com>
43062
43063 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43064 number regex so multidigit numbers are recognized correctly.
43065
430662005-11-22 Mike Small <smallm@panix.com>
43067
43068 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43069 debugging message before attempting to claim memory.
43070 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43071 multiple addresses in case of failure.
43072
9c12956b 430732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43074
43075 * term/tparm.c (get_space): Remove empty `if' statement.
43076
43077 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43078
43079 * kern/parser.c (check_varstate): Rename `state' to 's'.
43080
aeaf81d9 430812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43082
43083 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43084 variable definitions to the beginning of each function. Sort stack
43085 variables by size.
43086 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43087 `buf' argument to `char *'.
43088
79bbb63f 430892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43090
43091 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43092 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43093 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43094 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43095 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43096 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43097 configfile.mod, search.mod, gzio.mod and test.mod.
43098 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43099 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43100 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43101 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43102 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43103 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43104 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43105 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43106 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43107 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43108 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43109 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43110 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43111 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43112 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43113 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43114 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43115 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43116 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43117 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43118 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43119 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43120 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43121
43122 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43123 `grep --include'.
43124 (pkgdata_MODULES): Add test.mod.
43125
233b1628 431262005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43127
43128 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43129 appending to variables with "+=".
43130 (PModule): Use full pathname to generate *.lst filenames.
43131
43132 * Makefile.in: Fixed list rules moved from genmk.rb.
43133 (.DELETE_ON_ERROR): New special target.
43134 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43135
43136 * conf/i386-pc.rmk: Include conf/common.mk.
43137 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43138 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43139 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43140 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43141 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43142 configfile.mod, search.mod, gzio.mod and test.mod.
43143 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43144 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43145 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43146 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43147 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43148 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43149 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43150 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43151 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43152 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43153 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43154 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43155 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43156 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43157 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43158 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43159 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43160 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43161 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43162 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43163 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43164 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43165 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43166 here...
43167 * conf/common.rmk: ... to here. New file.
43168
43169 * conf/common.mk: New file.
43170
16f820c8 431712005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43172
43173 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43174 (grub_script.tab.c): ... here.
43175
43176 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43177 (grub_script.tab.c): ... here.
43178
43179 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43180 (grub_script.tab.c): ... here.
43181
43182 * normal/command.c (grub_command_find): Fixed a memory leak of
43183 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43184
63ba1554 431852005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43186
43187 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43188 "@" which marks the start of a comment on ARM.
43189 (VARIABLE): Likewise.
43190
7f67dc13 431912005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43192
79bbb63f 43193 Add support for Linux/ADFS partition tables.
7f67dc13 43194
43195 * partmap/acorn.c: New file.
43196
43197 * include/grub/acorn_filecore.h: Likewise.
43198
43199 * DISTLIST: Added `partmap/acorn.c' and
43200 `include/grub/acorn_filecore.h'.
f19dbdb7 43201
7f67dc13 43202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43203 `partmap/acorn.c'.
43204 (pkgdata_MODULES): Add `acorn.mod'.
43205 (acorn_mod_SOURCES): New variable.
43206 (acorn_mod_CFLAGS): Likewise.
43207
43208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43209 `partmap/acorn.c'.
43210 (pkgdata_MODULES): Add `acorn.mod'.
43211 (acorn_mod_SOURCES): New variable.
43212 (acorn_mod_CFLAGS): Likewise.
43213
43214 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43215 (pkgdata_MODULES): Add `acorn.mod'.
43216 (acorn_mod_SOURCES): New variable.
43217 (acorn_mod_CFLAGS): Likewise.
43218 (acorn_mod_LDFLAGS): Likewise.
43219
43220 * include/types.h (grub_disk_addr_t): New typedef.
43221
6d099807 432222005-11-13 Marco Gerards <mgerards@xs4all.nl>
43223
43224 * geninit.sh: New file.
43225
43226 * geninitheader.sh: Likewise.
43227
43228 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43229 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43230 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43231 * commands/configfile.c (grub_configfile_init)
43232 (grub_configfile_fini): Likewise.
43233 * commands/default.c (grub_default_init, grub_default_fini):
43234 Likewise.
43235 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43236 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43237 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43238 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43239 Likewise.
43240 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43241 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43242 Likewise.
43243 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43244 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43245 Likewise.
43246 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43247 Likewise.
fe6b695a 43248 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43249 Likewise.
43250 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43251 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43252 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43253 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43254 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43255 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43256 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43257 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43258 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43259 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43260 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43261 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43262 * partmap/amiga.c (grub_amiga_partition_map_init)
43263 (grub_amiga_partition_map_fini): Likewise.
43264 * partmap/apple.c (grub_apple_partition_map_init)
43265 (grub_apple_partition_map_fini): Likewise.
43266 * partmap/pc.c (grub_pc_partition_map_init)
43267 (grub_pc_partition_map_fini): Likewise.
43268 * partmap/sun.c (grub_sun_partition_map_init,
43269 grub_sun_partition_map_fini): Likewise.
43270 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43271 Likewise.
43272
43273 * util/grub-emu.c: Include <grub_modules_init.h>.
43274 (main): Don't initialize and de-initialize any modules directly,
43275 use `grub_init_all' and `grub_fini_all' instead.
43276
43277 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43278 `grub_vesafb_mod_init'.
43279 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43280 all users.
43281 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43282 `grub_vga_mod_init'. Updated all users.
43283 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43284
6d099807 43285 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43286 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43287 rules.
43288
43289 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43290 Generate a function to initialize the module in utilities.
43291 Updated all callers.
43292 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43293 initialize the module in utilities. Updated all callers.
43294
9046bcf0 432952005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43296
43297 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43298 escape sequence and a literal ^L to clear the screen.
43299
43300 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43301 when returning from Open Firmware.
43302
d13ea639 433032005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43304
43305 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43306 (grub_ofconsole_height): Likewise.
43307 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43308 manually insert a '\n'.
43309 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43310 `grub_ofconsole_height'. Return early if these are already set.
43311
a8fcf206 433122005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43313
43314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43315 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43316 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43317 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43318 and `normal/script.c'.
43319 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43320 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43321 (test_mod_SOURCES): New variable.
43322 (test_mod_CFLAGS): Likewise.
43323 (test_mod_LDFLAGS): Likewise.
43324 (pkgdata_MODULES): Add `test.mod'.
43325 (grub_script.tab.c): New rule.
43326 (grub_script.tab.h): Likewise.
43327
b6b32745 433282005-11-07 Marco Gerards <mgerards@xs4all.nl>
43329
43330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43331 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43332 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43333 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43334 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43335 (test_mod_SOURCES): New variable.
43336 (test_mod_CFLAGS): Likewise.
43337 (pkgdata_MODULES): Add `test.mod'.
43338 (grub_script.tab.c): New rule.
43339 (grub_script.tab.h): Likewise.
43340
daac212a 433412005-11-06 Marco Gerards <mgerards@xs4all.nl>
43342
43343 Add initial scripting support.
43344
43345 * commands/test.c: New file.
43346 * include/grub/script.h: Likewise.
43347 * normal/execute.c: Likewise.
43348 * normal/function.c: Likewise.
43349 * normal/lexer.c: Likewise.
43350 * normal/parser.y: Likewise.
43351 * normal/script.c: Likewise.
43352
43353 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43354
daac212a 43355 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43356 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43357 `normal/function.c' and `normal/script.c'.
43358 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43359 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43360 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43361 variables.
daac212a 43362 (pkgdata_MODULES): Add `test.mod'.
43363 (grub_script.tab.c): New rule.
43364 (grub_script.tab.h): Likewise.
43365
43366 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43367
43368 * include/grub/normal.h (grub_test_init): New prototype.
43369 (grub_test_fini): Likewise.
f19dbdb7 43370
daac212a 43371 * normal/command.c: Include <grub/script.h>.
43372 (grub_command_execute): Rewritten.
f19dbdb7 43373
daac212a 43374 * util/grub-emu.c (main): Call `grub_test_init' and
43375 `grub_test_fini'.
43376
77500b2b 433772005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43378
43379 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43380 to 0.
43381 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43382 there are no pending characters.
43383
e45deb9e 433842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43385
43386 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43387 `grub_strndup' to drop device arguments. Replace unnecessary
43388 `grub_strndup' with `grub_strdup'.
43389
4ce32619 433902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43391
43392 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43393 `debug' environment variable has been set.
43394
433952005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43396
4ce32619 43397 * Makefile.in (install-local): Use $(DATA).
43398 (uninstall): Likewise.
43399 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43400 (sbin_UTILITIES): ... to here.
43401 (sbin_SCRIPTS): New variable.
43402 (grub_install_SOURCES): New variable.
43403 * util/powerpc/ieee1275/grub-install.in: New file.
43404 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43405 variable.
43406 (add_segments): Call `grub_util_get_path'.
43407
25fe6f03 434082005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43409
43410 From Timothy Baldwin:
43411 * commands/ls.c (grub_ls_list_files): Close FILE with
43412 grub_file_close.
43413 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43414
04ccf3ec 434152005-10-24 Marco Gerards <mgerards@xs4all.nl>
43416
43417 * include/grub/parser.h: New file.
43418
43419 * kern/parser.c: Likewise.
43420
43421 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43422 (grub_setup_SOURCES): Likewise.
43423 (grub_probefs_SOURCES): Likewise.
43424 (grub_emu_SOURCES): Likewise.
43425 (kernel_img_HEADERS): Add `parser.h'.
43426
43427 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43428 (grub_emu_SOURCES): Add `kern/parser.c'.
43429 (grubof_SOURCES): Likewise.
43430
43431 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43432 (grubof_SOURCES): Add `kern/parser.c'.
43433
43434 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43435
43436 * kern/misc.c (grub_split_cmdline): Removed function.
43437
43438 * kern/rescue.c: Include <grub/parser.h>.
43439 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43440 of `grub_split_cmdline'.
43441
43442 * normal/command.c: Include <grub/parser.h>.
43443 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43444 of `grub_split_cmdline'.
43445
43446 * normal/completion.c: Include <grub/parser.h>.
43447 (cmdline_state): New variable.
43448 (iterate_dir): End the filename with a quote depending on the
43449 command line state.
43450 (get_state): new function.
43451 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43452 split the arguments and determine the current argument. When the
43453 argument string is not quoted, escape all spaces.
43454
6d8f4b0e 434552005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43456
43457 * normal/sparc64/setjmp.S: New file.
43458
15cf03ed 434592005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43460
43461 * include/grub/sparc64/libgcc.h: New file.
43462 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43463 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43464 normal/sparc64/setjmp.c.
43465
03e8661a 434662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43467
43468 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43469 * kern/sparc64/cache.S: New file.
43470 * kern/sparc64/cache.c: Removed.
43471 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43472 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43473 -mtune=ultrasparc.
43474 (COMMON_LDFLAGS): Add -melf64_sparc.
43475 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43476 (grubof_SOURCES): Use cache.S instead of cache.c.
43477 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43478 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43479 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43480 commented though.
43481 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43482 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43483 (linux_mod_CFLAGS): Commented out.
43484 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43485 out because module isn't built.
43486 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43487 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43488 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43489 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43490 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43491 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43492 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43493 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43494 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43495 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43496 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43497 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43498 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43499 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43500
34eeec8a 435012005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43502
43503 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43504 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43505 longer, because HFS should not be used on PC.
43506
708367a3 435072005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43508
43509 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43510 consistently within the loop.
43511
6fa1251a 435122005-10-15 Marco Gerards <mgerards@xs4all.nl>
43513
43514 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43515 directory can not be read.
43516
4801580b 435172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43518
43519 * configure.ac (AC_INIT): Increase the version number to 1.91.
43520
43521 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43522 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43523 term/i386/pc/serial.c.
43524
219ad426 435252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43526
43527 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43528 file size must be permitted.
43529
43530 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43531 between %ah and %al.
43532
688e5699 435332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43534
43535 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43536 grub_uint64_t.
43537 Call the hook with a NUL-terminated filename.
43538 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43539 grub_cpu_to_be32.
43540
43541 * kern/term.c (cursor_state): New variable.
43542 (grub_term_set_current): Reset the cursor state on a new
43543 terminal.
43544 (grub_setcursor): Rewritten to use CURSOR_STATE.
43545 (grub_getcursor): New function.
43546
43547 * include/grub/term.h (grub_getcursor): New prototype.
43548
43549 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43550 integers on ARM. Reported by Timothy Baldwin
43551 <T.E.Baldwin99@members.leeds.ac.uk>.
43552
bb34586c 435532005-10-11 Marco Gerards <mgerards@xs4all.nl>
43554
43555 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43556 allocated.
43557 (grub_sfs_dir): Likewise.
43558
9a909877 435592005-10-09 Marco Gerards <mgerards@xs4all.nl>
43560
43561 Add support for the SFS filesystem.
43562
43563 * fs/sfs.c: New file.
43564
43565 * DISTLIST: Added `fs/sfs.c'.
43566
43567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43568 (grub_probefs_SOURCES): Likewise.
43569 (grub_emu_SOURCES): Likewise.
43570 (pkgdata_MODULES): Add `sfs.mod'.
43571 (sfs_mod_SOURCES): New variable.
43572 (sfs_mod_CFLAGS): Likewise.
43573 (sfs_mod_LDFLAGS): Likewise.
43574
43575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43576 (pkgdata_MODULES): Add `sfs.mod'.
43577 (sfs_mod_SOURCES): New variable.
43578 (sfs_mod_CFLAGS): Likewise.
43579
43580 * util/grub-emu.c (main): Call `grub_sfs_init' and
43581 `grub_sfs_fini'.
43582
43583 * include/grub/fs.h (grub_sfs_init): New prototype.
43584 (grub_sfs_fini): Likewise.
43585
57bdbde3 435862005-10-07 Marco Gerards <mgerards@xs4all.nl>
43587
43588 Add support for the AFFS filesystem.
43589
43590 * fs/affs.c: New file.
43591
43592 * DISTLIST: Added `fs/affs.c'.
43593
43594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43595 (grub_probefs_SOURCES): Likewise.
43596 (grub_emu_SOURCES): Likewise.
43597 (pkgdata_MODULES): Add `affs.mod'.
43598 (affs_mod_SOURCES): New variable.
43599 (affs_mod_CFLAGS): Likewise.
43600 (affs_mod_LDFLAGS): Likewise.
43601
43602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43603 (pkgdata_MODULES): Add `affs.mod'.
43604 (affs_mod_SOURCES): New variable.
43605 (affs_mod_CFLAGS): Likewise.
43606
43607 * util/grub-emu.c (main): Call `grub_affs_init' and
43608 `grub_affs_fini'.
43609
43610 * include/grub/fs.h (grub_affs_init): New prototype.
43611 (grub_affs_fini): Likewise.
43612
047b67e0 436132005-10-01 Marco Gerards <mgerards@xs4all.nl>
43614
43615 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43616
59b8208a 436172005-10-01 Marco Gerards <mgerards@xs4all.nl>
43618
43619 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43620 `-m32' to CFLAGS.
43621
43622 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43623 linking.
f19dbdb7 43624
59b8208a 43625 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43626 (COMMON_LDFLAGS): New variable.
43627 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43628 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43629 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43630 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43631 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43632 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43633 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43634 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43635 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43636 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43637 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43638 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43639 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43640 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43641 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43642 variables.
43643 (normal_mod_ASFLAGS): Add `-m32'.
43644
43645 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43646 (grub_host_size_t, grub_host_ssize_t): New types.
43647 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43648 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43649 `GRUB_HOST_SIZEOF_VOID_P'.
43650
43651 * include/grub/kernel.h (struct grub_module_header): Type of
43652 member offset changed to `grub_host_off_t'. Type of member size
43653 changed to `grub_host_size_t'.
43654 (struct grub_module_info): Type of member offset changed to
43655 `grub_host_off_t'. Type of member size changed to
43656 `grub_host_size_t'.
43657
b4093103 436582005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43659
43660 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43661
b4093103 43662 * kern/i386/pc/startup.S (multiboot_header): New label.
43663 (multiboot_entry): Likewise.
43664 (multiboot_trampoline): Likewise.
43665
43666 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43667 Increased to 0x4A0.
43668
43669 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43670 put parentheses after a question mark.
43671 [!GRUB_UTIL] (my_mod): New variable.
43672
43673 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43674
b2499b29 436752005-09-28 Marco Gerards <mgerards@xs4all.nl>
43676
43677 Adds support for the XFS filesystem. Btrees are not supported
43678 yet.
43679
43680 * fs/xfs.c: New file.
43681
43682 * DISTLIST: Added `fs/xfs.c'.
43683
43684 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43685 (grub_probefs_SOURCES): Likewise.
43686 (grub_emu_SOURCES): Likewise.
43687 (pkgdata_MODULES): Add `xfs.mod'.
43688 (xfs_mod_SOURCES): New variable.
43689 (xfs_mod_CFLAGS): Likewise.
43690
43691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43692 (pkgdata_MODULES): Add `xfs.mod'.
43693 (xfs_mod_SOURCES): New variable.
43694 (xfs_mod_CFLAGS): Likewise.
43695
43696 * util/grub-emu.c (main): Call `grub_xfs_init' and
43697 `grub_xfs_fini'.
43698
43699 * include/grub/fs.h (grub_xfs_init): New prototype.
43700 (grub_xfs_fini): Likewise.
43701
f19dbdb7 43702
83d37a62 437032005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43704
43705 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43706 color modes, allow greater than 16 colors to be configured as
43707 a default palette.
43708
47d2d65e 437092005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43710
43711 * normal/completion.c (complete_arguments): Add the qualifier
43712 const into OPTIONS.
43713
43714 From Omniflux <omniflux+lists@omniflux.com>:
43715 * include/grub/terminfo.h: New file.
43716 * include/grub/tparm.h: Likewise.
43717 * include/grub/i386/pc/serial.h: Likewise.
43718 * term/terminfo.c: Likewise.
43719 * term/tparm.c: Likewise.
43720 * term/i386/pc/serial.c: Likewise.
43721 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43722 serial.mod.
43723 (terminfo_mod_SOURCES): New variable.
43724 (terminfo_mod_CFLAGS): Likewise.
43725 (serial_mod_SOURCES): Likewise.
43726 (serial_mod_CFLAGS): Likewise.
43727
48b671ff 437282005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43729
43730 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43731 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43732 and kern/powerpc/ieee1275/cmain.c, respectively.
43733
43734 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43735 * kern/powerpc/ieee1275/crt0.S: ... here.
43736
43737 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43738 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43739
48b671ff 43740 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43741 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43742 instead of boot/powerpc/ieee1275/crt0.S and
43743 boot/powerpc/ieee1275/cmain.c, respectively.
43744
43745 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43746 sectors. It was not used anyway.
43747
09fc77a7 437482005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43749
43750 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43751 `unused parameter' warning.
43752
003789c7 437532005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43754
43755 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43756 function.
43757 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43758 getcharwidth.
43759
67f44c86 437602005-08-28 Marco Gerards <metgerards@student.han.nl>
43761
43762 * include/grub/normal.h (enum grub_completion_type): Added
43763 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43764
43765 * normal/cmdline.c (print_completion): Handle
43766 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43767 * normal/menu_entry.c (store_completion): Likewise.
43768
43769 * normal/completion.c (complete_arguments): New function.
43770 (grub_normal_do_completion): Call `complete_arguments' when the
43771 current words start with a dash.
43772
0b5abe02 437732005-08-27 Marco Gerards <metgerards@student.han.nl>
43774
43775 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43776 `gzio.mod' instead of `io.mod').
43777
d9864ee1 437782005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43779
43780 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43781 (DISTDIRS): Added io and video.
43782 Rewrite the search routine to make an output consistently.
43783
43784 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43785 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43786 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43787 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43788 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43789 util/powerpc/ieee1275/misc.c.
f19dbdb7 43790
d9864ee1 43791 * include/grub/gzio.h: New file.
43792 * io/gzio.c: Likewise.
f19dbdb7 43793
d9864ee1 43794 * kern/file.c (grub_file_close): Call grub_device_close only if
43795 FILE->DEVICE is not NULL.
43796
43797 * include/grub/mm.h [!NULL] (NULL): New macro.
43798
43799 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43800
43801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43802 (pkgdata_MODULES): Added gzio.mod.
43803 (gzio_mod_SOURCES): New variable.
43804 (gzio_mod_CFLAGS): Likewise.
43805
43806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43807 (pkgdata_MODULES): Added gzio.mod.
43808 (gzio_mod_SOURCES): New variable.
43809 (gzio_mod_CFLAGS): Likewise.
43810
43811 * commands/cat.c: Include grub/gzio.h.
43812 (grub_cmd_cat): Use grub_gzfile_open instead of
43813 grub_file_open.
f19dbdb7 43814
d9864ee1 43815 * commands/cmp.c: Include grub/gzio.h.
43816 (grub_cmd_cmp): Use grub_gzfile_open instead of
43817 grub_file_open.
43818
43819 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43820 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43821 grub_file_open.
43822 (grub_rescue_cmd_module): Likewise.
43823
fa46f4b5 438242005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43825
43826 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43827 kern/sparc64/ieee1275/init.c because it contains _start.
43828 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43829
e9211b5d 438302005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43831
43832 * configure.ac: Add support for sparc64 host with ieee1275
43833 firmware.
43834 * configure: Generated from configure.ac.
43835 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43836 instead of int.
43837 (grub_ofdisk_read): Likewise.
43838 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43839 pointers as (void *) to remove a warning.
43840 (grub_ofdisk_close): Likewise.
43841 (grub_ofdisk_read): Likewise.
43842 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43843 returns, so make it return void to remove a warning.
43844 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43845 Corresponding prototype change.
43846 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43847 values, and cast the pointers as (void *) to remove a warning.
43848 (grub_mm_dump): Likewise.
43849 * conf/sparc64-ieee1275.mk: New file.
43850 * conf/sparc64-ieee1275.rmk: Likewise.
43851 * include/grub/sparc64/setjmp.h: Likewise.
43852 * include/grub/sparc64/types.h: Likewise.
43853 * include/grub/sparc64/ieee1275/console.h: Likewise.
43854 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43855 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43856 * include/grub/sparc64/ieee1275/time.h: Likewise.
43857 * kern/sparc64/cache.c: Likewise.
43858 * kern/sparc64/dl.c: Likewise.
43859 * kern/sparc64/ieee1275/init.c: Likewise.
43860 * kern/sparc64/ieee1275/openfw.c: Likewise.
43861
385c6a92 438622005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43863
43864 * util/console.c (grub_ncurses_putchar): If C is greater than
43865 0x7f, set C to a question mark.
43866 (grub_ncurses_getcharwidth): New function.
43867 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43868 getcharwidth.
43869
43870 * normal/menu.c (print_entry): Made aware of Unicode. First,
43871 convert TITLE to UCS-4, and predict the cursor position by
43872 grub_getcharwidth.
43873
43874 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43875 const to SRC.
43876 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43877
16ccb8b1 438782005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43879
43880 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43881 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43882 grub_strcat.
43883
43884 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43885 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43886 grub_strcpy and grub_strlen. Take it into account that a space
43887 character is inserted as a delimiter.
43888
6a85ce79 438892005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43890
43891 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43892 invalid magic in the error.
6a85ce79 43893
43894 * commands/search.c: New file.
f19dbdb7 43895
6a85ce79 43896 * util/grub-emu.c (main): Call grub_search_init and
43897 grub_search_fini.
43898
43899 * kern/rescue.c (grub_rescue_print_disks): Removed.
43900 (grub_rescue_print_devices): New function.
43901 (grub_rescue_cmd_ls): Use grub_device_iterate with
43902 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43903 grub_rescue_print_disks.
43904
43905 * kern/partition.c (grub_partition_iterate): Return the result of
43906 PARTMAP->ITERATE instead of GRUB_ERRNO.
43907
43908 * kern/device.c: Include grub/partition.h.
43909 (grub_device_iterate): New function.
43910
43911 * include/grub/partition.h (grub_partition_iterate): Return int
43912 instead of grub_err_t.
43913
43914 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43915 prototype.
43916 [GRUB_UTIL] (grub_search_fini): Likewise.
43917
43918 * include/grub/device.h (grub_device_iterate): New prototype.
43919
43920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43921 commands/search.c.
43922 (pkgdata_MODULES): Added search.mod.
43923 (search_mod_SOURCES): New variable.
43924 (search_mod_CFLAGS): Likewise.
43925
43926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43927 (pkgdata_MODULES): Added search.mod.
43928 (search_mod_SOURCES): New variable.
43929 (search_mod_CFLAGS): Likewise.
43930
43931 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43932 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43933 All callers changed.
43934
43935 * DISTLIST: Added commands/search.c.
43936
ef095434 439372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43938
43939 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43940 conversion.
43941 (grub_getcharwidth): New function.
43942
43943 * kern/misc.c (grub_utf8_to_ucs4): New function.
43944
43945 * include/grub/term.h (struct grub_term): Added a new member
43946 "getcharwidth".
43947 (grub_getcharwidth): New prototype.
43948
43949 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43950
43951 * term/i386/pc/console.c (map_char): New function. Segregated from
43952 grub_console_putchar.
43953 (grub_console_putchar): Use map_char.
43954 (grub_console_getcharwidth): New function.
43955 (grub_console_term): Specified grub_console_getcharwidth as
43956 getcharwidth.
43957
43958 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43959 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43960
43961 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43962 GRUB_ERRNO.
43963 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43964 on grub_strtoul completely.
43965 (write_char): Declare local variables in the beginning of the
43966 function.
43967 (grub_vesafb_getcharwidth): New function.
43968 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43969 getcharwidth.
43970
1f0a95e4 439712005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43972
43973 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43974 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43975 commands/i386/pc/vbetest.c.
43976
43977 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43978 call grub_vbe_get_controller_info again, because the returned
43979 information is volatile.
43980 (grub_vbe_set_video_mode): Mostly rewritten.
43981 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43982 grub_vbe_status_t correctly.
43983 (grub_vbe_get_video_mode_info): Likewise.
43984 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43985 several if statements.
43986
43987 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43988 * commands/i386/pc/vbeinfo.c: ... this.
43989
43990 * commands/i386/pc/vbe_test.c: Renamed to ...
43991 * commands/i386/pc/vbetest.c: ... this.
43992
43993 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43994 ...
43995 (grub_cmd_vbeinfo): ... this. Save video modes before
43996 iterating. Skip a video mode, if it is not available, not enough
43997 information is given or it is monochrome. Show the memory
43998 model. Leave the interpretation of MODEVAR to grub_strtoul
43999 completely.
44000 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44001 (GRUB_MOD_FINI): Likewise.
44002
44003 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44004 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44005 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44006 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44007 grub_strtoul completely.
44008 (real2pm): Removed.
44009 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44010 (GRUB_MOD_FINI): Likewise.
44011
44012 * normal/misc.c: Include grub/mm.h.
44013
44014 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44015 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44016 (vbe_list_modes_mod_SOURCES): Removed.
44017 (vbe_list_modes_mod_CFLAGS): Likewise.
44018 (vbe_test_mod_SOURCES): Likewise.
44019 (vbe_test_mod_CFLAGS): Likewise.
44020 (vbeinfo_mod_SOURCES): New variable.
44021 (vbeinfo_mod_CFLAGS): Likewise.
44022 (vbetest_mod_SOURCES): Likewise.
44023 (vbetest_mod_CFLAGS): Likewise.
44024
992ffbbe 440252005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44026
44027 * normal/misc.c: New file.
44028
44029 * DISTLIST: Added normal/misc.c.
f19dbdb7 44030
992ffbbe 44031 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44032 DISK to HOOK. Call HOOK with DISK.
44033 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44034 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44035 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44036
44037 * normal/menu_entry.c (struct screen): Added a new member
44038 "completion_shown".
44039 (completion_buffer): New global variable.
44040 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44041 (store_completion): New function.
44042 (complete): Likewise.
44043 (clear_completions): Likewise.
44044 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44045 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44046 a tab, call complete.
44047
44048 * normal/completion.c (disk_dev): Removed.
44049 (print_simple_completion): Likewise.
44050 (print_partition_completion): Likewise.
44051 (print_func): New global variable.
44052 (add_completion): Do not take the arguments WHAT or PRINT any
44053 longer. Added a new argument TYPE. Instead of printing directly,
44054 call PRINT_FUNC if not NULL.
44055 All callers changed.
44056 (complete_device): Use a local variable DEV instead of
44057 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44058 (grub_normal_do_completion): Take a new argument HOOK. Do not
44059 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44060 empty string, return NULL instead.
44061 All callers changed.
44062
44063 * normal/cmdline.c (print_completion): New function.
44064
44065 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44066 to HOOK.
44067 All callers changed.
44068
44069 * kern/disk.c (grub_print_partinfo): Removed.
44070
44071 * include/grub/partition.h (struct grub_partition_map): Add a new
44072 argument DISK into HOOK of ITERATE.
44073 (grub_partition_iterate): Add a new argument DISK to HOOK.
44074
44075 * include/grub/normal.h (enum grub_completion_type): New enum.
44076 (grub_completion_type_t): New type.
44077 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44078 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44079 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44080 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44081 (grub_normal_do_completion): Added a new argument HOOK.
44082 (grub_normal_print_device_info): New prototype.
44083
44084 * include/grub/disk.h (grub_print_partinfo): Removed.
44085
44086 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44087 (normal_mod_SOURCES): Likewise.
44088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44089 (normal_mod_SOURCES): Likewise.
44090
44091 * commands/ls.c (grub_ls_list_disks): Use
44092 grub_normal_print_device_info instead of grub_print_partinfo. Free
44093 PNAME.
44094 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44095 duplicating the code.
44096
0bd41162 440972005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44098
44099 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44100 follow GCS more precisely.
44101 * commands/i386/pc/vbe_test.c: Likewise.
44102 * include/grub/i386/pc/vbe.h: Likewise.
44103 * term/i386/pc/vesafb.c: Likewise.
44104 * video/i386/pc/vbe.c: Likewise.
0bd41162 44105
6323696a 441062005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44107
44108 * DISTLIST: Added term/i386/pc/vesafb.c
44109 DISTLIST: Added video/i386/pc/vbe.c
44110 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44111 DISTLIST: Added commands/i386/pc/vbe_test.c.
44112 * commands/i386/pc/vbe_list_modes.c: New file.
44113 * commands/i386/pc/vbe_test.c: Likewise.
44114 * term/i386/pc/vesafb.c: Likewise.
44115 * video/i386/pc/vbe.c: Likewise.
44116 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44117 (grub_vbe_probe) Added prototype.
44118 (grub_vbe_set_video_mode) Likewise.
44119 (grub_vbe_get_video_mode) Likewise.
44120 (grub_vbe_get_video_mode_info) Likewise.
44121 (grub_vbe_set_pixel_rgb) Likewise.
44122 (grub_vbe_set_pixel_index) Likewise.
44123 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44124 (pkgdata_MODULES): Added vesafb.mod.
44125 (pkgdata_MODULES): Added vbe_list_modes.mod.
44126 (pkgdata_MODULES): Added vbe_test.mod.
44127 (vbe_mod_SOURCES): Added.
44128 (vbe_mod_CFLAGS): Likewise.
44129 (vesafb_mod_SOURCES): Likewise.
44130 (vesafb_mod_CFLAGS): Likewise.
44131 (vbe_list_modes_mod_SOURCES): Likewise.
44132 (vbe_list_modes_mod_CFLAGS): Likewise.
44133 (vbe_test_mod_SOURCES): Likewise.
44134 (vbe_test_mod_CFLAGS): Likewise.
44135
0a74e62f 441362005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44137
0a74e62f 44138 * normal/command.c (grub_command_execute): If INTERACTIVE is
44139 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44140 CMDLINE. Disable the pager if INTERACTIVE is true.
44141 All callers are changed.
44142
44143 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44144 before reading a config file.
44145 * normal/main.c (read_config_file): Even if a command is not
44146 found, register it if it is within an entry.
44147
44148 * util/grub-emu.c: Include sys/types.h and unistd.h.
44149 (options): Added --hold.
44150 (struct arguments): Added a new member "hold".
44151 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44152 missing.
44153 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44154 cleared by a debugger, if it is not zero.
44155
44156 * include/grub/normal.h (grub_command_execute): Add an argument
44157 INTERACTIVE.
44158
e51f85ae 441592005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44160
44161 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44162
e9c6f39b 441632005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44164
44165 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44166 program with another one, because the old one didn't detect a bug
44167 in gcc-3.4. Always use regparm 2, because the new test is still
44168 not enough for gcc-4.0. Someone must investigate a simple test
44169 case which detects a bug in gcc-4.0.
44170
8de3495c 441712005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44172
44173 * DISTLIST: Added normal/completion.c.
44174
44175 * normal/completion.c: New file.
f19dbdb7 44176
8de3495c 44177 * term/i386/pc/console.c (grub_console_getwh): New function.
44178 (grub_console_term): Assign grub_console_getwh to getwh.
44179
44180 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44181 function is defined in normal/completion.c as
44182 grub_normal_do_completion.
44183 (grub_cmdline_get): Use grub_normal_do_completion instead of
44184 grub_tab_complete.
44185
44186 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44187 returns non-zero, otherwise return 0.
44188 (grub_partition_iterate): First, probe the partition map. Then,
44189 call ITERATE only for this partition map.
44190
44191 * kern/misc.c (grub_strncmp): Rewritten.
44192
44193 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44194 returns non-zero. Otherwise return 0.
44195
44196 * include/grub/partition.h (grub_partition_map_iterate): Return
44197 int instead of void.
44198
44199 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44200
44201 * include/grub/misc.h (grub_strncmp): Change the type of N to
44202 grub_size_t.
44203
44204 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44205 of void.
44206
44207 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44208 unsigned explicitly before comparing it with I.
8de3495c 44209
44210 * kern/main.c (grub_env_write_root): Add the attribute unused into
44211 VAR.
44212
44213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44214 normal/completion.c.
44215 (normal_mod_SOURCES): Likewise.
44216 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44217 (normal_mod_SOURCES): Likewise.
44218
44219 * normal/command.c (grub_iterate_commands): If ITERATE returns
44220 non-zero, return one immediately.
44221
e85e144b 442222005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44223
44224 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44225 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44226 descriptions.
44227 (grub_vbe_get_controller_info): New function.
44228 (grub_vbe_get_mode_info): Likewise.
44229 (grub_vbe_set_mode): Likewise.
44230 (grub_vbe_get_mode): Likewise.
44231 (grub_vbe_set_memory_window): Likewise.
44232 (grub_vbe_get_memory_window): Likewise.
44233 (grub_vbe_set_scanline_length): Likewise.
44234 (grub_vbe_get_scanline_length): Likewise.
44235 (grub_vbe_set_display_start): Likewise.
44236 (grub_vbe_get_display_start): Likewise.
44237 (grub_vbe_set_palette_data): Likewise.
44238 * include/grub/i386/pc/vbe.h: New file.
44239
c46153d2 442402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44241
44242 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44243 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44244 * DISTLIST: Likewise.
44245 * kern/ieee1275/of.c: Moved to ...
44246 * kern/ieee1275/ieee1275.c: ... here.
44247
0cb90c45 442482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44249
44250 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44251 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44252 Pass 0 as `end' parameter to grub_strtoul().
44253
a19fb360 442542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44255
44256 * include/grub/powerpc/ieee1275/console.h: Do not include
44257 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44258 ifdef.
44259 (grub_console_cur_color): Remove i386-specific prototype.
44260 (grub_console_real_putchar): Likewise.
44261 (grub_console_checkkey): Likewise.
44262 (grub_console_getkey): Likewise.
44263 (grub_console_getxy): Likewise.
44264 (grub_console_gotoxy): Likewise.
44265 (grub_console_cls): Likewise.
44266 (grub_console_setcursor): Likewise.
44267 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44268 Include <grub/machine/console.h>.
44269 * term/ieee1275/ofconsole.c: Likewise.
44270
4ac9bd04 442712005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44272
44273 * Makefile.in (LIBLZO): New variable.
44274
44275 * configure.ac: Check for LZO version 2.
44276
44277 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44278 lzo/lzo1x.h instead of lzo1x.h.
44279
44280 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44281 of -llzo.
44282
44283 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44284 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44285
44286 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44287 copying the data from PARTITION to P.
44288
f4917dfd 442892005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44290
44291 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44292 negative, unload the module.
44293
44294 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44295 map is "pc_partition_map" but not "pc".
44296 (usage): Fix the description. The options are --boot-image and
44297 --core-image but not --boot-file or --core-file.
44298 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44299 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44300 DEFAULT_DIRECTORY.
44301
44302 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44303 --core-file. Specify INSTALL_DEVICE as an argument.
44304
44305 * util/console.c: Include config.h.
44306 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44307 [HAVE_NCURSES_H]: Include ncurses.h.
44308 [HAVE_CURSES_H]: Include curses.h.
44309 [!A_NORMAL] (A_NORMAL): Defined as zero.
44310 [!A_STANDOUT] (A_STANDOUT): Likewise.
44311
44312 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44313 -lncurses.
44314 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44315
44316 * configure.ac: Check for curses libraries and headers.
44317
44318 * Makefile.in (LIBCURSES): New variable.
44319
44320 * genmk.rb (Script::rule): Set the executable bits.
44321
44322 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44323 name of the PC partition map is "pc_partition_map" but not "pc".
44324
0e143073 443252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44326
44327 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44328 (modules): Likewise.
44329 (usage): Added descriptions for --modules and --grub-probefs.
44330 Handle --modules and --grub-probefs. Save the arguments in MODULES
44331 and GRUB_PROBEFS, respectively.
44332 Auto-detect a filesystem module against GRUBDIR. If the result is
44333 empty and modules are not specified explicitly, abort the
44334 installation. Add the result to MODULES.
44335
44336 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44337 disk/powerpc/ieee1275/ofdisk.c,
44338 include/grub/powerpc/ieee1275/init.h and
44339 term/powerpc/ieee1275/ofconsole.c.
44340 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44341 term/ieee1275/ofconsole.c.
44342
44343 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44344
44345 * COPYING: Upgraded to the latest version. Only the address of the
44346 FSF office has changed.
f19dbdb7 44347
efd6e6d5 443482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44349
44350 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44351 kern/ieee1275.c with kern/ieee1275/of.c.
44352
44353 * kern/ieee1275.c: Moved to ...
44354 * kern/ieee1275/of.c: ... here.
44355
8ceafda2 443562005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44357
44358 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44359 readability.
8ceafda2 44360
44361 * config.guess: Updated to the latest version from gnulib.
44362 * config.sub: Likewise.
44363 * install.sh: Likewise.
44364 * mkinstalldirs: Likewise.
44365
44366 * include/grub/console.h: Removed. This file is arch-specific. Do
44367 not put this in include/grub.
44368
44369 * include/grub/i386/pc/console.h: Resurrected.
44370
44371 * util/console.c: Include grub/machine/console.h instead of
44372 grub/console.h.
44373 * util/grub-emu.c: Likewise.
44374
267f6cd9 443752005-08-04 Marco Gerards <metgerards@student.han.nl>
44376
44377 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44378 hardcoded value.
f19dbdb7 44379
267f6cd9 44380 From Vincent Pelletier <subdino2004@yahoo.fr>
44381 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44382 Redefined to use grub_getwh.
44383 (grub_term): New member named getwh.
44384 (grub_getwh): New prototype.
44385 * kern/term.c (grub_getwh): New function.
44386 * term/i386/pc/console.c (grub_console_getwh): New function.
44387 (grub_console_term): New member `getwh'.
44388 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44389 (grub_vga_term): New member `getwh'.
0b5abe02 44390 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44391 grub_ssize_t.
44392 (grub_ofconsole_getw): New function.
44393 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44394 (grub_ofconsole_term): New field named getwh and new initial
44395 value.
44396
3be7266d 443972005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44398
44399 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44400 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44401 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44402 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44403 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44404 of <grub/machine/ieee1275.h>.
44405 * commands/ieee1275/reboot.c: Likewise.
44406 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44407 * kern/ieee1275.c: ... to here. All users updated. Change all
44408 parameter structs to use new type `grub_ieee1275_cell_t'.
44409 * term/powerpc/ieee1275/ofconsole.c: Move ...
44410 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44411 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44412 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44413 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44414 to return int.
44415 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44416 Remove unused prototypes. All users updated.
44417 * include/grub/powerpc/ieee1275/console.h: Removed.
44418 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44419 `grub_ieee1275_cell_t'.
44420 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44421 Cast comparisons with -1 to the correct type.
44422 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44423 type to match `grub_ieee1275_entry_fn'.
44424
8b5f3938 444252005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44426
44427 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44428
44429 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44430 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44431 partmap/sun.c.
44432 (grub_probefs_SOURCES): New variable.
44433
44434 * util/i386/pc/grub-probefs.c: New file.
44435
44436 * util/i386/pc/grub-setup.c (main): Call
44437 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44438 grub_hfs_init and grub_jfs_init to initialize the system. Call
44439 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44440 grub_pc_partition_map_fini to finish the system.
44441
ea409713 444422005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44443
44444 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44445 function.
44446 (grub_multiboot_load_elf32): Likewise.
44447 (grub_multiboot_is_elf64): Likewise.
44448 (grub_multiboot_load_elf64): Likewise.
44449 (grub_multiboot_load_elf): Likewise.
44450 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44451 an ELF32 or ELF64 file.
44452 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44453
44454 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44455 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44456 NULL before calling FS->LABEL.
44457 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44458 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44459 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44460 before calling FS->LABEL.
44461
141a288b 444622005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 * util/i386/pc/grub-install.in (datadir): New variable.
44465 (libdir): Removed.
44466 (pkgdatadir): New variable.
44467 (pkglibdir): Removed.
44468
0d5f8a54 444692005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44470
44471 * DISTLIST: Added util/i386/pc/grub-install.in.
44472
44473 * util/i386/pc/grub-install.in: New file.
44474
44475 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44476 (grub_install_SOURCES): Likewise.
44477
44478 * genmk.rb: Added support for scripts.
44479 (Script): New class.
44480 (scripts): New variable.
44481
44482 * Makefile.in (install-local): Install sbin_SCRIPTS by
44483 INSTALL_SCRIPT.
44484 (uninstall): Remove sbin_SCRIPTS.
44485
44486 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44487 device, try to get a GRUB device by
44488 grub_util_biosdisk_get_grub_dev.
44489 Free DEST_DEV.
44490
44491 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44492 description for --device-map.
44493
5f968e1e 444942005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44495
44496 Change the semantics of variable hooks. They now return strings
44497 instead of error values.
f19dbdb7 44498
5f968e1e 44499 * util/i386/pc/grub-setup.c: Include grub/env.h.
44500 (setup): Use grub_device_set_root instead of grub_env_set.
44501
44502 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44503 grub_env_get instead of grub_device_set_root and
44504 grub_device_get_root, respectively.
44505
44506 * kern/main.c (grub_env_write_root): New function.
44507 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44508 grub_env_set instead of grub_device_set_root.
44509
44510 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44511 many variables.
44512 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44513 rather than calling ENV->WRITE_HOOK afterwards.
44514 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44515 passing a pointer of a pointer.
44516 (grub_register_variable_hook): Change the types of "read_hook" and
44517 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44518 respectively.
44519 Allocate the default empty string on the heap, because this string
44520 may be freed later.
44521
44522 * kern/device.c: Include grub/env.h.
44523 (grub_device_set_root): Removed.
44524 (grub_device_get_root): Likewise.
44525 (grub_device_open): Use grub_env_get instead of
44526 grub_device_get_root.
44527
44528 * include/grub/env.h (grub_env_read_hook_t): New type.
44529 (grub_env_write_hook_t): Likewise.
44530 (grub_env_var): Change the types of "read_hook" and "write_hook"
44531 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44532 (grub_register_variable_hook): Likewise.
44533
44534 * include/grub/device.h (grub_device_set_root): Removed.
44535 (grub_device_set_root): Likewise.
44536
44537 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44538 make sure that DIRNAME terminates with '/', so that
44539 grub_fat_find_dir will fail if PATH is not a directory.
44540
44541 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44542 from DIRNAME.
44543 Use the qualifier auto for print_files and print_files_long.
44544 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44545 as a regular file.
44546 Put a newline only if there is no error.
44547 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44548 used.
44549
896f0afd 445502005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44551
44552 * kern/partition.c (grub_partition_probe): Initialize PART to
44553 NULL. Otherwise, when no partition map is registered, this returns
44554 a garbage.
44555
b28b81b2 445562005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44557
44558 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44559 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44560 valid.
44561
5f3607e0 445622005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44563
44564 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44565 information on each device, if it does not have partitions. Print
44566 "Device" instead of "Disk", because this function is not specific
44567 to disk devices.
44568
44569 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44570 static to ensure that it is put on the memory rather than a
44571 register.
44572
502c87e8 445732005-07-17 Yoshinori Okuji <okuji@enbug.org>
44574
44575 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44576 (grub_cat_init): Likewise.
44577 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44578 (options): Likewise.
44579 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44580 (grub_configfile_init): Likewise.
44581 * font/manager.c (GRUB_MOD_INIT): Likewise.
44582 * commands/help.c (GRUB_MOD_INIT): Likewise.
44583 (grub_help_init): Likewise.
44584 * normal/command.c (grub_command_init): Likewise.
44585 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44586 * disk/loopback.c (grub_loop_init): Likewise.
44587 (GRUB_MOD_INIT): Likewise.
44588 * commands/ls.c (grub_ls_init): Likewise.
44589 (GRUB_MOD_INIT): Likewise.
44590 (options): Likewise.
44591 * commands/boot.c (grub_boot_init): Likewise.
44592 (GRUB_MOD_INIT): Likewise.
44593 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44594 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44595 (GRUB_MOD_INIT): Likewise.
44596 * commands/cmp.c (grub_cmp_init): Likewise.
44597 (GRUB_MOD_INIT): Likewise.
44598
44599 * normal/arg.c: Use <> instead of "" to include header files.
44600 (SHORT_ARG_HELP): New macro.
44601 (SHORT_ARG_USAGE): Likewise.
44602 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44603 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44604 descriptions.
44605 (find_short): Check if C is 'h' or 'u' explicitly.
44606 (grub_arg_show_help): Use space characters instead of tabs. Treat
44607 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44608 are shown with --help and --usage only if they are not used for
44609 the command itself.
44610 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44611 'h' and 'u'.
44612
44613 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44614 const into "longarg". Change the type of "shortarg" to int.
44615
f806d18e 446162005-07-17 Yoshinori Okuji <okuji@enbug.org>
44617
44618 * boot/i386/pc/boot.S (boot_drive_check): New label.
44619
44620 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44621 macro.
44622
44623 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44624 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44625
e293232b 446262005-07-17 Yoshinori Okuji <okuji@enbug.org>
44627
44628 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44629 When turning off Gate A20, skip the check and return immediately,
44630 because this is not fatal usually.
44631
ebedfd00 446322005-07-17 Yoshinori Okuji <okuji@enbug.org>
44633
44634 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44635 be 0x7C00 instead of 0x8000.
44636
44637 * boot/i386/pc/pxeboot.S: Rewritten.
44638
44639 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44640 EXT_C.
44641 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44642 result.
44643
654fc59f 446442005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44645
44646 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44647 robustness. This routine now supports a BIOS call and System
44648 Control Port A to modify the gate A20.
44649
44650 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44651 Increased to 0x440.
44652
09f9923f 446532005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44654
44655 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44656 device path and resulting ihandle.
44657 (grub_ofdisk_close): dprintf the ihandle being closed.
44658 (grub_ofdisk_read): dprintf function parameters.
44659 * kern/mm.c (grub_mm_init_region): Likewise.
44660 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44661 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44662 size, and boot arguments.
44663 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44664 before loading into memory.
44665 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44666 before loading into memory.
44667
7ef504d8 446682005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44669
44670 * kern/mm.c: Added much documentation.
44671 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44672 8, set to 5 instead of 8.
44673
e0f050c2 446742005-07-10 Yoshinori Okuji <okuji@enbug.org>
44675
44676 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44677
44678 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44679 (grub_mkdevicemap_SOURCES): New variable.
44680
44681 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44682 lib/device.c of GRUB Legacy.
44683
7224189a 446842005-07-10 Yoshinori Okuji <okuji@enbug.org>
44685
44686 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44687 instead of PATH is NULL.
44688
68c864eb 446892005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44690
44691 * commands/cmp.c (BUFFER_SIZE): New macro.
44692 (grub_cmd_cmp): Close the right file at the right time. Compare
44693 only data just read. Don't report files of different size as
44694 identical. Dynamically allocate buffers. Move variable
44695 declarations at the beginning of function.
44696
e6f3e614 446972005-07-09 Yoshinori Okuji <okuji@enbug.org>
44698
44699 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44700 reverse.
44701
f8f1559a 447022004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44703
44704 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44705 when backspace is pressed at beginning of line.
44706
39c9d41d 447072005-07-03 Yoshinori Okuji <okuji@enbug.org>
44708
44709 * DISTLIST: Added genfslist.sh.
44710
44711 * normal/main.c (fs_module_list): New variable.
44712 (autoload_fs_module): New function.
44713 (read_fs_list): Likewise.
44714 (grub_normal_execute): Call read_fs_list.
44715
44716 * kern/fs.c (grub_fs_autoload_hook): New variable.
44717 (grub_fs_probe): Added support for auto-loading.
44718
44719 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44720 (grub_fs_module_list_t): New type.
44721
44722 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44723 (grub_fs_autoload_hook): New prototype.
44724
44725 * genfslist.sh: New file.
f19dbdb7 44726
39c9d41d 44727 * genmk.rb: Added a rule to generate a filesystem list.
44728
121c1d83 447292005-06-30 Marco Gerards <metgerards@student.han.nl>
44730
44731 * configure.ac: Fix the test for cross-compiling.
44732
44733 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44734 define GRUB_UTIL anymore.
44735
44736 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44737 so this function works on other systems than just big endian.
44738 (load_modules): Likewise.
44739 (add_segments): Likewise.
44740
e75d76e1 447412005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44742
44743 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44744 contains `l' modifier, get a long from va_arg().
44745
50b5a0a7 447462005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44747
44748 * kern/mm.c (grub_free): If the next free block which is being
44749 merged is the first free block, set the first block to the block
44750 being freed.
44751 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44752
89371b20 447532005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44754
44755 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44756 `grub_ieee1275_chosen'.
44757
168d6e58 447582005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44759
44760 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44761 (grub_ieee1275_chosen): New variable.
44762 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44763 `chosen'.
44764 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44765 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44766 Rename first argument to `phandle' for consistency.
44767 (grub_ieee1275_get_property_length): Likewise.
44768 (grub_ieee1275_next_property): Likewise. Change type of first argument
44769 to grub_ieee1275_phandle_t.
44770 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44771 Move export next to declaration.
44772 (grub_ieee1275_chosen): New variable.
44773 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44774 Correct cosmetic typo.
44775 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44776 `grub_ieee1275_chosen'.
44777 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44778 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44779 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44780 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44781 `grub_ieee1275_chosen'.
44782
ca5baa3f 447832005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44784
44785 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44786 /chosen/bootargs.
44787 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44788 /chosen/bootargs as "variable=value" pairs.
44789
708b345f 447902005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44791
44792 * include/grub/misc.h (grub_dprintf): New macro.
44793 (grub_real_dprintf): New prototype.
44794 (grub_strword): Likewise.
44795 (grub_iswordseparator): Likewise.
44796 * kern/misc.c (grub_real_dprintf): New function.
44797 (grub_strword): Likewise.
44798 (grub_iswordseparator): Likewise.
44799
f4c5e67c 448002005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44801
44802 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44803 (roundup): Remove macro.
44804 (grub_ieee1275_flags): Make static.
44805 (grub_ieee1275_realmode): Remove.
44806 (grub_ieee1275_test_flag): New function.
44807 (grub_ieee1275_set_flag): Likewise.
44808 (find_options): Rename to `grub_ieee1275_find_options'; update
44809 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44810 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44811 (cmain): New prototype.
44812 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44813 `grub_ieee1275_flags' directly.
44814 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44815 machine/biosdisk.h.
44816 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44817 Don't include grub/machine/init.h.
44818 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44819 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44820 Remove prototype.
44821 (grub_ieee1275_realmode): Likewise.
44822 (grub_ieee1275_flag): New enum.
44823 (grub_ieee1275_test_flag): New prototype.
44824 (grub_ieee1275_set_flag): New prototype.
44825 * include/grub/powerpc/ieee1275/init.h: Remove file.
44826 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44827 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44828 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44829 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44830 comment.
44831 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44832 `grub_ieee1275_test_flag'.
44833 (grub_ieee1275_encode_devname): Likewise.
44834
ed16607e 448352005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44836
44837 * include/grub/powerpc/ieee1275/ieee1275.h
44838 (grub_ieee1275_encode_devname): New prototype.
44839 (grub_ieee1275_get_filename): Likewise.
44840 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44841 function.
44842 (grub_set_prefix): Likewise.
44843 (grub_machine_init): Call grub_set_prefix.
44844 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44845 (grub_parse_type): New enum.
44846 (grub_ieee1275_get_devargs): New function.
44847 (grub_ieee1275_get_devname): Likewise.
44848 (grub_ieee1275_parse_args): Likewise.
44849 (grub_ieee1275_get_filename): Likewise.
44850 (grub_ieee1275_encode_devname): Likewise.
44851
be369920 448522005-03-30 Marco Gerards <metgerards@student.han.nl>
44853
44854 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44855 `grub_loader_unset'.
44856
a5ce3a4a 448572005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44858
44859 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44860 instead of grub_ieee1275_interpret.
44861 (grub_halt_init): New function.
44862 (grub_halt_fini): Likewise.
44863 (GRUB_MOD_INIT): Correct message grammar.
44864 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44865 instead of grub_ieee1275_interpret.
44866 (grub_reboot_init): New function.
44867 (grub_reboot_fini): Likewise.
44868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44869 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44870 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44871 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44873 function.
44874 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44875 Add prototype.
44876 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44877 prototype.
44878 (grub_halt): Likewise.
44879 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44880 (cmain): Remove __attribute__((unused)).
44881 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44882 (grub_heap_len): Likewise.
44883 (grub_machine_fini): New function.
44884 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44885 (grub_halt): Likewise.
44886 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44887 function.
44888 * util/powerpc/ieee1275/misc.c: New file.
44889
0058f771 448902005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44891
44892 * DISTLIST: New file.
44893 * gendistlist.sh: Likewise.
f19dbdb7 44894
0058f771 44895 * Makefile.in (COMMON_DISTFILES): Removed.
44896 (BOOT_DISTFILES): Likewise.
44897 (CONF_DISTFILES): Likewise.
44898 (DISK_DISTFILES): Likewise.
44899 (FS_DISTFILES): Likewise.
44900 (INCLUDE_DISTFILES): Likewise.
44901 (KERN_DISTFILES): Likewise.
44902 (LOADER_DISTFILES): Likewise.
44903 (TERM_DISTFILES): Likewise.
44904 (UTIL_DISTFILES): Likewise.
44905 (DISTFILES): Likewise.
44906 (uninstall): Uninstall files in $(pkgdata_DATA).
44907 (DISTLIST): New target.
44908 (distdir): Use the contents of the file DISTLIST to get a list of
44909 distributed files.
44910
46b3b8a5 449112005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44912
44913 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44914 descriptor. This is ported from GRUB Legacy.
44915
44916 * gencmdlist.sh: Added an extra semicolon to make it work with
44917 old sed versions. Reported by Robert Bihlmeyer
44918 <robbe@orcus.priv.at>.
44919
5822ff87 449202005-03-08 Yoshinori Okuji <okuji@enbug.org>
44921
44922 Automatic loading of commands is supported.
f19dbdb7 44923
5822ff87 44924 * normal/main.c (read_command_list): New function.
44925 (grub_normal_execute): Call read_command_list.
44926
44927 * normal/command.c (grub_register_command): Return zero or CMD.
44928 Allocate CMD->NAME from the heap.
44929 Initialize CMD->MODULE_NAME to zero.
44930 Find the same name as well. If the same command is found and it is
44931 a dummy command, overwrite members. If it is not a dummy command,
44932 return zero.
44933 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44934 (grub_command_find): If a dummy command is found, load a module
44935 and retry to find a command only once.
44936
44937 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44938 make sure that each command is loaded.
44939
44940 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44941 macro.
44942 (struct grub_command): Remove const from the member `name'.
44943 Add a new member `module_name'.
44944 (grub_register_command): Return grub_command_t.
44945
44946 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44947 sure that each command is loaded.
44948
44949 * genmk.rb (PModule::rule): Specify a module name without the
44950 suffix ".mod" to gencmdlist.sh.
44951
7b1f4b57 449522005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44953
44954 * gencmdlist.sh: New file.
f19dbdb7 44955
7b1f4b57 44956 * genmk.rb (PModule::rule): Generate a rule for a command list.
44957 Clean command.lst.
44958 Generate command.lst from $(COMMANDFILES).
44959
44960 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44961 (DATA): Added $(pkgdata_DATA).
44962 (install-local): Install files in $(pkgdata_DATA).
44963
062aaf39 449642005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44965
44966 * term/i386/pc/vga.c (debug_command): Removed.
44967 (GRUB_MOD_INIT): Do not register the command "debug".
44968
44969 From Hollis Blanchard:
44970 * commands/configfile.c: New file.
44971 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44972 commands/configfile.c.
44973 (pkgdata_MODULES): Added configfile.mod.
44974 (configfile_mod_SOURCES): New variable.
44975 (configfile_mod_CFLAGS): Likewise.
44976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44977 commands/configfile.c.
44978 (pkgdata_MODULES): Added configfile.mod.
44979 (configfile_mod_SOURCES): New variable.
44980 (configfile_mod_CFLAGS): Likewise.
44981 * util/grub-emu.c (main): Call grub_configfile_init and
44982 grub_configfile_fini.
44983 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44984 prototype.
44985 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44986
cee01aa6 449872005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44988
44989 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44990 address.
44991
44992 * commands/help.c (grub_cmd_help): Do not print newlines after
44993 the last command in print_command_help.
44994
93f3a1d8 449952005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44996
44997 * commands/default.h: New file.
44998 * commands/timeout.h: Likewise.
44999 * normal/context.c: Likewise.
f19dbdb7 45000
93f3a1d8 45001 * util/misc.c: Do not include sys/times.h.
45002 Include sys/time.h and grub/machine/time.h.
45003 (grub_get_rtc): Rewritten with gettimeofday.
45004
45005 * util/grub-emu.c (main): Call grub_default_init and
45006 grub_timeout_init before grub_normal_init, and call
45007 grub_timeout_fini and grub_default_fini after grub_main.
45008
45009 * util/console.c (grub_ncurses_checkkey): Return the read
45010 character or -1.
45011
45012 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45013 timeouts.
45014
45015 * normal/main.c (read_config_file): Push MENU. If this fails,
45016 print an error and wait for a user input.
45017 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45018 If a menu is empty or an error occurs, pop MENU.
45019 (grub_normal_execute): Pop and free MENU after grub_menu_run
45020 returns.
45021
45022 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45023
45024 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45025 include time.h.
45026 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45027 without GRUB_UTIL.
45028 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45029 time.h.
45030 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45031 without GRUB_UTIL.
45032
45033 * include/grub/normal.h (struct grub_menu_list): New struct.
45034 (grub_menu_list_t): New type.
45035 (struct grub_context): New struct.
45036 (grub_context_t): New type.
45037 (grub_register_command): Got rid of EXPORT_FUNC.
45038 (grub_unregister_command): Likewise.
45039 (grub_context_get): New prototype.
45040 (grub_context_get_current_menu): Likewise.
45041 (grub_context_push_menu): Likewise.
45042 (grub_context_pop_menu): Likewise.
45043 [GRUB_UTIL] (grub_default_init): Likewise.
45044 [GRUB_UTIL] (grub_default_fini): Likewise.
45045 [GRUB_UTIL] (grub_timeout_init): Likewise.
45046 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45047
45048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45049 commands/timeout.c and normal/context.c.
45050 (pkgdata_MODULES): Added default.mod and timeout.mod.
45051 (normal_mod_SOURCES): Added normal/context.c.
45052 (default_mod_SOURCES): New variable.
45053 (default_mod_CFLAGS): Likewise.
45054 (timeout_mod_SOURCES): Likewise.
45055 (timeout_mod_CFLAGS): Likewise.
45056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45057 conf/i386-pc.rmk.
45058 (pkgdata_MODULES): Added default.mod and timeout.mod.
45059 (normal_mod_SOURCES): Added normal/context.c.
45060 (default_mod_SOURCES): New variable.
45061 (default_mod_CFLAGS): Likewise.
45062 (timeout_mod_SOURCES): Likewise.
45063 (timeout_mod_CFLAGS): Likewise.
45064
45065 * Makefile.in (all-local): Added $(MKFILES).
45066
4ed2e1dd 450672005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45068
45069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45070 (grub_emu_SOURCES): Likewise.
45071 (pkgdata_MODULES): Add `sun.mod'.
45072 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45074 `partmap/sun.c'.
45075 (pkgdata_MODULES): Add `sun.mod'.
45076 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45077 * include/grub/partition.h (grub_sun_partition_map_init): New
45078 prototype.
45079 (grub_sun_partition_map_fini): Likewise.
45080 * partmap/sun.c: New file.
45081 * util/grub-emu.c (main): Initialize and de-initialize the sun
45082 partitionmap support.
45083
4d4e372e 450842005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45085
45086 This implements an Emacs-like menu entry editor.
f19dbdb7 45087
4d4e372e 45088 * normal/menu_entry.c: New file.
f19dbdb7 45089
4d4e372e 45090 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45091 characters to ASCII.
45092 (saved_char): New variable.
45093 (grub_ncurses_checkkey): Rewritten completely.
45094 (grub_ncurses_getkey): Likewise.
45095 (grub_ncurses_init): Call raw instead of cbreak.
45096
45097 * normal/menu.c (print_entry): Do not put a space.
45098 (init_page): Renamed to ...
45099 (grub_menu_init_page): ... this. All callers changed.
45100 (edit_menu_entry): Removed.
45101 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45102
45103 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45104
45105 * kern/misc.c (grub_vprintf): Call grub_refresh.
45106
45107 * normal/menu.c (DISP_LEFT): Renamed to ...
45108 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45109 * normal/menu.c (DISP_UP): Renamed to ...
45110 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45111 * normal/menu.c (DISP_RIGHT): Renamed to ...
45112 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45113 * normal/menu.c (DISP_DOWN): Renamed to ...
45114 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45115 * normal/menu.c (DISP_HLINE): Renamed to ...
45116 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45117 * normal/menu.c (DISP_VLINE): Renamed to ...
45118 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45119 * normal/menu.c (DISP_UL): Renamed to ...
45120 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45121 * normal/menu.c (DISP_UR): Renamed to ...
45122 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45123 * normal/menu.c (DISP_LL): Renamed to ...
45124 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45125 * normal/menu.c (DISP_LR): Renamed to ...
45126 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45127 * normal/menu.c (TERM_WIDTH): Renamed to ...
45128 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45129 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45130 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45131 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45132 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45133 * normal/menu.c (TERM_MARGIN): Renamed to ...
45134 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45135 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45136 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45137 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45138 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45139 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45140 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45141 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45142 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45143 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45144 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45145 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45146 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45147 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45148 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45149 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45150 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45151 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45152 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45153 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45154 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45155 All callers changed.
45156
45157 * include/grub/normal.h: New prototype.
45158
45159 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45160 normal/menu_entry.c.
45161 (normal_mod_SOURCES): Likewise.
45162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45163 (normal_mod_SOURCES): Likewise.
45164
e6b92c8a 451652005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45166
45167 * include/grub/normal.h (grub_halt_init): New prototype.
45168 (grub_halt_fini): Likewise.
45169 (grub_reboot_init): Likewise.
45170 (grub_reboot_fini): Likewise.
45171
45172 * util/grub-emu.c: Include signal.h.
45173 (main_env): New global variable.
45174 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45175 catch C-c.
45176 (grub_machine_fini): New function.
45177 (main): Call grub_halt_init and grub_reboot_init before
45178 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45179 Call setjmp with MAIN_ENV to go back afterwards.
45180 Call grub_machine_fini right before return.
45181
45182 * include/grub/util/misc.h: Include setjmp.h.
45183 (main_env): New prototype.
45184
45185 * include/grub/kernel.h (grub_machine_fini): New prototype.
45186 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45187 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45188
45189 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45190 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45191 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45192
e6b92c8a 45193 * util/i386/pc/misc.c: New file.
f19dbdb7 45194
e6b92c8a 45195 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45196 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45197 commands/i386/pc/reboot.c.
45198
c642636f 451992005-02-14 Guillem Jover <guillem@hadrons.org>
45200
45201 * include/grub/dl.h (grub_dl_check_header): New prototype.
45202 (grub_arch_dl_check_header): Change return type to grub_err_t,
45203 remove size parameter and export function. Update all callers.
45204 * kern/dl.c (grub_dl_check_header): New function.
45205 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45206 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45207 are inside the core.
45208 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45209 independent ELF header checks.
45210 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45211 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45212 `grub_dl_check_header' instead of explicit checks. Check for the
45213 ELF type.
45214 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45215 `grub_dl_check_header' instead of explicit checks. Remove arch
45216 specific ELF header checks.
45217
e6b92c8a 45218 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45219 argument SIZE.
45220
5eabe94b 452212005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45222
45223 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45224 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45225
1b14a681 452262005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45227
45228 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45229 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45230 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45231 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45232 * partmap/amiga.c (amiga_partition_map_iterate): Return
45233 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45234 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45235
aca108aa 452362005-02-01 Guillem Jover <guillem@hadrons.org>
45237
45238 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45239 help info.
45240
c9f9c556 452412005-01-31 Marco Gerards <metgerards@student.han.nl>
45242
45243 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45244 Removed prototype.
45245 (grub_rescue_cmd_linux): New prototype.
45246 (grub_rescue_cmd_initrd): Likewise.
45247 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45248 `bi_rec'.
45249 (grub_linux_release_mem): Release the memory for the initrd.
45250 (grub_load_linux): Renamed from this...
45251 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45252 Changed `entry' not to be static. Loop over memory regions to
45253 find another one when the default fails.
45254 (grub_rescue_cmd_initrd): New function.
45255 (grub_linux_init): Remove function.
45256 (grub_linux_fini): Likewise.
45257 (GRUB_MOD_INIT): Register `initrd'.
45258 (GRUB_MOD_FINI): Unregister `initrd'.
45259 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45260 Function removed.
45261 (grub_linux_normal_fini): Likewise.
45262 (GRUB_MOD_INIT): Register `initrd'.
45263 (GRUB_MOD_FINI): Unregister `initrd'.
45264
990cf3aa 452652005-01-31 Marco Gerards <metgerards@student.han.nl>
45266
45267 * commands/help.c: New file.
45268 * normal/arg.c (show_help): Renamed to...
45269 (grub_arg_show_help): ... this.
45270 * commands/i386/pc/halt.c: New file.
45271 * commands/i386/pc/reboot.c: Likewise.
45272 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45273 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45274 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45275 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45276 variables.
45277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45278 `commands/help.c'.
45279 (pkgdata_MODULES): Add `help.mod'.
45280 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45281 * grub/i386/pc/init.h (grub_reboot): New prototype.
45282 (grub_halt): Likewise.
45283 * include/grub/normal.h (grub_arg_show_help): New prototype.
45284 (grub_help_init): Likewise.
45285 (grub_help_fini): Likewise.
45286 * util/grub-emu.c (main): Initialize and deinitialize the help
45287 command.
45288
45289 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45290
45291 * normal/command.c (grub_command_init): Fixed the description of
45292 the `set' and `unset' commands.
45293
452942005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45295
45296 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45297 function.
45298 * commands/ieee1275/halt.c: New file.
45299 * commands/ieee1275/reboot.c: Likewise.
45300 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45301 `__attribute__ ((unused))'. Some GCS related fixed.
45302 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45303 (grub_suspend_fini): Likewise.
45304 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45305 and `halt.mod'.
45306 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45307 (halt_mod_CFLAGS): New variables.
45308 * include/grub/powerpc/ieee1275/ieee1275.h
45309 (grub_ieee1275_interpret): New prototype.
45310
1ab09cc7 453112005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45312
45313 * include/grub/misc.h (memmove): New prototype.
45314 (memcpy): Likewise.
45315
8b8cbdb2 453162005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45317
45318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45319 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45320
e3741a27 453212005-01-22 Marco Gerards <metgerards@student.han.nl>
45322
45323 * kern/misc.c (grub_strndup): Function rewritten.
45324
776bd780 453252005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45326
45327 * normal/menu.c (TERM_WIDTH): Macro redefined.
45328 (TERM_TOP_BORDER_Y): Likewise.
45329 (draw_border): Replaced while-loop by a for-loop. Make the number
45330 of lines consistent with the number of lines displayed in
45331 print_entries. Added a margin below the rectangle.
45332 (print_entry): Make the entry fit in the rectangle.
45333 (print_entries): Display the scroll arrows next to the right
45334 border.
45335
78026bce 453362005-01-21 Marco Gerards <metgerards@student.han.nl>
45337
45338 * fs/minix.c (grub_minix_find_file): Reserve more space for
45339 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45340 `grub_strncpy' to copy `path' into it.
45341
67bbaf0f 453422005-01-21 Marco Gerards <metgerards@student.han.nl>
45343
45344 Add the loopback device, a device via which files can be accessed
45345 as devices.
f19dbdb7 45346
67bbaf0f 45347 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45348 (pkgdata_MODULES): Add loopback.mod.
45349 (loopback_mod_SOURCES): New variable.
45350 (loopback_mod_CFLAGS): Likewise.
45351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45352 `disk/loopback.c'.
45353 (pkgdata_MODULES): Add loopback.mod.
45354 (loopback_mod_SOURCES): New variable.
45355 (loopback_mod_CFLAGS): Likewise.
45356 * disk/loopback.c: new file.
45357 * include/grub/normal.h (grub_loop_init): New prototype.
45358 (grub_loop_fini): New prototype.
45359 * util/grub-emu.c (main): Initialize and de-initialize loopback
45360 support.
45361 * include/grub/disk.h (grub_disk_dev_id): Add
45362 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45363
6f1c18bd 453642005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45365
45366 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45367 function.
45368 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45369 (suspend_mod_SOURCES): New variable.
45370 (suspend_mod_CFLAGS): Likewise.
45371 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45372 New prototype.
45373 * commands/ieee1275/suspend.c: New file.
45374
b38551da 453752005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45376
45377 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45378 ((unused))' to `__attribute__ ((used))'.
b38551da 45379 (GRUB_MOD_FINI): Likewise.
45380 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45381 * genmk.rb (PModule): Assign space to common symbols when linking
45382 modules.
45383
777aff39 453842005-01-20 Marco Gerards <metgerards@student.han.nl>
45385
45386 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45387 `unsigned' arguments to `grub_size_t'.
45388 (grub_malloc): Likewise.
45389 (grub_realloc): Likewise.
45390 (grub_memalign): Likewise.
45391 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45392 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45393 * util/misc.c (grub_malloc): Likewise.
45394 (grub_realloc): Likewise.
45395 * kern/mm.c (get_header_from_pointer): Change the casts to
45396 `unsigned' into a cast to `grub_size_t'.
45397
45398 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45399 point to `currnode' when `currnode' is changed.
45400
45401 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45402 Schottelius <nico-linux@schottelius.org>.
45403
d0ff18e1 454042005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45405
45406 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45407 (note_path): Remove variable.
45408 (GRUB_IEEE1275_NOTE_NAME): New macro.
45409 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45410 (grub_ieee1275_note_hdr): New structure.
45411 (grub_ieee1275_note_desc): Likewise.
45412 (grub_ieee1275_note): Likewise.
45413 (load_note): Remove `dir' argument. All callers updated. Remove
45414 `note_img' and `path'. Do not load a file from `note_path'.
45415 Initialize a struct grub_ieee1275_note and write that to `out'.
45416 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45417
4ca7004c 454182005-01-05 Marco Gerards <metgerards@student.han.nl>
45419
45420 * util/misc.c (grub_util_read_image): Revert last change. It
45421 called `grub_util_read_at', which seeks from the beginning of the
45422 file.
45423
0b412211 454242005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45425
45426 * TODO: Add note about endianness in grub-mkimage.
45427 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45428 section.
45429 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45430 (grub_mkimage_SOURCES): New target.
45431 * include/grub/kernel.h (grub_start_addr): Remove variable.
45432 (grub_end_addr): Likewise.
45433 (grub_total_module_size): Likewise.
45434 (grub_kernel_image_size): Likewise.
45435 (GRUB_MODULE_MAGIC): New constant.
45436 (grub_module_info): New structure.
45437 (grub_arch_modules_addr): New prototype.
45438 (grub_get_end_addr): Remove prototype.
45439 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45440 * include/grub/powerpc/ieee1275/kernel.h: New file.
45441 * include/grub/util/misc.h (grub_util_get_fp_size): New
45442 prototype.
45443 (grub_util_read_at): Likewise.
45444 (grub_util_write_image_at): Likewise.
45445 * kern/main.c (grub_get_end_addr): Remove function.
45446 (grub_load_modules): Call grub_arch_modules_addr instead of using
45447 grub_end_addr. Look for a grub_module_info struct in memory. Use
45448 the grub_module_info fields instead of calling grub_get_end_addr
45449 as loop conditions. Move grub_add_unused_region code here.
45450 (grub_add_unused_region): Remove function.
45451 * kern/i386/pc/init.c: Include grub/cache.h.
45452 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45453 one call to add_mem_region.
45454 (grub_arch_modules_addr): New function.
45455 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45456 (grub_total_module_size): Likewise.
45457 Include grub/machine/kernel.h.
45458 (grub_arch_modules_addr): New function.
45459 * util/grub-emu.c (grub_end_addr): Remove variable.
45460 (grub_total_module_size): Likewise.
45461 (grub_arch_modules_addr): New function.
45462 * util/misc.c: Include unistd.h.
45463 (grub_util_get_fp_size): New function.
45464 (grub_util_read_at): Likewise.
45465 (grub_util_write_image_at): Likewise.
45466 (grub_util_read_image): Call grub_util_read_at.
45467 (grub_util_write_image): Call grub_util_write_image_at.
45468 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45469 additional memory in kernel_img for a struct grub_module_info.
45470 Fill in that grub_module_info.
45471 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45472
458786f8 454732005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45474
45475 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45476 New function.
45477 * include/grub/powerpc/ieee1275/ieee1275.h
45478 (grub_ieee1275_milliseconds): New prototype.
45479 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45480 Change to 1000.
45481 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45482 grub_ieee1275_milliseconds.
45483
ac507d1b 454842005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45485
45486 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45487 variable.
45488 (find_options): New function.
45489 (cmain): Call find_options.
45490 * include/grub/powerpc/ieee1275/ieee1275.h
45491 (grub_ieee1275_realmode): New extern variable.
45492 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45493 grub_map if grub_ieee1275_realmode is false.
45494
6b8fd1c4 454952004-12-29 Marco Gerards <metgerards@student.han.nl>
45496
45497 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45498 lines are inserted and make it work like readline. Reported by
45499 Vincent Pelletier <subdino2004@yahoo.fr>.
45500
8514a1e0 455012004-12-28 Marco Gerards <metgerards@student.han.nl>
45502
45503 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45504
45505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45506 `kern/powerpc/cache.S'.
45507
924b6140 455082004-12-27 Marco Gerards <metgerards@student.han.nl>
45509
45510 * genmk.rb: Handle the `Program' class in the main loop. Written
45511 by Johan Rydberg <jrydberg@gnu.org>.
45512 (Program): New class.
45513 (programs): New variable.
45514 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45515 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45516 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45517 (help_arch): Function removed.
45518 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45519 `powerpc/libgcc.h' and `loader.h'.
45520 (pkgdata_PROGRAMS): New variable.
45521 (sbin_UTILITIES): Variable removed.
45522 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45523 (grubof_SOURCES): Variable re-defined so it only includes the
45524 core functionality.
45525 (grubof_CFLAGS): Remove `-DGRUBOF'.
45526 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45527 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45528 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45529 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45530 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45531 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45532 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45533 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45534 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45535 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45536 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45537 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45538 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45539 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45540 (pc_mod_CFLAGS): New variables.
45541 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45542 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45543 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45544 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45545 Moved from here...
45546 * include/grub/i386/pc/init.h (grub_os_area_addr)
45547 (rub_os_area_size): ... to here.
45548 * include/grub/powerpc/ieee1275/ieee1275.h
45549 (grub_ieee1275_entry_fn): Export symbol.
45550 * include/grub/powerpc/ieee1275/init.h: New file.
45551 * include/grub/powerpc/libgcc.h: Likewise.
45552 * include/grub/cache.h: Likewise.
45553 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45554 <hollis@penguinppc.org>.
45555 * kern/dl.c: Include <grub/cache.h>.
45556 (grub_dl_flush_cache): New function.
45557 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45558 for this module.
45559 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45560 (grub_console_init): Removed prototypes.
45561 (grub_machine_init): Don't initialize the modules anymore.
45562 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45563 static.
45564 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45565 Macro undef removed.
45566 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45567 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45568 relocation `R_PPC_REL32'. Return an error when the relocation is
45569 unknown.
45570 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45571 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45572 * util/misc.c (grub_arch_sync_caches): Likewise.
45573
e4b47e0c 455742004-12-19 Marco Gerards <metgerards@student.han.nl>
45575
45576 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45577 `symlist.c', add `grubof_symlist.c'.
45578 (symlist.c): Variable removed.
45579 (grubof_HEADERS): Variable added.
45580 (grubof_symlist.c): New target.
45581 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45582 `kernel_img_HEADERS'.
45583 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45584 * kern/powerpc/dl.c: New file.
45585 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45586 Function removed.
45587 (grub_arch_dl_relocate_symbols): Likewise.
45588 (grub_register_exported_symbols): Likewise.
45589
4ceb3636 455902004-12-13 Marco Gerards <metgerards@student.han.nl>
45591
45592 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45593 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45594 to fail instead. Reported by Vincent Pelletier
45595 <subdino2004@yahoo.fr>.
45596
45597 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45598 it is not allocated. Reported by Vincent Pelletier
45599 <subdino2004@yahoo.fr>.
45600
45601 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45602 output so the output looks better.
f19dbdb7 45603
3f1578fe 456042004-12-04 Marco Gerards <metgerards@student.han.nl>
45605
45606 Modulize the partition map support and add support for the amiga
45607 partition map.
f19dbdb7 45608
3f1578fe 45609 * commands/ls.c: Include <grub/partition.h> instead of
45610 <grub/machine/partition.h>.
45611 * kern/disk.c: Likewise.
45612 * kern/rescue.c: Likewise.
45613 * loader/i386/pc/chainloader.c: Likewise.
45614 * normal/cmdline.c: Likewise.
45615 * kern/powerpc/ieee1275/init.c: Likewise.
45616 (grub_machine_init): Call `grub_pc_partition_map_init',
45617 `grub_amiga_partition_map_init' and
45618 `grub_apple_partition_map_init'.
45619 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45620 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45621 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45622 `partition.h' and `pc_partition.h'.
45623 (grub_setup_SOURCES): Remove
45624 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45625 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45626 (grub_emu_SOURCES): Likewise.
45627 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45628 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45629 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45631 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45632 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45633 (grubof_SOURCES): Likewise.
45634 * disk/i386/pc/partition.c: File removed.
45635 * disk/powerpc/ieee1275/partition.c: Likewise.
45636 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45637 * include/grub/i386/pc/partition.h: Likewise.
45638 * kern/partition.c: New file.
45639 * partmap/amiga.c: Likewise.
45640 * partmap/apple.c: Likewise.
45641 * partmap/pc.c: Likewise.
45642 * include/grub/partition.h: Likewise..
45643 * include/grub/pc_partition.h: Likewise.
45644 * util/grub-emu.c: Include <grub/partition.h> instead of
45645 <grub/machine/partition.h>.
45646 (main): Call `grub_pc_partition_map_init',
45647 `grub_amiga_partition_map_init' and
45648 `grub_apple_partition_map_init' and deinitialize afterwards.
45649 * util/i386/pc/biosdisk.c: Include `#include
45650 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45651 `<grub/machine/partition.h>'.
45652 * util/i386/pc/grub-setup.c: Likewise.
45653 * util/i386/pc/biosdisk.c: Likewise.
45654 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45655 partition information in case of a PC partition.
45656 * util/i386/pc/grub-setup.c: Include `#include
45657 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45658 `<grub/machine/partition.h>'.
45659 (setup): Only access the PC specific partition information in case
45660 of a PC partition.
45661
0ef4ced9 456622004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45663
0ef4ced9 45664 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45665 (grub_longjmp): Likewise.
45666 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45667 20.
45668 * normal/powerpc/setjmp.S: New file.
45669 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45670 `normal/powerpc/setjmp.S'.
45671 (grubof_CFLAGS): Add `-DGRUBOF'.
45672 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45673 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45674
19950e29 456752004-11-16 Marco Gerards <metgerards@student.han.nl>
45676
45677 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45678 property named `name'. Correctly handle the error returned by
45679 `grub_ieee1275_finddevice' if a device can not be opened.
45680
a2fea427 456812004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45682
45683 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45684 `actual' for negativity.
45685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45686 kern/fshelp.c.
45687
41ea0ea3 456882004-11-01 Marco Gerards <metgerards@student.han.nl>
45689
45690 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45691 (PAGE_OFFSET): New macro.
45692 (CRTC_ADDR_PORT): Likewise.
45693 (CRTC_DATA_PORT): Likewise.
45694 (START_ADDR_HIGH_REGISTER): Likewise.
45695 (START_ADDR_LOW_REGISTER): Likewise.
45696 (GRAPHICS_ADDR_PORT): Likewise.
45697 (GRAPHICS_DATA_PORT): Likewise.
45698 (READ_MAP_REGISTER): Likewise.
45699 (INPUT_STATUS1_REGISTER): Likewise.
45700 (INPUT_STATUS1_VERTR_BIT): Likewise.
45701 (page): New variable.
45702 (wait_vretrace): New function.
45703 (set_read_map): Likewise.
45704 (set_start_address): Likewise.
45705 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45706 the right page.
45707 (check_vga_mem): Take the page into account.
45708 (write_char): Likewise.
45709 (write_cursor): Likewise.
45710 (scroll_up): Likewise. Copy the page to the page that is not
45711 shown and switch between both pages.
45712 (grub_vga_putchar): Fix off by one error.
45713 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45714 account.
45715
ad0bd20b 457162004-11-01 Marco Gerards <metgerards@student.han.nl>
45717
45718 Add support for iso9660 (including rockridge).
f19dbdb7 45719
ad0bd20b 45720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45721 (iso9660_mod_SOURCES): New variable.
45722 (iso9660_mod_CFLAGS): Likewise.
45723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45724 * include/grub/fs.h (grub_iso9660_init): New prototype.
45725 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45726 * fs/iso9660.c: New file.
45727
45728 * include/grub/misc.h (grub_strncat): New prototype.
45729 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45730
ad0bd20b 45731 * fs/hfs.c (grub_hfs_mount): Translate the error
45732 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45733 * fs/jfs.c (grub_jfs_mount): Likewise.
45734 * fs/ufs.c (grub_ufs_mount): Likewise.
45735
a5477a59 457362004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45737
45738 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45739 which initialized BAT registers.
45740 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45741 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45742 Move from here...
45743 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45744 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45745 ... to here.
45746 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45747 (grub_mapclaim): Likewise.
45748 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45749 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45750 hand.
45751
9304c1f8 457522004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45753
45754 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45755 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45756 -ffreestanding and -msoft-float.
45757
86f4ae25 457582004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45759
45760 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45761 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45762 set in grub_ieee1275_flags.
45763
38912228 457642004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45765
45766 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45767 prototype.
45768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45769 grub_console_init first.
45770 Change the memory range used for grub_ieee1275_claim and
45771 grub_mm_init_region.
45772 Print an error message if the claim fails.
45773 Include <grub/misc.h>.
45774
d1923dc8 457752004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45776
45777 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45778 Call grub_children_iterate for device nodes of type `scsi',
45779 `ide', or `ata'.
45780 (grub_ofdisk_open): Remove manual device alias resolution.
45781 Fix memory leak when device cannot be opened.
f19dbdb7 45782 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45783 (grub_children_iterate): New prototype.
45784 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45785 New function.
45786 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45787 Return -1 if args.size was -1.
45788
4512e4f3 457892004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45790
45791 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45792 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45793 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45794 Open Firmware's memory for it; claim memory from _start to _end.
45795 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45796 (_end): New extern.
45797 (_start): Zero BSS from __bss_start to _end.
45798 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45799 New extern.
45800 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45801
4d61feb0 458022004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45803
ad0bd20b 45804 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45805 -1 if args.base was -1.
4d61feb0 45806
026fa2f9 458072004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45808
45809 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45810 escape sequence instead of a literal ^L. Also call
45811 grub_ofconsole_gotoxy.
45812
9f2220ef 458132004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45814
45815 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45816 void * arguments to grub_addr_t. All callers updated. Also make
45817 the `result' argument optional.
45818 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45819 All callers updated.
45820
8a572cd7 458212004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45822
45823 * commands/ls.c (grub_ls_list_files): Use the string following the
45824 initial ')', if present, as the filesystem path.
45825 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45826
45827 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45828
18aa81f2 458292004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45830
45831 Make the source code of the menu interface more readable.
f19dbdb7 45832
18aa81f2 45833 * normal/menu.c: Include grub/mm.h.
45834 (TERM_WIDTH): New macro.
45835 (TERM_HEIGHT): Likewise.
45836 (TERM_INFO_HEIGHT): Likewise.
45837 (TERM_MARGIN): Likewise.
45838 (TERM_SCROLL_WIDTH): Likewise.
45839 (TERM_TOP_BORDER_Y): Likewise.
45840 (TERM_LEFT_BORDER_X): Likewise.
45841 (TERM_BORDER_WIDTH): Likewise.
45842 (TERM_MESSAGE_HEIGHT): Likewise.
45843 (TERM_BORDER_HEIGHT): Likewise.
45844 (TERM_NUM_ENTRIES): Likewise.
45845 (TERM_FIRST_ENTRY_Y): Likewise.
45846 (TERM_ENTRY_WIDTH): Likewise.
45847 (TERM_CURSOR_X): Likewise.
45848 (draw_border): Use macros instead of magic numbers.
45849 (print_entry): Likewise.
45850 (print_entries): Likewise.
45851 (run_menu): Likewise. Also, handle the key 'e'.
45852 (run_menu_entry): Ignore empty command lines.
45853 (print_message): Added a new argument EDIT. If EDIT is true,
45854 print a different message.
45855 (init_page): Likewise.
45856 (edit_menu_entry): New function. Not implemented yet.
45857
b47efe30 458582004-09-17 Marco Gerards <metgerards@student.han.nl>
45859
45860 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45861 can be loaded from normal mode.
f19dbdb7 45862
b47efe30 45863 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45864 `multiboot.mod'.
45865 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45866 (multiboot_mod_CFLAGS): New variables.
45867 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45868 * loader/i386/pc/multiboot_normal.c: Likewise.
45869
b47efe30 45870 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45871 attribute `unused'.
f19dbdb7 45872
b47efe30 45873 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45874 `fdiro' to read the mode information from instead of `diro'.
45875
45876 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45877 looking up a symlink.
45878
45879 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45880 macro.
45881 * normal/command.c (grub_command_execute): Don't parse the
45882 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45883 flags of the command.
45884
45885 * normal/menu.c (grub_menu_run): Fix typo.
45886
da75ac71 458872004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45888
45889 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45890
45891 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45892 `y + 1' instead of `y - 1'.
45893
45894 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45895
062b24c2 458962004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45897
45898 From Hollis Blanchard <hollis@penguinppc.org>:
45899 * kern/misc.c (memmove): New alias for grub_memmove.
45900 (memcmp): New alias for grub_memcmp.
45901 (memset): New alias for grub_memset.
f19dbdb7 45902 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45903 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45904 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45905 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45906
8ddad845 459072004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45908
45909 Added normal mode command `chainloader' as module chain.mod, which
45910 depends on normal.mod and _chain.mod.
f19dbdb7 45911
8ddad845 45912 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45913 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45914 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45915 Deleted prototype.
45916 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45917 but arguments parsing moved to ...
45918 (grub_chainloader_cmd): ... here. New function.
45919 * include/grub/i386/pc/chainloader.h: New file.
45920 * loader/i386/pc/chainloader_normal.c: Likewise.
45921
2c1f4ce3 459222004-09-11 Marco Gerards <metgerards@student.han.nl>
45923
45924 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45925 (grub_mkimage_LDFLAGS): Likewise.
45926 (grub_emu_SOURCES): Likewise.
45927 (kernel_img_HEADERS): Added fshelp.h.
45928 * fs/ext2.c: Include <grub/fshelp.h>.
45929 (FILETYPE_REG): New macro.
45930 (FILETYPE_INO_REG): Likewise.
45931 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45932 Changed all users.
45933 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45934 all users.
45935 (grub_fshelp_node): New struct.
45936 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45937 to a pointer.
45938 (grub_ext2_get_file_block): Removed function.
45939 (grub_ext2_read_block): New function.
45940 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45941 This function was written.
45942 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45943 (grub_ext2_find_file): Removed function.
45944 (grub_ext2_read_symlink): New function.
45945 (grub_ext2_iterate_dir): Likewise.
45946 (grub_ext2_open): Rewritten.
45947 (grub_ext2_dir): Rewritten.
45948 * include/grub/fshelp.h: New file.
45949 * fs/fshelp.c: Likewise.
45950
3c52136a 459512004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45952
45953 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45954 (print_message): Add a missing newline.
45955 (run_menu): Added timeout support.
45956 (run_menu_entry): New local function.
45957 (grub_menu_run): Added support for booting.
45958
45959 * kern/loader.c (grub_loader_is_loaded): New function.
45960
45961 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45962 (grub_get_rtc): Exported.
45963
45964 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45965 (grub_get_rtc): Exported.
45966
45967 * include/grub/normal.h (struct grub_command_list): Remove
45968 constant from the member `command'.
45969
45970 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45971
45972 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45973
45974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45975
aa033560 459762004-08-28 Marco Gerards <metgerards@student.han.nl>
45977
45978 Add support for the JFS filesystem.
45979
45980 * fs/jfs.c: New file.
45981 * include/grub/fs.h (grub_jfs_init): New prototype.
45982 (grub_jfs_fini): New prototype.
45983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45984 (grub_emu_SOURCES): Likewise.
45985 (pkgdata_MODULES): Add jfs.mod.
45986 (jfs_mod_SOURCES): New variable.
45987 (jfs_mod_CFLAGS): Likewise.
45988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45989 (grubof_SOURCES): Likewise.
45990 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45991
45992 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45993 endian to the host endian.
45994 (grub_fat_utf16_to_utf8): Move function from there...
45995 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45996 the endianness of the source string anymore.
aa033560 45997 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45998
94bc45af 459992004-08-24 Marco Gerards <metgerards@student.han.nl>
46000
46001 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46002 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46003 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46004 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 46005
94bc45af 46006 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46007 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46008 for `node_found' and `it_dir'.
46009 (grub_hfs_dir): Add prototype for `dir_hook'.
46010
46011 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46012 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46013 and `indir32' to silence a gcc warning.
46014
46015 * include/grub/fs.h (grub_hfs_init): New prototype.
46016 (grub_hfs_fini): Likewise.
f19dbdb7 46017
46018
97543f08 460192004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46020
46021 Each disk device has its own id now. This is useful to make use
46022 of multiple disk devices.
f19dbdb7 46023
97543f08 46024 * include/grub/disk.h (grub_disk_dev_id): New enum.
46025 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46026 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46027
46028 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46029 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46030
46031 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46032 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46033
46034 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46035 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46036
46037 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46038 "id" which is used by the cache manager.
46039
46040 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46041 of just "GRUB".
46042
64372eb4 460432004-08-18 Marco Gerards <metgerards@student.han.nl>
46044
46045 * fs/hfs.c: New file.
46046 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46047 (grub_emu_SOURCES): Likewise.
46048 (pkgdata_MODULES): Add hfs.mod.
46049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46050 (grubof_SOURCES): Likewise.
46051 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46052
46053 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46054 * kern/misc.c (grub_strncasecmp): Add function.
46055
cc61b58f 460562004-08-14 Marco Gerards <metgerards@student.han.nl>
46057
46058 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46059 with parentheses.
46060
46061 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46062 (grub_ext2_dir): In case the directory entry type is unknown, read
46063 it from the inode.
46064
0ef123f6 460652004-08-02 Peter Bruin <pjbruin@dds.nl>
46066
46067 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46068 grub_load_linux instead of grub_rescue_cmd_linux as second
46069 argument of grub_rescue_register_command.
46070
46071 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46072
a447c5df 460732004-07-27 Marco Gerards <metgerards@student.han.nl>
46074
46075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46076 function.
46077 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46078 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46079 `loader/powerpc/ieee1275/linux.c',
46080 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46081 * include/grub/powerpc/ieee1275/ieee1275.h
46082 (grub_ieee1275_release): New prototype.
46083 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46084 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46085 normal, boot, linux and linux_normal.
46086 * loader/powerpc/ieee1275/linux.c: New file.
46087 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46088
5a9e3546 460892004-07-12 Marco Gerards <metgerards@student.han.nl>
46090
46091 * normal/arg.c (grub_arg_parse): Correct error handling after
46092 reallocating the argumentlist (check if `argl' is not null instead
46093 of checking if `args' is not null).
46094 * kern/mm.c (grub_realloc): Return the same pointer when using the
46095 same region, instead of returning the header address.
46096
e15199cb 460972004-07-11 Marco Gerards <metgerards@student.han.nl>
46098
46099 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46100 one block instead of two when looking for the initial partition.
46101 (grub_partition_probe): Initialize the local variable `p' with 0.
46102 Use base 10 for the grub_strtoul call.
46103 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46104 need for one local variable.
46105 (grub_strtoul): Don't add the new value to `num', instead of that
46106 just assign it.
46107
020616c2 461082004-07-11 Marco Gerards <metgerards@student.han.nl>
46109
46110 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46111 (pxeboot_img_SOURCES): New variable.
46112 (pxeboot_img_ASFLAGS): Likewise.
46113 (pxeboot_img_LDFLAGS): Likewise.
46114 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46115 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46116 <lode_leroy@hotmail.com>.
46117
6c51eb64 461182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46119
46120 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46121 there was no input.
46122
cfb12aff 461232004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46124
46125 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46126 the history buffer logic.
46127
6eabba74 461282004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46129
46130 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46131 (FILETYPE_INO_SYMLINK): New macros.
46132 (grub_ext2_find_file): Check if the node is a directory using the
46133 inode stat information instead of using the filetype in the
46134 dirent. Exclude the first character of an absolute symlink.
46135 (grub_ext2_dir): Mask out the filetype part of the mode member of
46136 the inode.
46137
66e19ef8 461382004-05-24 Marco Gerards <metgerards@student.han.nl>
46139
46140 Add support for UFS version 1 and 2. Add support for the minix
46141 filesystem version 1 and 2, both the variants with 14 and 30 long
46142 filenames.
f19dbdb7 46143
66e19ef8 46144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46145 fs/minix.c.
46146 (grub_emu_SOURCES): Likewise.
46147 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46148 (ufs_mod_SOURCES): New variable.
46149 (ufs_mod_CFLAGS): Likewise.
46150 (minix_mod_SOURCES): Likewise.
46151 (minix_mod_CFLAGS): Likewise.
46152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46153 fs/minix.c.
46154 (grubof_SOURCES): Likewise.
46155 * fs/ufs.c: New file.
46156 * fs/minix.c: New file.
46157 * include/grub/fs.h (grub_ufs_init): New prototype.
46158 (grub_ufs_fini): Likewise.
46159 (grub_minix_init): Likewise.
46160 (grub_minix_fini): Likewise.
46161 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46162 minix fs.
46163
cc2e748a 461642004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46165
46166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46167 commands/ls.c, commands/terminal.c, commands/boot.c,
46168 commands/cmp.c and commands/cat.c.
46169 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46170
46171 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46172 "env.h"
46173
4b13b216 461742004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46175
46176 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46177 and grub_, respectively. Because the conversion is trivial and
46178 mechanical, I omit the details here. Please refer to the CVS
46179 if you need more information.
46180
6a142551 461812004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46182
46183 * include/pupa: Renamed to ...
46184 * include/grub: ... this.
46185 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46186 * util/i386/pc/grub-mkimage.c: ... this.
46187 * util/i386/pc/pupa-setup.c: Renamed to ...
46188 * util/i386/pc/grub-setup.c: ... this.
46189 * util/pupa-emu.c: Renamed to ...
46190 * util/grub-emu.c: ... this.
46191
e56cdf21 461922004-03-29 Marco Gerards <metgerards@student.han.nl>
46193
46194 Add support for the newworld apple macintosh (PPC). This has been
46195 tested on the powerbook 2000 only. It only adds support for
46196 generic ieee1275 functions, console and disk support. This should
46197 be easy to port to other architectures with support for Open
46198 Firmware.
f19dbdb7 46199
e56cdf21 46200 * configure.ac: Accept the powerpc as host_cpu. In the case of
46201 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46202 specific tests are only executed while building for the i386.
46203 Inverse test for crosscompile.
46204 * genmk.rb (Utility): Allow assembler files.
46205 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46206 * conf/powerpc-ieee1275.rmk: New file.
46207 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46208 * disk/powerpc/ieee1275/partition.c: Likewise.
46209 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46210 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46211 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46212 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46213 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46214 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46215 * include/pupa/powerpc/ieee1275/loader.h
46216 * include/pupa/powerpc/setjmp.h: Likewise.
46217 * include/pupa/powerpc/types.h: Likewise.
46218 * kern/powerpc/ieee1275/init.c: Likewise.
46219 * kern/powerpc/ieee1275/openfw.c: Likewise.
46220 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46221
46222 These files were written by Johan Rydberg
46223 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46224
e56cdf21 46225 * boot/powerpc/ieee1275/cmain.c: New file.
46226 * boot/powerpc/ieee1275/crt0.S: Likewise.
46227 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46228 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46229
8c8cc205 462302004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46231
46232 * Makefile.in: Update copyright.
46233 * genmodsrc.sh: Likewise.
46234 * gensymlist.sh: Likewise.
46235 * term/i386/pc/vga.c: Indent correctly.
46236
46237 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46238 bugreporting address.
46239 * util/i386/pc/pupa-setup.c (usage): Likewise,
46240 (main): Call pupa_ext2_init and pupa_ext2_fini.
46241
f19dbdb7 46242 * fs/fat.c (log2): Renamed to ...
8c8cc205 46243 (fat_log2): ... this.
46244 All callers changed.
46245 * kern/misc.c (memcpy): Alias to pupa_memmove.
46246 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46247 lvalue cast.
46248 * util/console.c (pupa_ncurses_fini): Return 0.
46249
46250 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46251 Move fail label here.
46252 [__GNU__]: Don't warn when using stat.
46253 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46254 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46255 long int. Use strtol instead of strtoul.
f19dbdb7 46256
db1771cf 462572004-03-14 Marco Gerards <metgerards@student.han.nl>
46258
46259 * commands/boot.c: New file.
46260 * commands/cat.c: Likewise.
46261 * commands/cmp.c: Likewise.
46262 * commands/ls.c: Likewise.
46263 * commands/terminal.c: Likewise.
46264 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46265 (pupa_register_command): Changed interface to match the new
46266 argument parser.
46267 (pupa_command_execute): Changed (almost rewritten) so it uses
46268 pupa_split_command. Added support for setting variables using the
46269 syntax `foo=bar'.
46270 (rescue_command): Changed to work with the new argument parser.
46271 (terminal_command): Moved from here to commands/terminal.c.
46272 (set_command): New function.
46273 (unset_command): New function.
46274 (insmod_command): New function.
46275 (rmmod_command): New function.
46276 (lsmod_command): New function.
46277 (pupa_command_init): Don't initialize the command terminal
46278 anymore. Initialize the commands set, unset, insmod, rmmod and
46279 lsmod.
46280 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46281 (kernel_img_HEADERS): Add arg.h and env.h.
46282 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46283 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46284 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46285 normal/arg.c.
46286 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46287 terminal.mod.
46288 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46289 (boot_mod_SOURCES): New variable.
46290 (terminal_mod_SOURCES): Likewise.
46291 (ls_mod_SOURCES): Likewise.
46292 (cmp_mod_SOURCES): Likewise.
46293 (cat_mod_SOURCES): Likewise.
46294
46295 * normal/arg.c: New file.
46296 * kern/env.c: Likewise.
46297 * include/pupa/arg.h: Likewise.
46298 * include/pupa/env.h: Likewise.
46299 * font/manager.c (font_command): Changed to match argument parsing
46300 interface changes.
46301 (PUPA_MOD_INIT): Likewise.
46302 * hello/hello.c (pupa_cmd_hello): Likewise.
46303 (PUPA_MOD_INIT): Likewise.
46304 * include/pupa/disk.h: Include <pupa/device.h>.
46305 (pupa_print_partinfo): New prototype.
46306 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46307 (pupa_dl_get_prefix): Likewise.
46308 * include/pupa/misc.h: Include <pupa/err.h>.
46309 (pupa_isgraph): New prototype.
46310 (pupa_isdigit): Likewise.
46311 (pupa_split_cmdline): Likewise.
46312 * include/pupa/normal.h: Include <pupa/arg.h>.
46313 (pupa_command): Changed the prototype of the member `func' to
46314 match the argument parsing interface. Added member `options'.
46315 (pupa_register_command): Updated to match function.
46316 (pupa_arg_parse): New prototype.
46317 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46318 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46319 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46320 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46321 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46322 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46323 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46324 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46325 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46326 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46327 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46328 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46329 * kern/disk.c: Include <pupa/file.h>.
46330 (pupa_print_partinfo): New function.
46331 * kern/dl.c: Include <pupa/env.h>.
46332 (pupa_dl_dir): Variable removed.
46333 (pupa_dl_load): Use the environment variable `prefix' instead of
46334 the variable pupa_dl_dir.
46335 (pupa_dl_set_prefix): Function removed.
46336 (pupa_dl_get_prefix): Likewise.
46337 * kern/i386/pc/init.c: Include <pupa/env.h>.
46338 (pupa_machine_init): Use the environment variable `prefix' instead of
46339 using pupa_dl_set_prefix to set the prefix.
46340 * kern/main.c: Include <pupa/env.h>.
46341 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46342 using pupa_dl_get_prefix to get the prefix.
46343 * kern/misc.c: Include <pupa/env.h>.
46344 (pupa_isdigit): New function.
46345 (pupa_isgraph): Likewise.
46346 (pupa_ftoa): Likewise.
46347 (pupa_vsprintf): Added support for printing values of the type
46348 `double'. Make it possible to format variable output when using
46349 formatting like `%1.2%f'.
46350 (pupa_split_cmdline): New function.
46351 * kern/rescue.c: Include <pupa/env.h>.
46352 (next_word): Removed function.
46353 (pupa_rescue_cmd_prefix): Likewise.
46354 (pupa_rescue_cmd_set): New function.
46355 (pupa_rescue_cmd_unset): New function.
46356 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46357 split the command line instead of splitting it here. Added
46358 support for setting variables using the syntax `foo=bar'. Don't
46359 initialize the prefix command anymore. Initialized the set and
46360 unset commands.
46361 * normal/cmdline.c: Include <pupa/env.h>.
46362 (pupa_tab_complete): Added prototypes for print_simple_completion,
46363 print_partition_completion, add_completion, iterate_commands,
46364 iterate_dev, iterate_part and iterate_dir. Moved code to print
46365 partition information from here to kern/disk.c.
fe6b695a 46366 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46367 * normal/main.c: Include <pupa/env.h>.
46368 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46369 instead of using pupa_dl_get_prefix to get the prefix.
46370 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46371 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46372 warning.
46373 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46374 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46375 ((unused))' to silence a gcc warning.
46376 (pupa_vga_setcolor): Likewise.
46377 (debug_command): Changed to match argument parsing
46378 interface changes.
46379 * util/pupa-emu.c: Include <pupa/env.h>.
46380 (options): Added 0's for unused fields to silence a gcc warning.
46381 (argp): Likewise.
46382 (main): Use the environment variable `prefix' instead of using
46383 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46384 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46385 and terminal.
46386
46387 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46388 * util/misc.c: Include <malloc.h>.
46389 (pupa_malloc): Rewritten so errors are correctly reported.
46390 (pupa_realloc): Likewise.
46391 (pupa_memalign): Likewise.
46392 (pupa_mm_init_region): Declare unused variables with
46393 `__attribute__ ((unused))' to silence a gcc warning.
46394 * normal/i386/setjmp.S: Remove tab at the end of the file to
46395 silence a gcc warning.
46396 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46397 variables with `__attribute__ ((unused))' to silence a gcc
46398 warning.
46399 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46400 local variable i unsigned to silence a gcc warning.
46401
46402 * kern/term.c: Include <pupa/misc.h>.
46403 (pupa_more_lines): New variable.
46404 (pupa_more): Likewise.
46405 (pupa_putcode): When the pager is active pause at the end of every
46406 screen.
46407 (pupa_set_more): New function.
46408 * include/pupa/term.h (pupa_set_more): New prototype.
46409
46410
3b1139cb 464112004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46412
46413 Now this project is GRUB 2 rather than PUPA. The location of
46414 the CVS repository was moved to GRUB's.
f19dbdb7 46415
3b1139cb 46416 * configure.ac: Use bug-grub as the reporting address.
46417 Use GRUB instead of PUPA.
46418 Change the version number to 1.90.
46419
8367695c 464202004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46421
46422 * genkernsyms.sh: Updated copyright information.
46423 * genmk.rb: Likewise.
46424 * genmodsrc.sh: Likewise.
46425 * gensymlist.sh: Likewise.
46426 * boot/i386/pc/boot.S: Likewise.
46427 * boot/i386/pc/diskboot.S: Likewise.
46428 * disk/i386/pc/biosdisk.c: Likewise.
46429 * disk/i386/pc/partition.c: Likewise.
46430 * font/manager.c: Likewise.
46431 * fs/ext2.c: Likewise.
46432 * fs/fat.c: Likewise.
46433 * include/pupa/boot.h: Likewise.
46434 * include/pupa/device.h: Likewise.
46435 * include/pupa/disk.h: Likewise.
46436 * include/pupa/dl.h: Likewise.
46437 * include/pupa/elf.h: Likewise.
46438 * include/pupa/err.h: Likewise.
46439 * include/pupa/file.h: Likewise.
46440 * include/pupa/font.h: Likewise.
46441 * include/pupa/fs.h: Likewise.
46442 * include/pupa/kernel.h: Likewise.
46443 * include/pupa/loader.h: Likewise.
46444 * include/pupa/misc.h: Likewise.
46445 * include/pupa/mm.h: Likewise.
46446 * include/pupa/net.h: Likewise.
46447 * include/pupa/normal.h: Likewise.
46448 * include/pupa/rescue.h: Likewise.
46449 * include/pupa/setjmp.h: Likewise.
46450 * include/pupa/symbol.h: Likewise.
46451 * include/pupa/term.h: Likewise.
46452 * include/pupa/types.h: Likewise.
46453 * include/pupa/i386/setjmp.h: Likewise.
46454 * include/pupa/i386/types.h: Likewise.
46455 * include/pupa/i386/pc/biosdisk.h: Likewise.
46456 * include/pupa/i386/pc/boot.h: Likewise.
46457 * include/pupa/i386/pc/console.h: Likewise.
46458 * include/pupa/i386/pc/init.h: Likewise.
46459 * include/pupa/i386/pc/kernel.h: Likewise.
46460 * include/pupa/i386/pc/linux.h: Likewise.
46461 * include/pupa/i386/pc/loader.h: Likewise.
46462 * include/pupa/i386/pc/memory.h: Likewise.
46463 * include/pupa/i386/pc/multiboot.h: Likewise.
46464 * include/pupa/i386/pc/partition.h: Likewise.
46465 * include/pupa/i386/pc/time.h: Likewise.
46466 * include/pupa/i386/pc/vga.h: Likewise.
46467 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46468 * include/pupa/util/getroot.h: Likewise.
46469 * include/pupa/util/misc.h: Likewise.
46470 * include/pupa/util/resolve.h: Likewise.
46471 * kern/device.c: Likewise.
46472 * kern/disk.c: Likewise.
46473 * kern/dl.c: Likewise.
46474 * kern/err.c: Likewise.
46475 * kern/file.c: Likewise.
46476 * kern/fs.c: Likewise.
46477 * kern/loader.c: Likewise.
46478 * kern/main.c: Likewise.
46479 * kern/misc.c: Likewise.
46480 * kern/mm.c: Likewise.
46481 * kern/rescue.c: Likewise.
46482 * kern/term.c: Likewise.
46483 * kern/i386/dl.c: Likewise.
46484 * kern/i386/pc/init.c: Likewise.
46485 * kern/i386/pc/lzo1x.S: Likewise.
46486 * kern/i386/pc/startup.S: Likewise.
46487 * loader/i386/pc/chainloader.c: Likewise.
46488 * loader/i386/pc/linux.c: Likewise.
46489 * loader/i386/pc/multiboot.c: Likewise.
46490 * normal/cmdline.c: Likewise.
46491 * normal/command.c: Likewise.
46492 * normal/main.c: Likewise.
46493 * normal/menu.c: Likewise.
46494 * normal/i386/setjmp.S: Likewise.
46495 * term/i386/pc/console.c: Likewise.
46496 * term/i386/pc/vga.c: Likewise.
46497 * util/console.c: Likewise.
46498 * util/genmoddep.c: Likewise.
46499 * util/misc.c: Likewise.
46500 * util/pupa-emu.c: Likewise.
46501 * util/resolve.c: Likewise.
46502 * util/unifont2pff.rb: Likewise.
46503 * util/i386/pc/biosdisk.c: Likewise.
46504 * util/i386/pc/getroot.c: Likewise.
46505 * util/i386/pc/pupa-mkimage.c: Likewise.
46506 * util/i386/pc/pupa-setup.c: Likewise.
46507
e6eced71 465082004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46509
46510 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46511 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46512 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46513 reading and reset it after reading.
46514 (pupa_ext2_close): Return PUPA_ERR_NONE.
46515
46516 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46517 Correct value.
46518 (struct linux_kernel_header): Add kernel_version and
46519 initrd_addr_max.
46520 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46521 pupa_file_read succeeds.
46522 (pupa_rescue_cmd_initrd): Implement.
46523
5aded270 465242003-12-03 Marco Gerards <metgerards@student.han.nl>
46525
46526 * fs/ext2.c (pupa_ext2_label): New function.
46527 (pupa_ext2_fs): Added label.
46528 * fs/fat.c (pupa_fat_label): New function.
46529 (pupa_fat_fs): Added label.
46530 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46531
46532 * kern/misc.c (pupa_strndup): New function.
46533 * include/pupa/misc.h (pupa_strndup): New prototype.
46534
46535 * include/pupa/normal.h: Include <pupa/err.h>.
46536 (pupa_set_history): New prototype.
46537 (pupa_iterate_commands): New prototype.
46538 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46539 <pupa/disk.h>, <pupa/file.h>.
46540 (hist_size): New variable.
46541 (hist_lines): Likewise.
46542 (hist_end): Likewise.
46543 (hist_used): Likewise.
46544 (pupa_set_history): New function.
46545 (pupa_history_get): Likewise.
46546 (pupa_history_add): Likewise.
46547 (pupa_history_replace): Likewise.
46548 (pupa_tab_complete): Likewise.
46549 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46550 completion shows partitionnames while completing partitions, this
46551 feature was suggested by Jeff Bailey.
46552 * normal/command.c (pupa_iterate_commands): New function.
46553 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46554 (pupa_normal_init): Initialize history buffer.
46555 (PUPA_MOD_INIT): Likewise.
46556 (pupa_normal_fini): Free the history buffer.
46557 (PUPA_MOD_FINI): Likewise.
46558
46559 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46560 key.
46561
46562 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46563 * configure.ac [i386]: Check for regparam bug.
46564 (NESTED_FUNC_ATTR) [! i386]: Defined.
46565
1f7315a3 465662003-11-17 Marco Gerards <metgerards@student.han.nl>
46567
46568 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46569 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46570 (pupa_emu_SOURCES): New variable.
46571 (pupa_emu_LDFLAGS): Likewise.
46572 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46573 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46574 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46575 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46576 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46577 (pupa_jmp_buf): New typedef.
46578 (pupa_setjmp) [PUPA_UTIL]: New macro.
46579 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46580 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46581 (pupa_refresh): New prototype.
46582 * include/pupa/util/getroot.h: New file.
46583 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46584 it.
46585 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46586 (pupa_rescue_cmd_cat): Likewise.
46587 (pupa_rescue_cmd_ls): Likewise.
46588 (pupa_rescue_cmd_testload): Likewise.
46589 (pupa_rescue_cmd_lsmod): Likewise.
46590 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46591 * normal/menu.c (run_menu): Likewise.
46592 * kern/term.c (pupa_cls): Likewise.
46593 (pupa_refresh): New function.
46594 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46595 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46596 * util/console.c: New file.
f19dbdb7 46597
1f7315a3 46598 * util/i386/pc/getroot.c: New file.
46599 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46600 (pupa_putchar): New function.
46601 (pupa_refresh): Likewise.
46602 (xgetcwd): Function moved to ...
46603 (strip_extra_slashes): Likewise.
46604 (get_prefix): Likewise.
f19dbdb7 46605 * util/i386/pc/getroot.c: ... here.
1f7315a3 46606 (find_root_device): Function moved and renamed to...
46607 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46608 Changed all callers.
46609 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46610 and renamed to...
46611 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46612 Changed all callers.
46613 * util/misc.c (pupa_memalign): New function.
46614 (pupa_mm_init_region): Likewise.
46615 (pupa_register_exported_symbols): Likewise.
46616 (pupa_putchar): Function removed.
46617 * util/pupa-emu.c: New file.
46618
9a5c1ade 466192003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46620
46621 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46622 (_multiboot_mod_SOURCES): New variable.
46623 (_multiboot_mod_CFLAGS): Likewise.
46624 * loader/i386/pc/multiboot.c: New file.
46625 * include/pupa/i386/pc/multiboot.h: Likewise.
46626 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46627 (pupa_multiboot_real_boot): New function.
46628 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46629 (pupa_multiboot_real_boot): New prototype.
46630 (pupa_rescue_cmd_multiboot): Likewise
46631 (pupa_rescue_cmd_module): Likewise.
46632
46633 * kern/loader.c (pupa_loader_set): Continue when
46634 pupa_loader_unload_func() fails.
46635 (pupa_loader_unset): New function.
46636 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46637
46638 * kern/misc.c (pupa_stpcpy): New function.
46639 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46640
8e72a9c0 466412003-11-12 Marco Gerards <metgerards@student.han.nl>
46642
46643 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46644 for available extensions.
46645
46646 * include/pupa/i386/pc/time.h: New file.
46647 * kern/disk.c: Include <pupa/machine/time.h>.
46648 (PUPA_CACHE_TIMEOUT): New macro.
46649 (pupa_last_time): New variable.
46650 (pupa_disk_open): Flush the cache when there was a timeout.
46651 (pupa_disk_close): Reset the timer.
46652 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46653 pupa_currticks.
46654 * util/misc.c: Include <sys/times.h>
46655 (pupa_get_rtc): New function.
46656
c4adbd32 466572003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46658
46659 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46660 as blocks.
46661 (pupa_ext2_get_file_block): Use blocks member.
46662
46663 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46664 first block. Return -1 instead of pupa_errno on error.
46665
bfd30f06 466662003-10-27 Marco Gerards <metgerards@student.han.nl>
46667
46668 * README: In the pupa-mkimage example use _chain instead of chain
46669 and ext2 instead of fat.
46670 * TODO: Replace ext2fs with jfs as an example. Add an item for
46671 adding journal playback for ext2fs.
46672 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46673 (pkgdata_MODULES): Added ext2.mod.
46674 (ext2_mod_SOURCES): New variable.
46675 (ext2_mod_CFLAGS): Likewise.
46676 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46677 * include/pupa/misc.h (pupa_strncpy): New prototype.
46678 (pupa_strcat): Likewise.
46679 (pupa_strncmp): Likewise.
46680 * kern/misc.c (pupa_strcat): Enable function.
46681 (pupa_strncpy): New function.
46682 (pupa_strncmp): Likewise.
46683 * fs/ext2.c: New file.
f19dbdb7 46684
bfd30f06 46685 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46686 when the read failed before retrying.
46687 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46688 (_FILE_OFFSET_BITS): Likewise.
46689 * configure.ac: Added AC_SYS_LARGEFILE.
46690
98d15063 466912003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46692
46693 * genmk.rb (PModule#rule): Make sure to get only symbol names
46694 from the output of nm.
59cad637 46695 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46696
18d9c7cd 466972003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46698
46699 I forgot to check in these changes for a long time. This adds
46700 incomplete support for VGA console, and this is still very
46701 buggy. Also, a lot of consideration is required for I18N,
46702 UNICODE, and VGA font issues. Therefore, assume that this is
46703 such that "better than nothing".
f19dbdb7 46704
18d9c7cd 46705 * font/manager.c: New file.
46706 * include/pupa/font.h: Likewise.
46707 * include/pupa/i386/pc/vga.h: Likewise.
46708 * term/i386/pc/vga.c: Likewise.
46709 * util/unifont2pff.rb: Likewise.
46710
46711 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46712 (pkgdata_MODULES): Added vga.mod and font.mod.
46713 (vga_mod_SOURCES): New variables.
46714 (vga_mod_CFLAGS): Likewise.
46715 (font_mod_SOURCES): Likewise.
46716 (font_mod_CFLAGS): Likewise.
46717
46718 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46719
46720 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46721 (struct pupa_term): Added init and fini.
18d9c7cd 46722 Changed the argument of putchar to pupa_uint32_t.
46723
46724 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46725 (pupa_console_real_putchar): New prototype.
46726 (pupa_console_putchar): Removed.
46727 (pupa_console_checkkey): Exported.
46728 (pupa_console_getkey): Likewise.
46729
46730 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46731 characters.
46732
46733 * kern/term.c (pupa_term_set_current): Rewritten.
46734 (pupa_putchar): Likewise.
46735 (pupa_putcode): New function.
46736
46737 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46738 (pupa_console_real_putchar): ... this.
46739 (pupa_vga_set_mode): New function.
46740 (pupa_vga_get_font): Likewise.
46741
46742 * normal/command.c: Include pupa/term.h.
46743 (terminal_command): New function.
46744 (pupa_command_init): Register the command "terminal".
46745
46746 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46747 (DISP_UP): Likewise.
46748 (DISP_RIGHT): Likewise.
46749 (DISP_DOWN): Likewise.
46750 (DISP_HLINE): Likewise.
46751 (DISP_VLINE): Likewise.
46752 (DISP_UL): Likewise.
46753 (DISP_UR): Likewise.
46754 (DISP_LL): Likewise.
46755 (DISP_LR): Likewise.
46756
46757 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46758
977329f5 467592003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46760
46761 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46762 FIX. Reverse the path_list.
46763
46764 * include/pupa/normal.h: Export pupa_register_command and
46765 pupa_unregister_command.
46766
46767 * hello/hello.c (pupa_cmd_hello): New module.
46768 * conf/i386-pc.rmk: Added hello.mod.
46769
1f5ab428 467702003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46771
46772 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46773
1f5ab428 46774 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46775 (compress_kernel): New variable.
46776 (generate_image): Heavily modified to support compressing a
46777 large part of the core image.
46778
46779 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46780 leak.
46781 (pupa_util_load_image): New function.
46782
46783 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46784 (pupa_compressed_size): New variable.
46785 (codestart): Enable Gate A20 here.
46786 Decompress the compressed part of the core image.
46787 Rearrange the code to put functions and variables which are
46788 required for initialization in the non-compressed part.
46789 Include lzo1x.S.
46790
46791 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46792 here.
46793
46794 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46795
f19dbdb7 46796 * include/pupa/i386/pc/kernel.h
1f5ab428 46797 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46798 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46799 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46800 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46801 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46802
46803 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46804
46805 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46806 (Utility#rule): Likewise.
46807
46808 * configure.ac: Check if LZO is available.
46809
ce5bf700 468102003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46811
46812 * include/pupa/normal.h: New file.
46813 * include/pupa/setjmp.h: Likewise.
46814 * include/pupa/i386/setjmp.h: Likewise.
46815 * normal/cmdline.c: Likewise.
46816 * normal/command.c: Likewise.
46817 * normal/main.c: Likewise.
46818 * normal/menu.c: Likewise.
46819 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46820
ce5bf700 46821 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46822 (pupa_rescue_cmd_initrd): Likewise.
46823
46824 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46825 Likewise.
46826
46827 * kern/i386/pc/startup.S (translation_table): New variable.
46828 (translate_keycode): New function.
46829 (pupa_console_getkey): Call translate_keycode.
46830
46831 * kern/rescue.c (attempt_normal_mode): New function.
46832 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46833 it failed, print a message.
46834
46835 * kern/mm.c (pupa_real_malloc): Print more information when a
46836 free magic is broken.
46837 (pupa_free): If the first free header is not free actually, set
46838 it to P.
46839
46840 * kern/main.c (pupa_load_normal_mode): Just load the module
46841 "normal".
46842 (pupa_main): Don't print the message
46843 "Entering into rescue mode..." here.
46844
46845 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46846 Declared.
46847 (pupa_rescue_cmd_initrd): Likewise.
46848 (pupa_rescue_cmd_initrd): Likewise.
46849
46850 * include/pupa/symbol.h (FUNCTION): Specify the type.
46851 (VARIABLE): Likewise.
46852
46853 * include/pupa/err.h (pupa_err_t): Added
46854 PUPA_ERR_UNKNOWN_COMMAND.
46855
46856 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46857 (pupa_dl_get_prefix): Likewise.
46858
46859 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46860 Added _chain.mod and _linux.mod instead of chain.mod and
46861 linux.mod.
46862 (chain_mod_SOURCES): Renamed to ...
46863 (_chain_mod_SOURCES): ... this.
46864 (chain_mod_CFLAGS): Renamed to ...
46865 (_chain_mod_CFLAGS): ... this.
46866 (linux_mod_SOURCES): Renamed to ...
46867 (_linux_mod_SOURCES): ... this.
46868 (linux_mod_CFLAGS): Renamed to ...
46869 (_linux_mod_CFLAGS): ... this.
46870 (normal_mod_SOURCES): New variable.
46871 (normal_mod_CFLAGS): Likewise.
46872 (normal_mod_ASFLAGS): Likewise.
46873
468742003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46875
46876 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46877 possible.
46878
fe6b695a 46879 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46880 recursively.
46881 (pupa_dl_unref): Unrefer depending modules recursively.
46882 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46883 a module is unloaded before one depending on that module is
46884 unloaded.
46885 (pupa_dl_unload): Unload depending modules explicitly,
46886 if possible.
46887
c04da074 468882003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46889
46890 * include/pupa/i386/pc/linux.h: New file.
46891 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46892
c04da074 46893 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46894 Removed.
46895 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46896 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46897 of PUPA_CHAINLOADER_BOOT_SECTOR.
46898
46899 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46900 (pupa_linux_prot_size): New variable.
46901 (pupa_linux_tmp_addr): Likewise.
46902 (pupa_linux_real_addr): Likewise.
46903 (pupa_linux_boot_zimage): New function.
46904 (pupa_linux_boot_bzimage): Likewise.
46905
46906 * kern/i386/pc/init.c (struct mem_region): New structure.
46907 (MAX_REGIONS): New macro.
46908 (mem_regions): New variable.
46909 (num_regions): Likewise.
46910 (pupa_os_area_addr): Likewise.
46911 (pupa_os_area_size): Likewise.
46912 (pupa_lower_mem): Likewise.
46913 (pupa_upper_mem): Likewise.
46914 (add_mem_region): New function.
46915 (compact_mem_regions): Likewise.
46916 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46917 the size of the conventional memory and that of so-called upper
46918 memory (before the first memory hole).
46919 Instead of adding each found region to free memory, use
46920 add_mem_region and add them after removing overlaps.
46921 Also, add only 1/4 of the upper memory to free memory. The rest
46922 is used for loading OS images. Maybe this is ad hoc, but this
46923 makes it much easier to relocate OS images when booting.
46924
46925 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46926 (pupa_enter_rescue_mode): Don't register initrd and module.
46927
46928 * kern/mm.c: Include pupa/dl.h.
46929
46930 * kern/main.c: Include pupa/file.h and pupa/device.h.
46931
46932 * kern/loader.c (pupa_loader_load_module_func): Removed.
46933 (pupa_loader_load_module): Likewise.
46934
46935 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46936 ``.o''.
46937
46938 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46939 (pupa_linux_tmp_addr): Likewise.
46940 (pupa_linux_real_addr): Likewise.
46941 (pupa_linux_boot_zimage): Likewise.
46942 (pupa_linux_boot_bzimage): Likewise.
46943
46944 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46945 (pupa_upper_mem): Likewise.
46946 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46947 module is too dangerous.
46948
46949 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46950 (pupa_os_area_size): Likewise.
46951 (pupa_loader_set): Remove the first argument. Loader doesn't
46952 manage modules or initrd any longer.
46953 (pupa_loader_load_module): Removed.
46954
46955 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46956 (linux_mod_SOURCES): New variable.
46957 (linux_mod_CFLAGS): Likewise.
46958
a13f9237 469592003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46960
46961 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46962 the length of a blocklist correctly.
46963
46964 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46965 Use ioctl only if the OS file is a block device.
46966 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46967 not very useful for normal files.
46968
46969 * kern/main.c (pupa_set_root_dev): New function.
46970 (pupa_load_normal_mode): Likewise.
46971 (pupa_main): Call those above.
46972
46973 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46974 pupa_uint16_t.
46975
46976 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46977
a5ffe966 469782003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46979
46980 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46981 (setup): Configure the installed partition information and the
46982 dl prefix.
46983
46984 * loader/i386/pc/chainloader.c (my_mod): New variable.
46985 (pupa_chainloader_unload): New function.
46986 (pupa_rescue_cmd_chainloader): Refer itself.
46987 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46988
46989 * kern/i386/pc/startup.S (install_partition): Removed.
46990 (version_string): Likewise.
46991 (config_file): Likewise.
46992 (pupa_install_dos_part): New variable.
46993 (pupa_install_bsd_part): Likewise.
46994 (pupa_prefix): Likewise.
46995 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46996
46997 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46998 and pupa/misc.h.
46999 (make_install_device): New function.
47000 (pupa_machine_init): Set the dl prefix.
47001
47002 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47003 (buf): Renamed to ...
47004 (linebuf): ... this.
47005 (pupa_rescue_cmd_prefix): New function.
47006 (pupa_rescue_cmd_insmod): Likewise.
47007 (pupa_rescue_cmd_rmmod): Likewise.
47008 (pupa_rescue_cmd_lsmod): Likewise.
47009 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47010 rmmod and lsmod.
47011
47012 * kern/mm.c (pupa_memalign): If failed even after invalidating
47013 disk caches, unload unneeded modules and retry.
47014
47015 * kern/misc.c (pupa_memmove): New function.
47016 (pupa_memcpy): Removed.
47017 (pupa_strcpy): New function.
47018 (pupa_itoa): Made static.
47019
47020 * kern/dl.c (pupa_dl_iterate): New function.
47021 (pupa_dl_ref): Likewise.
47022 (pupa_dl_unref): Likewise.
47023 (pupa_dl_unload): Return if succeeded or not.
47024 (pupa_dl_unload_unneeded): New function.
47025 (pupa_dl_unload_all): Likewise.
47026 (pupa_dl_init): Renamed to ...
47027 (pupa_dl_set_prefix): ... this.
47028 (pupa_dl_get_prefix): New function.
47029
47030 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47031 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47032 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47033 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47034 (pupa_install_dos_part): Declared.
47035 (pupa_install_bsd_part): Likewise.
47036 (pupa_prefix): Likewise.
47037 (pupa_boot_drive): Likewise.
47038
47039 * include/pupa/types.h: Fix a typo.
47040
47041 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47042 pupa_memmove.
47043 (pupa_memmove): Declared.
47044 (pupa_strcpy): Likewise.
47045
47046 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47047 pupa_mod_init takes one argument, its own module.
47048 (pupa_dl_unload_unneeded): Declared.
47049 (pupa_dl_unload_all): Likewise.
47050 (pupa_dl_ref): Likewise.
47051 (pupa_dl_unref): Likewise.
47052 (pupa_dl_iterate): Likewise.
47053 (pupa_dl_init): Renamed to ...
47054 (pupa_dl_set_prefix): ... this.
47055 (pupa_dl_get_prefix): Declared.
47056
47057 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 47058 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 47059 unloaded.
47060 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47061 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47062
47063 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47064 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47065
012d7999 470662003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47067
47068 * util/i386/pc/pupa-setup.c (setup): Define the internal
47069 function find_first_partition_start at the top level, because GCC
47070 3.0.x cannot compile internal functions in deeper scopes
47071 correctly.
47072 (find_root_device): Use lstat instead of stat.
47073 Don't follow symbolic links.
47074 Fix the path-constructing code.
47075
47076 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47077 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47078 by a BLKGETSIZE ioctl first, because block devices don't fill
47079 the member st_mode of the structure stat on Linux.
47080 [__linux__] (linux_find_partition): Use a temporary buffer
47081 REAL_DEV for the working space. Copy it to DEV before returning.
47082 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47083 buffer cache consistent.
47084 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47085 strncmp. The previous value was merely wrong.
47086 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47087
47088 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47089 FAT size is 12. The previous value was merely wrong.
47090
47091 * kern/main.c (pupa_main): Don't split the starting message from
47092 newlines.
47093
47094 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47095 LF, because BIOS goes crazy about character attributes in this
47096 case.
47097
1cc73a62 470982003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47099
47100 * include/i386/pc/util/biosdisk.h: New file.
47101 * util/i386/pc/biosdisk.c: Likewise.
47102 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47103
1cc73a62 47104 * Makefile.in (INCLUDE_DISTFILES): Added
47105 include/pupa/i386/pc/util/biosdisk.h.
47106 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47107 directory util/i386/pc.
47108 (install-local): Added a rule for sbin_UTILITIES.
47109 (uninstall): Likewise.
47110
47111 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47112
47113 * util/misc.c (xrealloc): New function.
47114 (pupa_malloc): Likewise.
47115 (pupa_free): Likewise.
47116 (pupa_realloc): Likewise.
47117 (pupa_stop): Likewise.
47118 (pupa_putchar): Likewise.
47119
47120 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47121
47122 * include/pupa/util/misc.h (xrealloc): Declared.
47123
47124 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47125 macro.
47126 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47127 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47128
47129 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47130 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47131
47132 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47133 way should be implemented.
47134 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47135
47136 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47137 the size of NAME for safety.
47138 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47139 0x88.
47140
47141 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47142 (pupa_setup_SOURCES): Likewise.
47143
47144 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47145
08b70fe8 471462002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47147
47148 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47149 bunch of pushl's from pusha, because this destroys the return
47150 value.
47151
62ddcc8f 471522002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47153
47154 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47155 This means that any missing prototypes could be fatal. Also, you
47156 must take care when writing assembly code. See the comments at
47157 the beginning of startup.S, for more details.
f19dbdb7 47158
62ddcc8f 47159 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47160 compilation mechanism.
47161 (pupa_chainloader_real_boot): Likewise.
47162 (pupa_biosdisk_rw_int13_extensions): Likewise.
47163 (pupa_biosdisk_rw_standard): Likewise.
47164 (pupa_biosdisk_check_int13_extensions): Likewise.
47165 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47166 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47167 (pupa_get_memsize): Likewise.
47168 (pupa_get_mmap_entry): Likewise.
47169 (pupa_console_putchar): Likewise.
47170 (pupa_console_setcursor): Likewise.
47171 (pupa_getrtsecs): Use pushl instead of push.
47172
47173 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47174 memory instead of the stack for a mmap entry, because some
47175 BIOSes may ignore the maximum size and overflow.
47176
47177 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47178
47179 * genmk.rb (PModule#rule): Compile automatically generated
47180 sources with module-specific CFLAGS as well as other sources.
47181
9962ed99 471822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47183
47184 * configure.ac: Check ld.
47185 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47186 respectively, before checking endianness and sizes.
47187
47188 * Makefile.in (LD): New variable.
f19dbdb7 47189
abdfc3c5 471902002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47191
47192 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47193
6a161fa9 471942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47195
47196 * Changelog: New file.
47197