]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
[grub2.git] / ChangeLog
CommitLineData
bfb320c6
VS
12012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4 a bad FS.
5
def3df75
VS
62012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9 (grub_udf_read_symlink): Handle read_string failure.
10
5eae3175
VS
112012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
14 comment.
15
c1ad82db
VS
162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Fix handling of UDF symlinks.
19
20 * grub-core/fs/udf.c (read_string): New argument outbuf.
21 All users updated.
22 (grub_ufs_read_symlink): Rename to ...
23 (grub_udf_read_symlink): ... this. All users updated.
24 Handle symlinks with more than one component.
25
33eca6e0
VS
262012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
29 symlinks. Replace leading colon with a slash.
30
57f4a70b
VS
312012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
34 filename.
35
38c8ee20
VS
362012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
39 match in inner node.
40
2e57f28f
VS
412012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
44 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
45 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
46 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
47 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
48 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
49 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
50 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
51 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
52
fe8c2f11
VS
532012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Use grub-probe and not cmp to check that disk is empty.
56
57 * util/grub-install.in: Use grub-probe for zero-check.
58 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
59 (probe): Handle PRINT_ZERO_CHECK.
60 (argp_parser): Handle -t zero_check.
61
622012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
63
64 Flush block cache on adding disk to device map.
65
66 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
67 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
68 adding.
69 (read_device_map): Likewise.
70 (open_device): Flush on opening.
71
690434e8
VS
722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
75 (handle_symlink): Fix off-by-one error.
76 Canonicalize the target.
77 (grub_cpio_dir): Canonicalize the name.
78 Fix memory leak.
79 Set directory.
80 (grub_cpio_open): Canonicalize the name.
81
742d2be6
VS
822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
85 handling.
86
3244fe96
VS
872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
90 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
91
8aeb1837
VS
922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
95 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 96 All users updated.
8aeb1837 97
9133fd05
VS
982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
101 counterpart.
102
6d521c5b
VS
1032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
104
105 Fix UFS1 big file support.
106
107 * grub-core/fs/ufs.c (INODE): Removed.
108 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
109 64-bit.
110 (INODE_MODE): Simplify.
111 (grub_ufs_inode): Use uint64_t for size and not int64_t.
112 (grub_ufs_lookup_symlink): Don't use INODE.
113
21b82e17
VS
1142012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Fix minixfs with non-power-of-two blocks since it's supported by minix.
117
118 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
119 (grub_minix_data): Replace log_block_size with block_size.
120 (grub_minix_read_file): Use block_size but avoid 64-bit division.
121 (grub_minix_mount): Fill block_size.
122
1232012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
124
125 * configure.ac: Bump to beta5.
126
f417ed04
VS
1272012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
128
129 Fix wrapped HFS+ handling.
130
131 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
132 blocks_start. All users updated.
133 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
134 wrapping offset.
135 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
136
607d282b
VS
1372012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Fix long symlinks on reiserfs.
140
141 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
142 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
143 (grub_reiserfs_iterate_dir): Save size for non-directories.
144 (grub_reiserfs_open): Don't reread stat block as we already know the
145 size.
146 (grub_reiserfs_read): Split into...
147 (grub_reiserfs_read_real): ... and ...
148 (grub_reiserfs_read): ...this.
149
ae16024d
VS
1502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
151
152 Fix non-indexed JFS.
153
154 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
155 (grub_jfs_data): New field namecomponentlen.
156 (grub_jfs_mount): Fill namecomponentlen.
157 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
158
eea1e26e
VS
1592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
162 * tests/grub_script_echo1.in: Add tests.
163
df760f77
VS
1642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * util/grub-install.in: Ignore empty devicetree directory.
167
5efb817d
B
1682012-05-08 Bean <bean123ch@gmail.com>
169
170 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
171 All users updated.
172 (free_rsm): Free header as well.
173 (free_old_fragments): Fix memory leak.
174 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
175 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
176 (destroy_pq): Likewise.
177 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
178
668ea6d2
VS
1792012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
182 resulting hash as a precaution.
183
1739b1fe
VS
1842012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
187 '_' in variable names.
188 * grub-core/net/net.c (grub_net_network_level_interface_register):
189 Likewise.
190
6ae485aa
VS
1912012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Fix AFFS with non-512B blocks.
194
195 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
196 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
197 (grub_affs_data): Replace blocksize with log_blocksize.
198 (grub_affs_read_block): Fix non-512B blocks.
199 (grub_affs_read_symlink): Likewise.
200 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
201 (grub_affs_read): Fix non-512B blocks.
202 (grub_affs_label): Likewise.
203 (grub_affs_mtime): Likewise.
204 (grub_affs_mount): Fix block detection routine.
205
d20fab84
VS
2062012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Add filesystem mtime to AFFS.
209
210 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
211 (aftime2ctime): New function.
212 (grub_affs_dir): Use aftime2ctime.
213 (grub_affs_label): Fix return value.
214 (grub_affs_mtime): New function.
215 (grub_affs_fs): Add mtime.
216
e87b10f5
VS
2172012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
220 UTF-8.
221
7dceec9b
VS
2222012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
225 UTF-8.
226
2f48221f
VS
2272012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
230
dacd85cf
VS
2312012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
234 flags.
235 (FLAGS_CASE_SENSITIVE): New enum value.
236 (cache_entry): New struct.
237 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
238 cache_size and cache.
239 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
240 Add log_blocksize and fshelp_flags.
241 (grub_sfs_read_extent): Handle non-512 blocks.
242 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
243 (grub_sfs_read_file): Handle non-512 blocks.
244 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
245 fshelp_flags.
246 (grub_sfs_read_symlink): Handle non-512 blocks.
247 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
248 (grub_sfs_dir): Free cache.
249 (grub_sfs_close): Likewise.
250
24e9a854
VS
2512012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
254 filesystems.
255
62ace64d
VS
2562012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
259
83b2e89c
VS
2602012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
263
75ccaea3
VS
2642012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
267 (grub_sfs_read_extent): Likewise.
268 (grub_sfs_read_block): Likewise.
269 (grub_sfs_mount): Likewise.
270 (grub_sfs_iterate_dir): Likewise.
271 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
272 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
273
1b8463f2
VS
2742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Fix errors on compressed NTFS with 512B clusters.
277
278 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
279 types.
280 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
281 not 0.
282 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
283 Relax check for inline extents.
284 (ntfscomp): Return correct -1 on error and not 0.
285
4f8e368f
VS
2862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * util/grub-install.in: Fix handling of prefix containing spaces.
289
6f5d5ee8
VS
2902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
293 (grub_squash_read_data): Fix offset byte-swapping.
294
ce41ab7a
VS
2952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
298 per common usage and preffered in several parts of code.
299 (grub_memcmp): Likewise.
300 (grub_strncmp): Likewise.
301 * include/grub/misc.h (grub_strcasecmp): Likewise.
302 (grub_strncasecmp): Likewise.
303 * Makefile.util.def (cmp_test): New test.
304 (grub_script_strcmp): Likewise.
305 * tests/cmp_unit_test.c: New file.
306 * tests/grub_script_strcmp.in: Likewise.
307 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
308
49717bf4
VS
3092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * include/grub/pci.h: Move enums into no-asm part.
312
0a308f64
VS
3132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
316
1796965f
ST
3172012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
318
319 * util/getroot.c (find_hurd_root_device): Try to make error message
320 and comments to translators clearer.
321
4e9b2819
VS
3222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
325
076aeb50
VS
3262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
329 btrfs.
330
19424d94
VS
3312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * docs/grub.cfg: Update.
334
ebb73076
VS
3352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * docs/grub.texi (PXE): Remove not present variables.
338
9a1b669c
VS
3392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/net/net.c (defserver_set_env): New function.
342 (defserver_get_env): Likewise.
343 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
344
d38bf7d3
VS
3452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
348 entries.
349
3502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
351
352 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
353 * grub-core/kern/emu/hostdisk.c: Likewise.
354
e5e4ca48
ST
3552012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
356
357 Handle hurd userspace partitions.
358
359 * util/getroot.c (find_hurd_root_device): New function.
360 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
361
56bb5dd5
VS
3622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
365 names.
366 Reported by: Bastian Blank.
367
9e8bc27a
VS
3682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
371 crossing page boundary.
372
aa01499d
VS
3732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Fix B-tree search in BFS, especially in presence of non-ASCII
376 characters.
377
378 * grub-core/fs/bfs.c (bfs_strcmp): New function.
379 (find_in_b_tree): Use standard bsearch + btree algorithm.
380
57006035
VS
3812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
384 and so on.
385
9d34bb85
MG
3862012-05-03 Matthew Garrett <mjg@redhat.com>
3872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Suspend broadcom cards in order to stop their DMA.
390
391 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
392 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
393 (pci): Don't build on x86 EFI.
394 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
395 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
396 New function.
397 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
398 stop_broadcom if running on EFI.
399 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
400 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
401 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
402 (grub_pci_find_capability): New proto.
403
01aab997
VS
4042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * docs/grub.texi: Remove dot from the extension as it apparently
407 doesn't work with some makeinfo versions.
408
fbd8dca6
VS
4092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
412 with GRUB expectance.
413
dab797f4
VS
4142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
417
1516bfb4
VS
4182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
421 zero after directory block since last entry may be not 0-terminated if
422 it ends on block boundary. Use continue instead of if spanning whole
423 loop.
424
a3a0eace
VS
4252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Support 4K sectors UDF inline files.
428
429 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
430 (grub_udf_extended_file_entry): Likewise.
431 (grub_fshelp_node): Name the anonymous union. Put block at the end.
432 All users updated.
433 (get_fshelp_size): New function.
434 (grub_udf_read_icb): Read whole block.
435 (grub_udf_iterate_dir): Likewise.
436 (grub_udf_dir): Likewise.
437 (grub_udf_open): Likewise.
438
c82f16c1
VS
4392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
442
59fd2aac
VS
4432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
446 inline symlinks in addition to workaround.
447
3b4afb4d
VS
4482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
451
f45c794a
VS
4522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
455
f25cecbd
VS
4562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
459
bb9a34e8
VS
4602012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Fix reiserfs big seek times.
463
464 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
465 exact. All users updated.
466 (grub_reiserfs_read): Use nearest btree search for seeking.
467 Fix return value on error.
468
dc478aea
VS
4692012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
472 entries.
473 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
474 * docs/grub.texi: Update menuentry description.
475
8db10f47
VS
4762012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
479 crash when embedding onto filesystem.
480
bcb288ed
VS
4812012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
484 name.
485
a626fdd7
VS
4862012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
489
b2f68477
VS
4902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
493 commit.
494
ba15b2af
B
4952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4962012-05-01 Bean <bean123ch@gmail.com>
497
498 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
499
a188012e
VS
5002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
503 Special behaviour for len = 0 to read whole file isn't used anywhere and
504 can cause buffer ovewrflows in several places.
505
f0a53ed2
VS
5062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
509
5ed554f0
VS
5102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Handle RAIDZ on non-512B sectors.
513
514 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
515 max_children_ashift.
516 (fill_vdev_info_real): Fill max_children_ashift.
517 (read_device): Use max_children_ashift.
518
ddc58357
VS
5192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
522
e3282399
VS
5232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
526 disk names.
527 * docs/grub.texi: Update device.map parts.
528
ee618bd4
VS
5292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Don't scan into non-diskfilter devices having diskfilter names.
532
533 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
534 (scan_disk): New argument accept_diskfilter. Fix recursion depth
535 handling.
536 (scan_disk_hook): New function.
537
bdf88864
B
5382012-04-29 Bean <bean123ch@gmail.com>
539
540 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
541 allocation.
542
32745f51
MK
5432012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
544
545 * configure.ac: Detect starfield theme font path
546 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
547
bc95c8c0
VS
5482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
551 geometry on serial consoles.
552
147fbcab
VS
5532012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
556 because of network consoles.
557
0f42c889
VS
5582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
561 handling.
562
4a3594c9
VS
5632012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
566 falls on Q syndrom.
567
5cb53879
VS
5682012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
571 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
572
b282dfe5
VS
5732012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
576 Allocate at lest 8192 for temporary buffer as required for lzo.
577
daa59f47
VS
5782012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
581 to cluster_bits, since it's already added in.
582 (grub_fat_read_data): Likewise.
583
986748ce
VS
5842012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
587 as long as cluster size is multiple of 512 bytes.
588
a20f6ad0
VS
5892012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * util/grub-mkrescue.in: Fix locale directory.
592
385f9abb
VS
5932012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/kern/emu/hostdisk.c (map): Make static.
596
1c557d30
B
5972012-04-23 Bean <bean123ch@gmail.com>
598
599 * util/grub-fstest.c (fstest): Add missing break.
600
524b5d3a
ST
6012012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
602
603 Fix hurd build.
604
605 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
606 not define nr variable.
fe4824e9 607 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
608 find_root_devices_from_poolname, find_root_devices_from_libzfs,
609 grub_find_device): Do not define.
524b5d3a 610
9a06490c
VS
6112012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Fix kfreebsd compile and behaviour.
614
615 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
616 format-security.
617 * util/getroot.c: Fix wait.h include.
618 (grub_guess_root_devices): Error if grub_find_device fails.
619 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
620 (grub_util_get_dev_abstraction): Likewise.
621 (grub_util_pull_device): Likewise.
622 (grub_util_get_grub_dev): Likewise.
623 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
624
48143d96
VS
6252012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
626
627 Fix and unify wholedisk detection.
628
629 * util/getroot.c (convert_system_partition_to_system_disk): New argument
630 is_part. All users updated.
631 (device_is_wholedisk): Removed.
632 (grub_util_biosdisk_get_grub_dev): Use is_part.
633
ebbd24f3
VS
6342012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
637 mode.
638
56f7aa1e
VS
6392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * configure.ac: Bump to beta4.
642
9c815e01
VS
6432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
646 --fs-uuid --set UUID syntax.
647
59e2651a
VS
6482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
651 disunification.
652
54e03cfc
VS
6532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
656
81092a75
MK
6572012-04-18 Mads Kiilerich <mads@kiilerich.com>
658
659 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
660
f8315e14
MG
6612012-04-18 Mike Gilbert <floppym@gentoo.org>
662
663 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
664
1501ac21
B
6652012-04-18 Bean <bean123ch@gmail.com>
666
667 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
668 place.
669
cb7f944e
VS
6702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
673 users updated.
674 (grub_util_biosdisk_read): Handle Linux partitions not exactly
675 corresponding to GRUB partitions.
676 (grub_util_biosdisk_write): Likewise.
677
b72d44a1
VS
6782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Scan mdraid before LVM.
681
682 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
683 (grub_diskfilter_register_front): ... this.
684 (grub_diskfilter_register_back): New function.
685 All users of grub_diskfilter_register updated.
686
33d918b8
VS
6872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-install.in: Fix an automatic target detection bug.
690
c6ca973d
VS
6912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * util/grub-install.in: New option --efi-directory.
694
b41be562
VS
6952012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
698 boot services if we have no other choice.
699
7002012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * util/grub-mknetdir.in: Rename --override-directory to --directory and
703 document it.
704 * tests/util/grub-shell.in: Update to --directory.
705
e0595a73
VS
7062012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
709
4ed80652
VS
7102012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
713 (grub_minix_read_file): Likewise.
714 (grub_minix_read_inode): Likewise.
715 (grub_minix_find_file): Likewise.
716 (grub_minix_dir): Likewise.
717
56008077
VS
7182012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * util/grub-setup.c (setup): Fix partition handling and blocklist
721 check.
722
ee520775
VS
7232012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
726 redundant buggy overlap check.
727
16fc9293
VS
7282012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
731 and grub-mknetdir.
732
9bab65c4
VS
7332012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
736 kh.loadflags on pre-2.00 kernels.
737
3c491b47
VS
7382012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Terminate UNDI and PXE before launching the payload to avoid problems
741 with DMA.
742
743 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
744 (grub_loader_flags): ... this. All users updated.
745 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
746 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
747 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
748 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
749 function.
750 (grub_pxe_restore): Likewise.
751 (fini_hnd): New var.
752 (GRUB_MOD_INIT): Register shutdown hook.
753 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
754 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
755 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
756 (grub_loader_set): Rename second argument to flags.
757
851ffada
VS
7582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
761 written bytes.
762 (grub_get_num_of_utf8_bytes): New function.
763 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
764 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
765 executing it.
766 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
767 (grub_ucs4_to_utf8): Change return type.
768
491c57a8
VS
7692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
772 warning.
851ffada
VS
773 * grub-core/fs/bfs.c (hop_level): Likewise.
774 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 775
756773df
VS
7762012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/lib/adler32.c: Recode due to license unclearness.
779
fd556a96
VS
7802012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
783 (test_header): Likewise.
784
9f9d3f69
VS
7852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
786
787 Fix --help formatting.
788
789 * util/grub-mkconfig_lib.in (print_option_help): New function.
790 (grub_fmt): Likewise.
791 * util/grub-install.in: Use print_option_help and grub_fmt.
792 * util/grub-kbdcomp.in: Likewise.
793 * util/grub-mkconfig.in: Likewise.
794 * util/grub-mknetdir.in: Likewise.
795 * util/grub-mkrescue.in: Likewise.
796 * util/grub-mkstandalone.in: Likewise.
797 * util/grub-reboot.in: Likewise.
798 * util/grub-set-default.in: Likewise.
799 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
800
561ec77e
VS
8012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * linguas.sh: Remove autogenerated *.po.
804
7ec2b021
VS
8052012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * po/README: Move language fetcing to ...
808 * linguas.sh: ... here.
809 * po/README: Point to linguas.sh.
810
a88f3270
VS
8112012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * po/README: Exclude ko.po due to disclaimer problems.
814
d61357ce
VS
8152012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
818 len = 0.
819 (grub_gettext_translate_real): Handle 0th string.
820 (grub_gettext_translate): Ensure that "" isn't translated.
821
505e41dc
VS
8222012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
825 TRANSLATORS comment.
826 (grub_diskfilter_print_partmap): Propagate changing of error into
827 warning.
828
e44092db
VS
8292012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
832 to uint64_t to prevent overflow.
833 (grub_diskfilter_lv): Increase start_extent and extent_count
834 to uint64_t to prevent overflow.
835
9b83956a
VS
8362012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * configure.ac: Increase version.
839
da0d5b3f
VS
8402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
843
844 * po/Rules-translit: New file.
845 * po/arabic.sed: Likewise.
846 * po/cyrillic.sed: Likewise.
847 * po/greek.sed: Likewise.
848 * po/hebrew.sed: Likewise.
849 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
850 * po/Makefile.in.in: Add extra_dist4.
851
ac66b453
VS
8522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
853
854 Handle big-endian minixfs (fixes minixfs tests on bigendian).
855
856 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
857 modify names. Introduce MODE_BIGENDIAN.
858 * grub-core/fs/minix_be.c: New file.
859 * grub-core/fs/minix2_be.c: Likewise
860 * grub-core/fs/minix3_be.c: Likewise.
861 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
862 minix3_be.
863 * grub-core/Makefile.core.def (minix_be): New module.
864 (minix2_be): Likewise.
865 (minix3_be): Likewise.
866
8672012-04-01 Felix <email@hamburg.de>
868
869 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
870 (devs): Add MBP 2011.
871
0a2d5a82
VS
8722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
875
d1625889
VS
8762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/normal/cmdline.c (print_completion): New field
879 prompt_len.
880 (grub_cmdline_get): Handle width properly.
881
6d36a236
VS
8822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/commands/lsacpi.c (options): Add missing terminator.
885
9576977e
VS
8862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 889 after 29th of February.
9576977e 890
d73ff15d
VS
8912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Fix exfat endianness handling.
894
895 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
896 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
897 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
898 Byte-swap utf16 when necessary.
899 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
900
bbb39a45
AB
9012012-03-31 Anton Blanchard <anton@samba.org>
9022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Fix btrfs endianness handling.
905
906 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
907 (lower_bound): Make root uint64_t. Use root in le.
908 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
909 (find_path): Fix template key init.
910 (grub_btrfs_dir): Fix mtime byteswap.
911 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
912
354e0af7
VS
9132012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
916 recursion_depth. Break infinite resursions. All users updated.
917
4e75f21c
VS
9182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
921 after free.
922 Reported by: Peter Jones.
923
25581802
AB
9242012-03-31 Anton Blanchard <anton@samba.org>
925
926 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
927 8 bit values.
928
08fbf92e
VS
9292012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * util/grub-install.in: Fix nvram call for PreP.
932
5d1182a6
VS
9332012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
936 the error when some elements are missing into a warning.
937
3f8cdd90
VS
9382012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
941
51006716
CW
9422012-03-28 Colin Watson <cjwatson@ubuntu.com>
943
944 * docs/grub.texi (Invoking grub-probe): New section.
945 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
946
e1bd676b
VS
9472012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Fix tab and wide character handling in editor and menu.
950
951 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
952 agglomerate control characters with combining marks.
953 (bidi_line_wrap): Allow break on tab.
954 (grub_unicode_get_comb_start): New function.
955 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
956 and tab correctly.
957 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
958 with a space.
959 * grub-core/normal/term.c (print_ucs4_terminal): New argument
960 fixed_tab_size. All users updated.
961 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
962 (grub_term_getcharwidth): Handle \t.
963 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
964 and copy.
965
22e6a774
VS
9662012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Handle big-endian mdraid.
969
970 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
971 * grub-core/Makefile.core.def (mdraid09_be): New module.
972 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
973 rather than grub_le_to_cpu* and grub_cpu_to_le*.
974 * grub-core/disk/mdraid_linux_be.c: New file.
975
3c0eae66
VS
9762012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
979
b6cf74c9
VS
9802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
983 missing quotes which caused confusion among translators.
984
83c93b9c
VS
9852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * util/grub-mkconfig_lib.in: Fix typo.
988
ac6fd218
VS
9892012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
992 spaces.
993 * tests/grub_script_leading_whitespace.in: New file.
994 * Makefile.util.def (grub_script_leading_whitespace): New test.
995
ba287dd8
VS
9962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
999 to work.
1000
d2d58d0a
VS
10012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1004 starts with control character.
1005
0382d9bb
VS
10062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1009 overflow.
1010 (grub_gdb_outbuf): Likewise.
1011
d83ff9f9
VS
10122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1015 zero terminator. Fixes a crash.
1016
2282da4a
VS
10172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1020 beyond 4 GiB.
1021 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1022 images independently of preffered adderss field.
1023
0ae4f0bd
VS
10242012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1027 * grub-core/commands/regexp.c: Likewise.
1028 * grub-core/loader/i386/linux.c: Likewise.
1029 * grub-core/partmap/msdos.c: Likewise.
1030 * grub-core/script/execute.c: Likewise.
1031 * grub-core/term/gfxterm.c: Likewise.
1032
546fbe9b
VS
10332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Add variable parsing in $"..." and fix several mismatches with bash.
1036
1037 * Makefile.util.def (grub_script_gettext): New test.
1038 * grub-core/script/execute.c (parse_string): New function.
1039 (gettext_append): Likewise.
1040 (grub_script_arglist_to_argv): Use gettext_append.
1041 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1042 * tests/grub_script_gettext.in: New file.
1043
9fdb2d7b
VS
10442012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Fix handling of leading spaces in scripts.
1047
1048 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1049 spaces.
1050 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1051 other than skipping \r. All users updated.
1052 * tests/grub_script_echo1.in: Add space-related tests.
1053 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1054
1a1ac4f6
VS
10552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1058
b63d89b6
VS
10592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Bump up the version to beta2.
1062
17f38c0f
VS
10632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 Fix gettext reload bugs (e.g. inability to disable gettext
1066 once enabled).
1067
1068 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1069 main_context and secondary_context. All functions updated.
1070 (grub_gettext_translate): Rename to ...
1071 (grub_gettext_translate_real): ... this. Return NULL on failed
1072 translate.
1073 (grub_gettext_translate): Handle secondary context.
1074 (grub_gettext_delete_list): Close file and zero-out the context.
1075 (grub_mofile_open): Don't call grub_gettext_delete_list.
1076 Don't close file.
1077 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1078 if locale="" to avoid pointless error message.
1079 (grub_gettext_env_write_lang): Update lang even if load fails.
1080 Handle secondary context.
1081 (grub_gettext_reread_prefix): New function.
1082 (read_main): Likewise.
1083 (read_secondary): Likewise.
1084 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1085 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1086 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1087 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1088
8e56f870
VS
10892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * configure.ac: Decrease warning level to avoid spurious warnings and
1092 to be able to compile with GCC 4.2.
1093 * Makefile.util.def: Remove -Wno-error=logical-op.
1094
82f6d455
WB
10952012-03-10 William Bittner <william.bittner@gmail.com>
1096
1097 * util/import_unicode.py: Add missing brackets around string for
1098 python 3 support.
1099
1ecd61a4
VS
11002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Fix efi chainloader on network root.
1103
1104 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1105 network devices.
1106 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1107 New function.
1108
14361ee8
VS
11092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1112 unused show_text member.
1113 * docs/grub.texi: Document "text" property.
1114
922aabf3
VS
11152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1118 in dprintf.
1119
ec316771
VS
11202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Fix IMSM handling on Fedora.
1123
1124 * util/getroot.c (grub_util_is_imsm): New function.
1125 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1126
0f021838
VS
11272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * Makefile.am: Strip gold section.
1130 * conf/Makefile.common: Likewise.
1131 * gentpl.py: Likewise.
1132 * grub-core/Makefile.core.def: Likewise.
1133 * grub-core/genmod.sh.in: Likewise.
1134
1039c8eb
VS
11352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1138 * util/grub.d/20_linux_xen.in: Likewise.
1139 Based on Debian patch.
1140
6dd412cd
VS
11412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * util/grub.d/10_linux.in: Fix syntax error resulting in
1144 Richard Laager's patch.
1145 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1146
3fd8bae5
VS
11472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1150 dependencies.
1151
7eea1671
RL
11522012-03-10 Richard Laager <rlaager@wiktel.com>
1153
1154 * util/grub.d/10_linux.in: Fix ZFS root passing.
1155
e8e0566b
VS
11562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1159 * grub-core/commands/xnu_uuid.c: Likewise.
1160 * grub-core/loader/efi/appleloader.c: Likewise.
1161 * grub-core/script/execute.c: Likewise.
1162 * grub-core/script/main.c: Likewise.
1163 * util/grub-mkfont.c: Likewise.
1164
1acc5b1f
VS
11652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * util/grub-mkfont.c (options): Use more appropriate "select" that
1168 "set" for face index.
1169
35d70620
VS
11702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * util/grub-editenv.c (options): Gettextize command summaries.
1173
c9eb96b5
VS
11742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1177 "out of memory" error messagge.
1178
1f493136
VS
11792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1182 of diskfilter for diskfilter on diskfilter support.
1183
6d790129
VS
11842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1187
005f46c9
VS
11882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1191 themes/starfield.
1192
c8f778a0
VS
11932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1196
de1e64eb
VS
11972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1200
c6d54211
VS
12012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1204 of error message.
1205
dd390777
VS
12062012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1209
5fd1c522
VS
12102012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1213 message.
c6d54211 1214 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1215
fae01f6c
VS
12162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1219 Gettextize.
1220 * util/grub-mount.c (options): Likewise.
1221
292fdaff
VS
12222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1225 gettextize.
1226 * grub-core/commands/search_wrap.c (options): Likewise.
1227
ecdbae77
VS
12282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1231
52bfedfa
VS
12322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1235 size calculation.
1236 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1237 none is known.
1238
55b20e58
VS
12392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1242 "temporary" since it's used in identifier and is limited in space.
1243
fda9d101
VS
12442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * po/POTFILES.in: Regenerate. Include *.h since they contain
1247 translatable strings as well.
1248
6a0295e2
VS
12492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1252 byte-swap on big-endian.
1253 Reported by: Lennart Sorensen
1254
807fb77c
VS
12552012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1258 (allocate_pages): Improve dprintf.
1259 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1260 code32_start. Fill code32_start and kernel_alignment in params.
1261 (grub_cmd_initrd): Use prot_init_space.
1262
61ac50ba
VS
12632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1266
abdd26dd
VS
12672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * util/grub-install.in: Add missing dot at the end of sentence.
1270
6e69da9c
VS
12712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1274 * grub-core/commands/videotest.c: Likewise.
1275 * grub-core/loader/i386/linux.c: Likewise.
1276
4a929343
VS
12772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1280 sentence.
1281 Reported by: Milo Casagrande.
1282
bb51c6c6
VS
12832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1286 * grub-core/commands/gptsync.c: Likewise.
1287 * grub-core/commands/hashsum.c: Likewise.
1288 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1289 * grub-core/commands/legacycfg.c: Likewise.
1290 * grub-core/io/gzio.c: Likewise.
1291 * grub-core/net/net.c: Likewise.
1292 * grub-core/term/gfxterm.c: Likewise.
1293 * grub-core/term/terminfo.c: Likewise.
1294 * grub-core/tests/test_blockarg.c: Likewise.
1295 * grub-core/video/video.c: Likewise.
1296 * util/grub-install.in: Likewise.
1297 * util/grub-mkfont.c: Likewise.
1298
b2b149cb
VS
12992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1302
c7c080ad
VS
13032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1306 Reported by: David Prévot.
c7c080ad 1307
f2e243c0
VS
13082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1311 description.
1312
09963c76
VS
13132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * util/grub-script-check.c (main): Fix a syntax error message which was
1316 unclear.
1317
a50514a8
VS
13182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1321
4650daec
VS
13222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1325 messages.
1326
13272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1328
1329 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1330 without argument.
1331 * util/grub-mount.c (options): Likewise.
1332
bbc5a342
VS
13332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1336
ef292a87
VS
13372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/net/http.c: Add TRANSLATORS comments.
1340 * grub-core/normal/cmdline.c: Likewise.
1341 * grub-core/normal/misc.c: Likewise.
1342 * grub-core/partmap/msdos.c: Likewise.
1343 * grub-core/parttool/msdospart.c: Likewise.
1344 * grub-core/script/execute.c: Likewise.
1345 * grub-core/script/main.c: Likewise.
1346 * grub-core/term/terminfo.c: Likewise.
1347 * grub-core/video/bitmap.c: Likewise.
1348 * util/grub-install.in: Likewise.
1349 * util/grub-mkimage.c: Likewise.
1350 * util/grub-mklayout.c: Likewise.
1351 * util/grub-setup.c: Likewise.
1352
0fc19bd0
VS
13532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1356 with similar messages in grub-fstest.
1357
d95862ef
VS
13582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * util/grub-install.in: Unify "option requires an argument" message
1361 with similar messages in other files.
1362 * util/grub-mkconfig.in: Likewise.
1363
b7308f90
VS
13642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * util/grub-set-default.in: Replace printf with gettext_printf (the
1367 string in in question is already translated from grub-reboot)
1368
559dc587
VS
13692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * configure.ac: Bump up the version to beta1.
1372
1a11761f
VS
13732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1376 case when min_align = 0.
1377
24539abd
VS
13782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1381 and fix a case when line_start overflows.
1382
32bd735b
VS
13832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * util/grub-reboot.in (usage): Mention id posibility.
1386 * util/grub-set-default.in (usage): Likewise.
1387
1a2fd1e6
VS
13882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1391 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1392 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1393 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1394 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1395 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1396 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1397
90eeab76
VS
13982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/commands/menuentry.c (options): Remove
1401 GRUB_ARG_OPTION_REPEATABLE.
1402 Reported by: Andreas Vogel
1403
5ad1be82
AV
14042012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1405
1406 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1407
cb055286
HE
14082012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1409
1410 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1411 error.
1412
93b1cd79
VS
14132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Use sort -V by the idea of Georgi Georgiev.
1416
1417 * util/grub-mkconfig_lib.in (version_sort): New function.
1418 (version_test_numeric): Use version_sort.
1419
0cdc126c
VS
14202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 Use submenus in grub-mkconfig.
1423
1424 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1425 * util/grub-mkconfig_lib.in (grub_quote): New function.
1426 (gettext_printf): Use gettext and not gettext_quoted to fix several
1427 messages.
1428 * util/grub.d/10_hurd.in: Use submenus.
1429 * util/grub.d/10_kfreebsd.in: Likewise.
1430 * util/grub.d/10_linux.in: Likewise.
1431 * util/grub.d/10_netbsd.in: Likewise.
1432 * util/grub.d/20_linux_xen.in: Likewise.
1433 * util/grub.d/30_os-prober.in: Likewise.
1434 * util/grub.d/10_illumos.in: Add missing quoting.
1435 * util/grub.d/10_windows.in: Likewise.
1436
d9bef9bc
VS
14372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Fix menu title instability bug.
1440
1441 * grub-core/commands/menuentry.c (options): New option --id.
1442 (grub_normal_add_menu_entry): New argument id. All users updated.
1443 (grub_cmd_menuentry): Handle --id.
1444 (grub_menu_init): Accept unknown arguments.
1445 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1446 feature_menuentry_options.
1447 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1448 saved_entry.
1449 (get_entry_number): Match with id as well.
1450 * include/grub/menu.h (grub_menu_entry): New member id.
1451 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1452 * util/grub.d/00_header.in: Define menuentry_id_option.
1453 * util/grub.d/10_hurd.in: Define id.
1454 * util/grub.d/10_illumos.in: Likewise.
1455 * util/grub.d/10_kfreebsd.in: Likewise.
1456 * util/grub.d/10_linux.in: Likewise.
1457 * util/grub.d/10_netbsd.in: Likewise.
1458 * util/grub.d/10_windows.in: Likewise.
1459 * util/grub.d/20_linux_xen.in: Likewise.
1460 * util/grub.d/30_os-prober.in: Likewise.
1461
14622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1463
1464 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1465 "scope" with "body".
1466
7c8d0ce7
VS
14672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1470 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1471 prot_size and prot_file_size.
1472
49de079b
VS
14732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1476 All users updated. If easily=1 require raid-5/-6 to be full.
1477 (is_node_readable): Likewise.
1478 (scan_devices): Scan incomplete but readable LVs at the end.
1479 (grub_diskfilter_memberlist): Pull missing devices.
1480 (insert_array): Skip scanning until device is complete or scan is
1481 done otherwise.
1482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1483 check.
1484 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1485 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1486
aff05d45
MG
14872012-03-03 Matthew Garrett <mjg@redhat.com>
14882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 Avoid EFI boot services when loading Linux.
1491
1492 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1493 avoid_efi_bootservices. All users updated.
1494 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1495 argument avoid_efi_bootservices. All users updated.
1496 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1497 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1498 align, min_align, relocatable, prefered_address. All users updated.
1499 Allocate avoiding boot services if kernel is relocatable.
1500 (grub_cmd_linux): Check if kernel is relocatable.
1501 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1502 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1503 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1504 avoid_efi_boot_services.
1505 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1506 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1507 (linux_kernel_params): Likewise.
1508
3935dde2
MG
15092012-03-03 Matthew Garrett <mjg@redhat.com>
15102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Use EDID on EFI.
1513
1514 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1515 datasize_out.
1516 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1517 modes. Set gop_handle.
1518 (grub_video_gop_get_edid): New function.
1519 (grub_gop_get_preferred_mode): Likewise.
1520 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1521 (grub_video_efi_gop_adapter): Set .get_edid.
1522 * include/grub/efi/edid.h: New file.
1523 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1524
32107ec0
VS
15252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * util/grub-install.in: Load efivars unconditionally.
1528
e70a2c50
VS
15292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * po/Rules-piglatin: Change suffix from .po-update-en to
1532 .po-update-en-piglatin.
1533
8f9cace1
VS
15342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 Add a pig farm.
1537
1538 * po/piglatin.sed: New file.
1539 * po/en@piglatin.header: Likewise.
1540 * po/Rules-piglatin: Likewise.
1541 * po/README: Add en@piglatin to autogenerated languages.
1542
8f95d002
VS
15432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1546 "Command for ...".
1547 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1548 "Check" since we don't check anything.
1549 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1550 is 64-bit one.
1551 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1552 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1553 (grub_md_sha512_real): Likewise.
1554
805a8dcc
VS
15552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/commands/gptsync.c: Fix typographic quoting.
1558 * grub-core/commands/ieee1275/suspend.c: Likewise.
1559 * grub-core/commands/parttool.c: Likewise.
1560 * grub-core/commands/search_wrap.c: Likewise.
1561 * grub-core/commands/videoinfo.c: Likewise.
1562 * grub-core/gfxmenu/gui_label.c: Likewise.
1563 * grub-core/hello/hello.c: Likewise.
1564 * grub-core/kern/emu/main.c: Likewise.
1565 * grub-core/net/net.c: Likewise.
1566 * grub-core/normal/menu.c: Likewise.
1567 * grub-core/normal/menu_text.c: Likewise.
1568 * grub-core/normal/misc.c: Likewise.
1569 * util/grub-editenv.c: Likewise.
1570 * util/grub-install.in: Likewise.
1571 * util/grub-kbdcomp.in: Likewise.
1572 * util/grub-mkconfig.in: Likewise.
1573 * util/grub-mknetdir.in: Likewise.
1574 * util/grub-mkrescue.in: Likewise.
1575 * util/grub-mkstandalone.in: Likewise.
1576 * util/grub-reboot.in: Likewise.
1577 * util/grub-set-default.in: Likewise.
1578 * util/grub-setup.c: Likewise.
1579 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1580
40211ab8
VS
15812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1584 * grub-core/commands/keystatus.c: Likewise.
1585 * grub-core/commands/loadenv.c: Likewise.
1586 * grub-core/commands/probe.c: Likewise.
1587 * grub-core/commands/regexp.c: Likewise.
1588 * grub-core/commands/true.c: Likewise.
1589 * grub-core/commands/videoinfo.c: Likewise.
1590 * grub-core/disk/cryptodisk.c: Likewise.
1591 * grub-core/disk/ldm.c: Likewise.
1592 * grub-core/disk/loopback.c: Likewise.
1593 * grub-core/disk/luks.c: Likewise.
1594 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1595 * grub-core/kern/disk.c: Likewise.
1596 * grub-core/kern/emu/hostdisk.c: Likewise.
1597
0c7d99c7
VS
15982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1601 * util/grub-install.in: Add missing quote in the comment.
1602
e7d2559b
VS
16032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1606 * grub-core/commands/lsmmap.c: Likewise.
1607 * grub-core/commands/minicmd.c: Likewise.
1608 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1609 * grub-core/commands/regexp.c: Likewise.
1610 * grub-core/gdb/gdb.c: Likewise.
1611 * grub-core/term/gfxterm.c: Likewise.
1612 * util/grub-mkconfig.in: Likewise.
1613 * util/grub-mkfont.c: Likewise.
1614 * util/grub-mklayout.c: Likewise.
1615 * util/grub-mknetdir.in: Likewise.
1616 * util/grub-mkrescue.in: Likewise.
1617 * util/grub.d/30_os-prober.in: Likewise.
1618
49ce9e50
VS
16192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1622 with "Direct color" and "Packed" with "Packed pixel".
1623 (grub_cmd_videoinfo): Simplify legend.
1624
e4b791fa
VS
16252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1628 absolutely unclear error message.
1629
fd1265cb
VS
16302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * util/grub-mkstandalone.in: Remove confusing leftover print.
1633
8822a8a0
VS
16342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1637 comments.
1638 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1639 (GRUB_MOD_INIT): Likewise.
1640 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1641 VGA mode.
1642 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1643 comments.
1644 * util/grub-install.in (usage): Likewise.
1645 Spell ID in whole letters.
1646 Add missing ending dot.
1647 Quote variables.
1648 * util/grub-reboot.in: Fix capitalisation.
1649 * util/grub-set-default.in: Likewise.
1650
937fd0cc
VS
16512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1654 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1655 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1656 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1657 Disable -Werror for -Wdeprecated-declarations.
1658 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1659 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1660 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1661 (grub_util_get_grub_dev): Make luks handling dependent on
1662 HAVE_DEVICE_MAPPER and not __linux__.
1663 (get_win32_path): Fix format security.
1664 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1665 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1666 Don't try grub_find_zpool_from_dir.
1667 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1668 #ifdef-out paresdir.
1669
1bab1ae3
VS
16702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * util/grub-pe2elf.c (usage): Add missing noreturn.
1673 (write_section_data): Rename name to shname to avoid shadowing.
1674 (write_symbol_table): Rename name to symname to avoid shadowing.
1675 Fix write_reloc_section call.
1676
ef023e42
VS
16772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1680 to ensure that it's after the last byte of .text.
1681
48afcb75
VS
16822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * util/ieee1275/ofpath.c (my_isdigit): New function.
1685 (trailing_digits): Use my_isdigit.
1686 (strip_trailing_digits): Likewise.
1687
88d51eff
VS
16882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1691 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1692
17edc2ba
VS
16932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/kern/i386/pc/startup.S: Define __start.
1696
ad5518d7
VS
16972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1700 strip already transforms he format.
1701
9e95e1bf
VS
17022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1705
9cc3ee5c
VS
17062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * util/grub-install.in: Add missing gettext init.
1709 * util/grub-kbdcomp.in: Likewise.
1710 * util/grub-mkconfig.in: Likewise.
1711 * util/grub-mknetdir.in: Likewise.
1712 * util/grub-mkrescue.in: Likewise.
1713 * util/grub-mkstandalone.in: Likewise.
1714 * util/grub-reboot.in: Likewise.
1715 * util/grub-set-default.in: Likewise.
1716 * util/grub.d/00_header.in: Likewise.
1717 * util/grub.d/10_hurd.in: Likewise.
1718 * util/grub.d/10_windows.in: Likewise.
1719 * util/grub.d/30_os-prober.in: Likewise.
1720 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1721
49e08a06
VS
17222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * po/Rules-swiss: Fix header comment.
1725
3809cb41
AV
17262012-02-29 Andreas Vogel <anvoit>
1727
1728 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1729 resulted in leak of arguments.
1730
fa6ec573
VS
17312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1734 reed_solomon_size const definition instead of computing it since
1735 Apple assembler doesn't support the later.
1736
22899b9c
VS
17372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * gentpl.py (kernel): Rewrite Apple part.
1740
a132afc3
VS
17412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1744
9d742bd4
VS
17452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1748 ELF section gap.
1749 (load_image): Likewise.
1750
f04a9a21
VS
17512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * configure.ac: Fix a typo in previous commit.
1754
46cf439c
VS
17552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Don't add -Wl,-N on Apple platform.
1758
1759 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1760 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1761
c4c48c54
VS
17622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/Makefile.core.def (lzma_decompress): Use
1765 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1766
31a12124
VS
17672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/genmod.sh.in: Rewrite the Apple part.
1770
4f3aa1af
VS
17712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1774 comparison.
1775
7bd8b0c7
VS
17762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * acinclude.m4 (grub_CHECK_PIC): New test.
1779 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1780
97304d7c
VS
17812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1784 to avoid the warning.
1785
fb883812
VS
17862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1789 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1790 after. All users updated.
1791
a121c964
VS
17922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 Use the common size routine in hostfs so we can read disks as well.
1795
1796 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1797 (grub_util_get_fd_size): ... this. Return size in bytes.
1798 All users updated.
1799 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1800 grub_util_get_fd_size.
1801
c66d6410
VS
18022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1805 Add blocksize retrieval.
1806
dfc8aeb0
VS
18072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * configure.ac: Restore CFLAGS after efiemu check.
1810
403e25a5
VS
18112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1814 Apple bug.
1815
382775d1
VS
18162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1819
6fd4e6e4
VS
18202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1823 (grub_cmd_halt): Likewise.
1824
bea359d6
VS
18252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1828 for local arithmetics.
1829 Break %sp init into 2 instructions.
1830 Add 0 byte at the end.
1831
32eb6ee1
VS
18322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1835 before loops.
1836
e8377389
VS
18372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1840 for context.
1841
8cb17de7
VS
18422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/disk/ldm.c (make_vg): Init part.name.
1845 (grub_ldm_detect): Silence spurious warning.
1846 (grub_util_is_ldm): Likewise.
1847
595717e6
VS
18482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1851 sane value to avoid a spurious warning.
1852
c4b7e588
VS
18532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1856 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1857
59824957
VS
18582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1861 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1862
70115b99
VS
18632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1866 hardcoding the relevant info.
1867
56733740
VS
18682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1871 missing const qualifiers.
1872 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1873
43481481
VS
18742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * util/getroot.c [__APPLE__]: Add missing includes.
1877 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1878
3cb38f01
VS
18792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1882
d9dbf11e
VS
18832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1886 avoid conflicts.
1887
0c42a45d
VS
18882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1891
46c34eb0
VS
18922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1895 and grub_file_close call.
1896
99ce1597
VS
18972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Add LZSS Mach-O support (needed for new xnu kernelcache).
1900
1901 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1902 * grub-core/loader/lzss.c: New file.
1903 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1904 on Mach-O open failure.
1905 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1906 Don't free cmdsXX in uncompressedXX is set.
1907 (grub_macho_file): Init new fields.
1908 New argument is_64bit. All users updated.
1909 Handle compressed. Error out if no suitable architecture is found.
1910 Don't close file.
1911 (grub_macho_open): New argument is_64bit. All users updated.
1912 * grub-core/loader/macho32.c: Add defines for new fields.
1913 * grub-core/loader/macho64.c: Likewise.
1914 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1915 (grub_macho_parse): Handle compressed.
1916 Defer actual processing if compressed.
1917 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1918 "filename". All users updated.
1919 (grub_macho_size): New argument "filename". All users updated.
1920 (grub_macho_get_entry_point): Likewise.
1921 (grub_macho_load): Handle compressed.
1922 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1923 (GRUB_MACHO_LZSS_OFFSET): New define.
1924 (grub_decompress_lzss): New proto.
1925 * include/grub/machoload.h (grub_macho_file): New fields to handle
1926 compressed.
1927 (grub_macho_contains_macho64): Remove proto.
1928 (grub_macho_contains_macho32): Likewise.
1929 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1930
ebd17d6f
VS
19312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1934
2702b4e4
VS
19352012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Fix make dist.
1938
1939 * Makefile.am (starfield_theme_files): New var.
1940 (starfield_DATA): Use starfield_theme_files.
1941 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1942 Add bootcheck-related files.
1943 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1944 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1945 and font_char_metrics.txt.
1946 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1947 (setjmp): Add lib/ia64/longjmp.S.
1948 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1949 * po/POTFILES.in: Regenerate.
1950 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1951 DISTFILES.common.extra1.
1952 * util/devicemap.c: Removed.
1953 * grub-core/lib/i386/relocator_backward.S: Likewise.
1954 * util/import_gcry.py: Remove unused files. Add extra_dist for
1955 ChangeLog.
1956
cf1adfdf
VS
19572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1960 grub_gettext_delete_list before changing grub_gettext_max to avoid
1961 running out of array bounds.
1962
19632012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1964
1965 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1966 grub_vga_text_init/grub_vga_text_fini.
1967
cf1adfdf 19682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1969
1970 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1971
541d92e9
VS
19722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * configure.ac: Bump to 2.00~beta0.
1975
7931dddf
VS
19762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1979 missing initialisation.
1980
f1b16fa3
VS
19812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1984
83ddae23
VS
19852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Support v2 xnu boot arguments.
1988
1989 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1990 New argument fsbfreq_out.
1991 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1992 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1993 be used.
1994 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1995 darwin_version.
1996 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1997 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1998 (grub_xnu_boot_params): Rename to ...
1999 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2000 (grub_xnu_boot_params_v2): New struct.
2001
dc693fe6
VS
20022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2005 zeroing of CRC field before computing CRC.
2006
5a6e39c2
VS
20072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2010 Change order of allocations to decrease fragmentation.
2011
6c21f5d7
VS
20122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2015
cfe456dc
CW
20162012-02-27 Colin Watson <cjwatson@ubuntu.com>
2017
2018 Use write-combining MTRR to speed up video with buggy BIOSes.
2019
2020 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2021 (cpuid): New define.
2022 (rdmsr): Likewise.
2023 (wrmsr): Likewise.
2024 (mtrr_base): Likewise.
2025 (mtrr_mask): Likewise.
2026 (grub_vbe_enable_mtrr_entry): New function.
2027 (grub_vbe_enable_mtrr): Likewise.
2028 (grub_vbe_disable_mtrr): Likewise.
2029 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2030 control off to BIOS.
2031 (grub_video_vbe_init): Fill mtrr.
2032 (grub_video_vbe_fini): Disable mtrr.
2033 (grub_video_vbe_get_info_and_fini): Likewise.
2034 (grub_video_vbe_setup): Enable mtrr.
2035
e3c78337
CW
20362012-02-27 Colin Watson <cjwatson@ubuntu.com>
2037
2038 * include/grub/partition.h (grub_partition_map): Change prototype of
2039 embed to take a maximum value for nsectors.
2040 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2041 * include/grub/fs.h (grub_fs): Likewise.
2042 * grub-core/partmap/msdos.c (embed_signatures): New array.
2043 (pc_partition_map_embed): Check for and avoid sectors matching any
2044 of the signatures in embed_signatures, up to max_nsectors.
2045 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2046 returned sector map to max_nsectors.
2047 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2048 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2049 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2050 * util/grub-setup.c (setup): Allow for the embedding area being
2051 split into multiple blocklists. Tell dest_partmap->embed the
2052 maximum number of sectors we care about.
2053
20542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2057 Specify blocklist_install and reserver_first_sector for all fs.
2058 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2059 blocklists.
2060
984b973f
VS
20612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/grub-install.in: Clarify strings.
2064 Fix source dir check.
2065
f122e0d6
RL
20662012-02-27 Richard Laager <rlaager@wiktel.com>
2067
2068 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2069 "zfs" and "fuse.zfs" as synonyms.
2070
071114bb
VS
20712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * configure.ac: Put platform and target_cpu substitutions back since
2074 they are used for directories.
2075
817e6abc
RL
20762012-02-27 Richard Laager <rlaager@wiktel.com>
20772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2080 * util/grub.d/20_linux_xen.in: Likewise.
2081
897b7419
RL
20822012-02-27 Richard Laager <rlaager@wiktel.com>
2083
2084 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2085 with full paths.
2086
a414bd15
RL
20872012-02-27 Richard Laager <rlaager@wiktel.com>
2088
2089 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2090 unescape.
2091
30ac48c4
VS
20922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Don't use insecure popen in getroot.
2095
2096 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2097 (exec_pipe): ... here.
2098 (find_root_devices_from_poolname): Use exec_pipe.
2099
53f13848
VS
21002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 Remove platform and target_cpu replacement.
2103
2104 * configure.ac: Remove platform and target_cpu substitutions.
2105 * tests/util/grub-shell.in: Use modinfo.
2106 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2107 explicitly.
2108
90cb2803
VS
21092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 Autodetect platform in grub-install but allow override.
2112
2113 * util/grub-install.in: Autodetect platform. Support --target and
2114 --directory. Read platform from modinfo.sh.
2115
b9136427
VS
21162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 Support btrfs multi-volume probe.
2119
2120 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2121 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2122 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2123 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2124 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2125 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2126 grub_find_root_devices_from_btrfs if on btrfs.
2127
c36e5cd1
VS
21282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Remove any awareness of *.c util files about target.
2131
2132 * Makefile.util.def (grub-setup): Split to ...
2133 (grub-bios-setup): ... and this.
2134 (grub-sparc64-setup): ... and this.
2135 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2136 * docs/man/grub-setup.h2m: Split into ...
2137 * docs/man/grub-sparc64-setup.h2m: ... this.
2138 * docs/man/grub-bios-setup.h2m: ... and this.
2139 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2140 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2141 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2142 (grub_target_addr_t): Remove.
2143 (grub_target_size_t): Remove.
2144 (grub_target_ssize_t): Remove.
2145 * util/grub-install.in: Use new grub-*-setup.
2146 * util/grub-mkimagexx.c (Elf_Word): New define.
2147 (Elf_Half): Likewise.
2148 (Elf_Section): Likewise.
2149 (ELF_ST_TYPE): Likewise.
2150 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2151 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2152
584b2f8a
VS
21532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 Replace grub_target_addr with more appropriate types.
2156
2157 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2158 grub_target_addr with grub_addr.
2159 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2160 grub_target_addr with grub_port.
2161 (grub_cmd_write): Likewise.
2162 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2163 grub_target_addr with grub_addr.
2164 (grub_cmd_write): Likewise.
2165 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2166
5a0dc6fb
VS
21672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2170 const qualifier for vendor_guid.
2171
786aff6e
VS
21722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2175 const qualifier.
2176 (efiemu_memequal): Likewise.
2177 (find_variable): Likewise.
2178
49017b17
VS
21792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Fix missing console prototype on qemu-mips.
2182
2183 * include/grub/mips/qemu_mips/console.h: New file.
2184
c5988629
MG
21852012-02-27 Matthew Garrett <mjg@redhat.com>
21862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2189 * include/grub/efi/efi.h: Likewise.
2190 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2191 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2192 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2193 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2194 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2195 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2196
e33f8d69
MG
21972012-02-27 Matthew Garrett <mjg@redhat.com>
2198
2199 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2200
fb312cd9
VS
22012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2204 error.
2205
7134247c
VS
22062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * configure.ac: Remove inappropriate use of program_transform_name
2209 on grubdir and bootdir but allow explicit specification of those
2210 variables.
2211
6a313124
VS
22122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * util/grub-mknetdir.in (grub_prefix): Removed.
2215 (subdir): Use @bootdirname@ and @grubdirname@.
2216
2311c5ca
VS
22172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2220
7d5d60f7
VS
22212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * po/POTFILES.in: Regenerated.
2224
8151bc82
VS
22252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 Remove improper use of program_transform_name on pkglibrootdir.
2228
2229 * configure.ac (pkglibrootdir): Removed.
2230 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2231 * util/grub-mkimage.c: Likewise.
2232
b4a6a533
VS
22332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2236 warning.
2237
668f304f
VS
22382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * util/grub-install.in: Use file identifier if no UUID is available
2241 or user explicitly prompted for it.
2242
665f2341
NP
22432012-02-27 Navdeep Parhar <nparhar@gmail.com>
2244
2245 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2246 (freebsd_get_zfs): New function.
2247 (grub_freebsd_boot): Pass zfs UUID.
2248 (grub_cmd_freebsd): Set zfs UUID.
2249
8151bc82 22502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2251
2252 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2253 pkglibrootdir.
2254
e4c498a1
MG
22552012-02-27 Mike Gilbert <floppym@gentoo.org>
2256
2257 Add configure flag to control libzfs integration.
2258
2259 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2260
1e9a9a3f
VS
22612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2264 device.
2265 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2266 small devices.
2267
036985b8
VS
22682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2271 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2272 be used on non-modules.
2273
2274 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2275 Rename to grub_boot_init.
2276 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2277 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2278 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2279 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2280 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2281 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2282 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2283 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2284 includes.
2285 (grub_machine_init): Remove empty inits.
2286 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2287 includes.
2288 (grub_machine_init): Remove empty inits.
2289 * grub-core/term/arc/console.c: Remove explicit proto.
2290 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2291 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2292 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2293 grub_at_keyboard_fini.
2294 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2295 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2296 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2297 grub_gfxterm_fini.
2298 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2299 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2300 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2301 grub_vgatext_fini.
2302 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2303 * grub-core/term/serial.c (GRUB_MOD_INIT)
2304 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2305 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2306 grub_serial_fini.
2307 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2308 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2309 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2310 grub_terminfo_fini.
2311 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2312 (GRUB_MOD_FINI): Likewise.
2313 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2314 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2315 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2316 grub_video_radeon_fuloong2e_fini.
2317 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2318 [LOONGSON]: Rename to grub_video_sis315pro_init.
2319 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2320 grub_video_sis315pro_fini.
2321 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2322 [LOONGSON]: Rename to grub_video_sm712_init.
2323 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2324 grub_video_sm712_fini.
2325 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2326 (grub_at_keyboard_fini): Likewise.
2327 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2328 Don't declare grub_{modname}_init.
2329 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2330 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2331 New proto.
2332 (grub_keylayouts_fini) [!EMU]: Likewise.
2333 * include/grub/serial.h (grub_serial_init) [!EMU]:
2334 New proto.
2335 (grub_serial_fini) [!EMU]: Likewise.
2336 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2337 New proto.
2338 (grub_terminfo_fini) [!EMU]: Likewise.
2339 * include/grub/video.h (grub_font_init) [!EMU]:
2340 New proto.
2341 (grub_font_fini) [!EMU]: Likewise.
2342 (grub_gfxterm_init) [!EMU]: Likewise.
2343 (grub_gfxterm_fini) [!EMU]: Likewise.
2344 (grub_video_sm712_init) [!EMU]: Likewise.
2345 (grub_video_sm712_fini) [!EMU]: Likewise.
2346 (grub_video_sis315pro_init) [!EMU]: Likewise.
2347 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2348 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2349 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2350
d5534665
VS
23512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 Make nand a prefix for nand devices.
2354
2355 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2356
10133b5f
VS
23572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2360 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2361
8e307a62
VS
23622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * include/grub/env.h (grub_env_find): Remove prototype.
2365 * grub-core/kern/env.c (grub_env_find): Make static.
2366 (grub_env_set): Remove useless set.
2367
a4c65f34
VS
23682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/kern/i386/realmode.S: Remove useless align.
2371
d87893d5
VS
23722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * include/grub/dl.h (grub_dl_load_file): Don't export.
2375
50159add
VS
23762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2379 grub_dprintf.
2380
b2582b84
VS
23812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2384 grub_errors.
2385 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2386 not reloading whole superblock but only the part which is really needed.
2387 Remove useless grub_errors.
2388 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2389 grub_errors.
2390
e2a83395
VS
23912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Don't export grub_get_rtc.
2394
2395 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2396 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2397
e7d2a906
VS
23982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2401
6cf1363b
VS
24022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2405 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2406
eece3349
VS
24072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 Remove prio_list.
2410
2411 * include/grub/list.h (grub_prio_list): Removed.
2412 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2413 GRUB_COMMAND_PRIO_MASK.
2414 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2415 GRUB_COMMAND_FLAG_ACTIVE.
2416 (grub_prio_list_insert): Removed.
2417 (grub_prio_list_remove): Likewise.
2418 (GRUB_AS_PRIO_LIST): Likewise.
2419 (GRUB_AS_PRIO_LIST_P): Likewise.
2420 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2421 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2422 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2423 * grub-core/kern/command.c (grub_register_command_prio): Inline
2424 the prio_list code.
2425 (grub_unregister_command): Likewise.
2426
94f064b4
VS
24272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 Fix interrupt mixup from previous commit.
2430
2431 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2432 (grub_realidt): New var.
2433 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2434 Load idt.
2435 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2436 New declaration.
2437 (grub_relocator16_boot): Set grub_relocator16_idt.
2438 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2439 (LOCAL(realidt)): ... this.
2440 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2441 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2442 (grub_realidt): New variable.
2443
27317084
VS
24442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2447 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2448 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2449 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2450 Gettextize.
2451 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2452 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2453 * po/POTFILES.in: Regenerate.
2454
47b40053
VS
24552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2458 errors.
2459
2b343101
VS
24602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2463 \0.
2464 (add_length): Likewise.
2465
ff27c3dd
LK
24662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24672012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2468
2469 GDB serial and backtrace support.
2470
2471 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2472 (prot_to_real): Likewise.
2473 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2474 * grub-core/Makefile.core.def (backtrace): New module.
2475 (gdb): Likewise.
2476 * grub-core/gdb/cstub.c: New file.
2477 * grub-core/gdb/gdb.c: Likewise.
2478 * grub-core/gdb/i386/idt.c: Likewise.
2479 * grub-core/gdb/i386/machdep.S: Likewise.
2480 * grub-core/gdb/i386/signal.c: Likewise.
2481 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2482 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2483 * include/grub/backtrace.h: Likewise.
2484 * include/grub/gdb.h: Likewise.
2485 * include/grub/i386/gdb.h: Likewise.
2486
24872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2488
2489 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2490 New function.
2491 (add_length): Likewise.
2492 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2493 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2494 proto.
2495 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2496 __argp_get_display_len.
2497
ff27c3dd 24982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2499
2500 $"..." support in scripts.
2501
2502 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2503 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2504 * grub-core/script/yylex.l: Likewise.
2505 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2506 value.
2507
ff27c3dd 25082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2509
2510 * gentpl.py: Remove obsolete pkglib_DATA handling.
2511
ff27c3dd 25122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2513
2514 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2515 mailing list.
2516
2517 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2518 * util/grub-kbdcomp.in: Likewise.
2519 * util/grub-mkconfig.in: Likewise.
2520 * util/grub-mkconfig_lib.in: Likewise.
2521 * util/grub-mknetdir.in: Likewise.
2522 * util/grub-mkrescue.in: Likewise.
2523 * util/grub-mkstandalone.in: Likewise.
2524 * util/grub-reboot.in: Likewise.
2525 * util/grub-set-default.in: Likewise.
2526 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2527
ff27c3dd 25282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2529
2530 Remove GRUB_PREFIX.
2531
2532 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2533 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2534 used for backward compatibility.
2535
ff27c3dd 25362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2537
2538 Add new all_video module.
2539
2540 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2541 * grub-core/Makefile.core.def (all_video): New module.
2542 * grub-core/genmoddep.awk: Generate dependency of all_video from
2543 video.lst.
2544 * grub-core/lib/fake_module.c: New file.
2545 * grub-core/normal/main.c (features): Add feature_all_video_module.
2546 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2547 don't do explicit search again.
47454da5 2548 insmod all_video in load_video if available.
22c7ce85 2549
ff27c3dd 25502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2551
2552 Another round of string clarification and adding TRANSLATORS comments.
2553
ff27c3dd 25542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2555
2556 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2557
ff27c3dd 25582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2559
2560 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2561 to grub_ssize_t.
2562 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2563 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2564
ff27c3dd 25652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2566
2567 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2568 trailing newline implicitly. All users updated.
2569
ff27c3dd 25702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2571
2572 Implement serial on IEEE1275 and EFI.
2573
2574 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2575 on emu. Mention arc and emu as the only platforms without serial
2576 support.
2577 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2578 ieee1275 platforms.
2579 * grub-core/term/efi/serial.c: New file.
2580 * grub-core/term/ieee1275/serial.c: Likewise.
2581 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2582 specification if no ns8250 driver is available.
2583 (grub_cmd_serial): Likewise.
2584 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2585 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2586 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2587 (grub_efi_parity_type_t): New type.
2588 (grub_efi_stop_bits_t): Likewise.
2589 (grub_efi_serial_io_interface): New struct.
2590 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2591 available for all interfaces.
2592 Add EFI and IEEE1275 fields.
2593 (grub_ofserial_init): New proto.
2594 (grub_efiserial_init): Likeiwse.
2595 * util/grub.d/00_header.in: Don't check for the presence of serial
2596 module.
2597
ff27c3dd 25982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2599
2600 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2601 name as if it was an alias.
2602
114076ef
VS
26032012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/commands/lsacpi.c (options): Fix typo.
2606
6a656b0e
VS
26072012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Convert grub-emu to argp.
2610
2611 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2612 emu.
2613 * util/argp_common.c: Rename to ...
2614 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2615 Add missing includes.
2616 * grub-core/kern/emu/main.c: Convert to argp.
2617 * po/POTFILES.in: Regenerate.
2618 * util/grub-install.in (usage): Make first letter lowcase in messages
2619 for uniformity.
2620 * util/grub-setup.c (options): Likewise.
2621
1e3f8ae8
VS
26222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2625 Put back accidently commented-out code.
2626
ed167a80
VS
26272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2630 loop check using Brent algorithm.
2631 (grub_hfsplus_btree_search): Likewise.
2632
6753c0ec
VS
26332012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * util/grub-install.in: Fix usage of wrong device for PreP install.
2636
4e27343f
VS
26372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * conf/Makefile.common (CFLAGS_GNULIB): Add
2640 -Wno-unsafe-loop-optimizations.
2641 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2642 on tools.
2643 * grub-core/commands/legacycfg.c: Add pragma to skip
2644 -Wunsafe-loop-optimizations.
2645 (check_password_md5_real): Fix loop counter type.
2646 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2647 reading.
2648 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2649 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2650 loop condition.
2651 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2652 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2653 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2654 condition.
2655 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2656 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2657 avoid possible infinite loops.
2658 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2659 and -Wunsafe-loop-optimizations.
2660 * grub-core/script/yylex.l: Likewise.
2661 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2662 (print_glyphs): Avoid infinite loops.
2663 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2664
697f18b0
GS
26652012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2666
2667 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2668 to avoid infinite loop.
2669 (disp_acpi_rsdt_table): Likewise.
2670
274416e8
VS
26712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/font/font.c (grub_font_load): Add support for default
2674 path for fonts ($prefix/fonts).
2675 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2676 for checking if string is a path.
2677 * grub-core/normal/main.c (features): Add feature_default_font_path.
2678 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2679 * util/grub.d/00_header.in: Use default directory if possible.
2680 * util/grub-install.in: Install unicode.pf2.
2681
b3e08622
VS
26822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2685 * po/Rules-swiss: New file.
2686 * po/swiss.sed: Likewise.
2687
fe42ce09
VS
26882012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/fs/btrfs.c (find_device): Fix typos.
2691 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2692 * util/grub-mkrelpath.c (argp_parser): Likewise.
2693 Reported by: Yuri Chornoivan.
2694
72f1d065
DO
26952012-02-23 Dalet Omega <daletomega@gmail.com>
2696
2697 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2698 for usual informative messages.
2699
c5884973
DO
27002012-02-23 Dalet Omega <daletomega@gmail.com>
2701
2702 Starfield theme.
2703
2704 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2705 * conf/Makefile.common: Define starfielddir.
2706 * configure.ac: Configure starfield.
2707 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2708 * themes/starfield/README: Likewise.
2709 * themes/starfield/blob_w.png: Likewise.
2710 * themes/starfield/boot_menu_c.png: Likewise.
2711 * themes/starfield/boot_menu_e.png: Likewise.
2712 * themes/starfield/boot_menu_n.png: Likewise.
2713 * themes/starfield/boot_menu_ne.png: Likewise.
2714 * themes/starfield/boot_menu_nw.png: Likewise.
2715 * themes/starfield/boot_menu_s.png: Likewise.
2716 * themes/starfield/boot_menu_se.png: Likewise.
2717 * themes/starfield/boot_menu_sw.png: Likewise.
2718 * themes/starfield/boot_menu_w.png: Likewise.
2719 * themes/starfield/slider_c.png: Likewise.
2720 * themes/starfield/slider_n.png: Likewise.
2721 * themes/starfield/slider_s.png: Likewise.
2722 * themes/starfield/src/blob_nw.xcf: Likewise.
2723 * themes/starfield/src/bootmenu/: Likewise.
2724 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2725 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2726 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2727 * themes/starfield/src/slider_c.xcf: Likewise.
2728 * themes/starfield/src/slider_n.xcf: Likewise.
2729 * themes/starfield/src/slider_s.xcf: Likewise.
2730 * themes/starfield/src/terminalbox/: Likewise.
2731 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2732 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2733 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2734 * themes/starfield/starfield.png: Likewise.
2735 * themes/starfield/terminal_box_c.png: Likewise.
2736 * themes/starfield/terminal_box_e.png: Likewise.
2737 * themes/starfield/terminal_box_n.png: Likewise.
2738 * themes/starfield/terminal_box_ne.png: Likewise.
2739 * themes/starfield/terminal_box_nw.png: Likewise.
2740 * themes/starfield/terminal_box_s.png: Likewise.
2741 * themes/starfield/terminal_box_se.png: Likewise.
2742 * themes/starfield/terminal_box_sw.png: Likewise.
2743 * themes/starfield/terminal_box_w.png: Likewise.
2744 * themes/starfield/theme.txt: Likewise.
2745
17d73325
VS
27462012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * util/grub.d/00_header.in: Add missing export theme.
2749
dbebaf92
VS
27502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2753 already included.
2754 Reported by: Eren D.
2755
3d68bffb
VS
27562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * conf/Makefile.common (grubdatadir): Removed.
2759 (Makefile.am): Move eveything grubdata to pkgdata.
2760
4b59234d
VS
27612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/commands/acpihalt.c (get_sleep_type):
2764 Remove unused variable.
2765
463dcadc
VS
27662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2769 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2770 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2771 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2772 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2773 i18n with gettext no-op.
2774 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2775 GRUB_ACPI_OPCODE_STRING_CONST.
2776 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2777 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2778
e5b90c82
VS
27792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * po/POTFILES.in: Regenerate.
2782
2a704ca9
VS
27832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2786 -Wno-error=missing-noreturn.
2787
84f9d341
VS
27882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2791 condition to avoid possibly infinite loops.
2792 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2793 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2794
d46683f9
VS
27952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2798 condition to avoid possibly infinite loops.
2799
c44866b2
VS
28002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2803 on show_error.
2804
96790539
VS
28052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2808
1ba7e295
VS
28092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2812
21ffe8f1
VS
28132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * util/bin2h.c (usage): Add missing attribute noreturn.
2816
0ccb6b3c
VS
28172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2820 if the size isn't divisible by 512.
2821
b00d7fb6
VS
28222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 Make list_push and list_remove functions rather than inline functions
2825 to decrease size and avoid aliasing violations.
2826
2827 * include/grub/list.h (grub_list_push): Move to ...
2828 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2829 * include/grub/list.h (grub_list_remove): Move to ...
2830 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2831
9d369087
VS
28322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2835 and -Wunused-result.
2836
af0250d9
VS
28372012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2840 Reported by: Seth Goldberg
2841
aad32b14
VS
28422012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2845
ac96441c
ST
28462012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2847
2848 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2849 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2850 command line.
2851 * docs/grub.texi (Simple configuration): Document
2852 GRUB_CMDLINE_GNUMACH.
2853
28542012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2855
2856 * conf/Makefile.common (platform_SCRIPTS): New variable.
2857 (platform_PROGRAMS): Likewise.
2858 * gentpl.py: Mark *,module and *.image for install.
2859 * grub-core/gdb_grub.in: Add a notice of expected environment.
2860 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2861 (gmodule.pl): Likewise.
2862
ac96441c 28632012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2864
2865 Replace grub_checkkey with grub_getkey_noblock.
2866
2867 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2868 (grub_getkey_noblock): ... this. All users updated.
2869
ac96441c 28702012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2871
2872 * grub-core/kern/emu/console.c: Move to ...
2873 * grub-core/term/emu/console.c: ...here.
2874 (grub_ncurses_getkey): Fix return value if no key is detected.
2875
e51b5666
VS
28762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2879 (grub_unit_test_fini): Likewise.
2880 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2881
28822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * include/grub/test.h (GRUB_UNIT_TEST)
2885
d9a62292
VS
28862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2889 Better error handling.
2890 (grub_script_return): Likewise.
2891 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2892
77c9182f
VS
28932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2896 rimplicit redifinition.
2897
edb13cf9
VS
28982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2901 GRUB.
2902
a9e9dc7c
VS
29032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2906 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2907 prompt here.
2908
b4ba8e02
VS
29092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2912 as GRUB_ERR_BUG. Don't malloc if no device is available.
2913
dded5540
VS
29142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2917 Mark calling with invalid term as GRUB_ERR_BUG.
2918
0cf69874
VS
29192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2922 packets rather than raising an error.
2923
59bfe502
VS
29242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2927 in if.
2928
db5fc596
VS
29292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2932 diagnostic to dprintf.
2933 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2934
e4b7f404
VS
29352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2938 device name.
2939
e7b02f9e
VS
29402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2943 (grub_ntfs_iterate_dir): Likewise.
2944
0331e102
VS
29452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Efiemu stylistic fixes and gettext.
2948
2949 * grub-core/efiemu/i386/loadcore32.c
2950 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2951 * grub-core/efiemu/i386/loadcore64.c
2952 (grub_arch_efiemu_relocate_symbols64): Likewise.
2953 * grub-core/efiemu/i386/pc/cfgtables.c
2954 (grub_machine_efiemu_init_tables): Likewise.
2955 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2956 (grub_efiemu_loadcore_initXX): Add a filename argument.
2957 All users updated.
2958 Improved error message.
2959 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2960 Add a filename argument.
2961 All users updated.
2962 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2963 Reclassify double relocation as GRUB_ERR_BUG.
2964
306fc074
VS
29652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2968 handling.
2969
794d8ef2
VS
29702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2973 on partition.
2974
29752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2976
2977 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2978
794d8ef2 29792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2980
2981 Improve string. Gettextize.
2982
78dde88e
VS
29832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2986 utils.
2987 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2988
4786a90f
VS
29892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2992 [GRUB_UTIL]: New function.
2993 (insert_array) [GRUB_UTIL]: Store partmaps.
2994 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2995 partmaps.
2996 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2997 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2998 (probe_abstraction): Print diskfilter and not raid.
2999 Reported by: Lennart Sorensen
3000
0b6225bd
VS
30012012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3004 * util/grub-mkimagexx.c (MASK3): New define.
3005 (add_value_to_slot_20b): Use MASK3.
3006 (add_value_to_slot_21): Likewise.
3007 (relocate_addresses): Fix format specification.
3008 (load_image): Explicitly init symtab_section.
3009
b055f8f6
VS
30102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3013 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3014
b77c2fb7
VS
30152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3018 on powerpc.
3019 Reported by: Lennart Sorensen
3020
e3ec28ab
VS
30212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * gentpl.py: Add missing license header.
3024 * docs/grub.texi: Update copyright year.
3025
c8d9ead6
GS
30262012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3027
3028 Source grub-mkconfig_lib from the build directory at build time.
3029 Suggested by: Vladimir Serbinenko.
3030
3031 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3032 * util/grub-install.in: Define pkgdatadir if not already set, and source
3033 grub-mkconfig_lib from there.
3034 * util/grub-kbdcomp.in: Likewise.
3035 * util/grub-mkconfig.in: Likewise.
3036 * util/grub-mknetdir.in: Likewise.
3037 * util/grub-mkrescue.in: Likewise.
3038 * util/grub-mkstandalone.in: Likewise.
3039 * util/grub-reboot.in: Likewise.
3040 * util/grub-set-default.in: Likewise.
3041 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3042
ebcecdf1
VS
30432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Increase warning level.
3046
3047 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3048 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3049 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3050 (TARGET_CFLAGS): Likewise.
3051 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3052 * grub-core/Makefile.core.def (decompressor_xz): Add
3053 -Wno-unreachable-code.
3054 (normal): Add -Wno-redundant-decls.
3055 (xzio): Add -Wno-unreachable-code.
3056 (lzopio): Add -Wno-redundant-decls -Wno-error.
3057 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3058 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3059 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3060 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3061 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3062 * grub-core/kern/i386/coreboot/init.c: Add exception to
3063 -Wsuggest-attribute=noreturn.
3064 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3065 * grub-core/kern/ia64/dl_helper.c: Likewise.
3066 * grub-core/kern/mips/dl.c: Likewise.
3067 * grub-core/kern/sparc64/dl.c: Likewise.
3068 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3069 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3070 (memcmp): Likewise.
3071 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3072 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3073 * grub-core/loader/mips/linux.c: Likewise.
3074 * grub-core/loader/multiboot_elfxx.c: Likewise.
3075 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3076 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3077 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3078 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3079 fixme.
3080 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3081 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3082 Fix prototype.
3083
37bb97fe
VS
30842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3087 address.
3088
29a3550b
VS
30892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3092 Avoid improper use of strings.
3093 (grub_cmd_legacy_initrdnounzip): Likewise.
3094
dfdffd0d
VS
30952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3098 attribute.
3099 (grub_util_info): Likewise.
3100 (grub_util_error): Likewise.
3101
102fae4a
VS
31022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3105 * util/grub-fstest.c (fstest): Likewise.
3106
7e94d044
VS
31072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3110 (grub_md_sha512_real): Likewise.
3111 (grub_util_get_geli_uuid): Likewise.
3112 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3113 (grub_util_biosdisk_open): Fix format specification.
3114 Respect format security.
3115 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3116 (xrealloc): Likewise.
3117 (xasprintf): Likewise.
3118
5ebd9769
VS
31192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/import_gcry.py: Include grub/crypto.h in init.c.
3122
495fc8c1
VS
31232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3126 (generate_image): Make prefix a const char *.
3127 Fix format specifications. Respect format security.
3128 Avoid void * arithmetics.
3129 Avoid shadowing.
3130 (argp_parser): Remove unused variable. Respect format security.
3131 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3132 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3133 (count_funcs): Remove unused variable.
3134 (relocate_addresses): Fix format specification.
3135 Disable x86-64 with elf32. Remove unused variables.
3136 (add_fixup_entry): Avoid shadowing.
3137 (make_reloc_section): Fix format specification.
3138 Use assert.
3139 (locate_sections): Fix format specifications.
3140 (load_image): Avoid shadowing.
3141
043c2ea3
VS
31422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3145 Fix format specifications. Respect format security.
3146 Don't translate already translated grub_errmsg.
3147 (argp_parser): Remove unused variable
3148
3ec65a81
VS
31492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3152
a4d9fe4a
VS
31532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3156 (main): Likewise. Use xmalloc. Respect format security.
3157
15b81d49
VS
31582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3161 a const char *.
3162 (argp_parser): Remove unused variable.
3163
31731fc0
VS
31642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3167 (add_pixel): Make static.
3168 (add_font): Likewise.
3169 (write_string_section): Make name and str a const char *.
3170 (write_be16_section): Make name a const char *.
3171 (print_glyphs): Make static.
3172 (write_font_ascii_bitmap): Likewise.
3173 (write_font_width_spec): Likewise.
3174 (write_font_pf2): Likewise.
3175 (argp_parser): Remove unused variable.
3176 Respect format security.
3177 (main): Avoid shadowing. Respect format security.
3178
0809527b
VS
31792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * util/grub-editenv.c (argp_parser): Make static.
3182 (create_envblk_file): Use xmalloc.
3183 (open_envblk_file): Likewise.
3184 Resepect format security.
3185 (set_variables): Respect format security.
3186
45b0c8b7
VS
31872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * util/getroot.c (grub_find_device): Respect format security.
3190 (get_mdadm_uuid): Remove unused variable.
3191 (grub_util_pull_device): Dont call gettext on already translated
3192 grub_errmsg.
3193 (find_system_device): Remove unused variable.
3194 (grub_util_get_grub_dev): Likewise.
3195 (grub_make_system_path_relative_to_its_root): Respect format security.
3196
1b024b4e
VS
31972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * util/grub-fstest.c (execute_command): Make first argument
3200 a const char *.
3201 (read_file): Avoid shadowing.
3202 Reuse underlying error message if device open fails.
3203 (cmd_cmp): Respect format security.
3204 (root): Make const char *.
3205 (fstest): Remove args argument and use global copy.
3206 Respect format security.
3207 (argp_parser): Make static.
3208 (main): Make default_root const char *.
3209
5d1d4e28
VS
32102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * util/grub-mount.c (root): Make const char *.
3213 (execute_command): Make first argument a const char *.
3214 (fuse_init): Respect format security.
3215 (argp_parser): Make static. Remove unused variable.
3216 (main): Make default_root a const char *.
3217 Respect format security.
3218
36eb7379
VS
32192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * util/grub-probe.c (probe): Don't call gettext on already translated
3222 grub_errmsg.
3223 Remove unused variables.
3224 (argp_parser): Remove unused variable.
3225
76fb2ea9
VS
32262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * util/grub-script-check.c (argp_parser): Remove unused variable.
3229 (main): Rename read to curread to avoid shadowing.
3230
56c98584
VS
32312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * util/misc.c (grub_util_write_image_at): Fix format specification.
3234 (grub_util_write_image): Likewise.
3235 (grub_script_execute_argument_to_string): Removed (unused).
3236 (grub_script_execute_menuentry): Likewise.
3237 (grub_putchar): Likewise.
3238
164ebb48
VS
32392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3242 (FUNCTION) [GRUB_UTIL]: Likewise.
3243 (VARIABLE) [GRUB_UTIL]: Likewise.
3244
44318d61
VS
32452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3248 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3249
31a26002
VS
32502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3253 buffer.
3254
32552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3258 (LzmaEnc_SaveState): Removed (unused).
3259 (LzmaEnc_RestoreState): Likewise.
3260 (LzmaEnc_InitPriceTables): Made static.
3261 (LzmaEnc_Construct): Likewise.
3262 (LzmaEnc_FreeLits): Likewise.
3263 (LzmaEnc_Destruct): Likewise.
3264 (LzmaEnc_Init): Likewise.
3265 (LzmaEnc_InitPrices): Likewise.
3266 (LzmaEnc_Finish): Likewise.
3267 (LzmaEnc_PrepareForLzma2): Removed (unused).
3268 (LzmaEnc_MemPrepare): Likewise.
3269 (LzmaEnc_GetNumAvailableBytes): Likewise.
3270 (LzmaEnc_GetCurBuf): Likewise.
3271 (LzmaEnc_CodeOneMemBlock): Likewise.
3272
6fa67967
VS
32732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3276 (grub_util_ldm_embed): Likewise.
3277
9a7428e6
VS
32782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * util/grub-editenv.c (print_var): Rename name to varname to
3281 avoid shadowing.
3282 (main): Rename index to curindex to avoid shadowing.
31a26002 3283 Make filename a const char *.
9a7428e6 3284
4f96abd1
VS
32852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3288 to arg_getline to avoid shadowing.
3289
44d10dad
VS
32902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3293 disk_ to avoid shadowing.
3294
340ba63e
VS
32952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3298 curindex to avoid shadowing.
3299 Make static.
3300 (MatchFinder_GetNumAvailableBytes): Make static.
3301
22965bce
VS
33022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3305 avoid shadowing.
3306
7b5784d4
VS
33072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3310 argument from encrypt to do_encrypt to avoid shadowing.
3311
6f48ca01
VS
33122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3315 incorrect nesting of #if's.
3316
a4ea2dff
VS
33172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3320 checks which are always false on some platforms.
3321 (grub_cmd_lsacpi): Likewise.
3322 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3323 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3324 Likewise.
3325
def9fc1b
VS
33262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3329 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3330
a67b2a04
VS
33312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3334 re_dfa_t to avoid breaking alignment invariants.
3335 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3336 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3337
44c6828d
VS
33382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3341 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3342
bebe0dd0
VS
33432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3346 Fix declaration.
3347
a9cdb3cf
VS
33482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3351 conserve alignment invariants.
3352 (grub_ehci_ehcc_read16): Likewise.
3353 (grub_ehci_oper_read32): Likewise.
3354 (grub_ehci_oper_write32): Likewise.
3355 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3356 Conserve alignment invariants.
3357
ccc3b1b8
VS
33582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3361 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3362 declarations.
3363
987fbd95
VS
33642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3367 Remove unused variable.
3368
0df363f3
VS
33692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3372 Remove set in if.
3373
b2c0c4a6
VS
33742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * include/grub/net.h: Remove double declarations.
3377
690c531f
VS
33782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Remove "payload" command in ia64 Linux loader since I couldn't
3381 find any evidence of it being used for anything.
3382 Replace "relocate" command with an environment variable
3383
3384 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3385 fields.
3386 (ia64_boot_payload): Removed.
3387 (last_payload): Likewise.
3388 (RELOCATE_OFF): Likewise.
3389 (RELOCATE_ON): Likewise.
3390 (RELOCATE_FORCE): Likewise.
3391 (relocate): Likewise.
3392 (free_pages): Don't free payloads.
3393 (grub_load_elf64): Use common error messages.
3394 Use "linux_relocate" variable.
3395 Increase the space after boot_params.
3396 (grub_cmd_payload): Removed.
3397 (grub_cmd_relocate): Likewise.
3398 (grub_cmd_fpswa): Improve messages.
3399 (cmd_payload): Removed.
3400 (cmd_relocate): Likewise.
3401 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3402 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3403
01783768
VS
34042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Convert UHCI to DMA framework.
3407
3408 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3409 (grub_uhci_pci_iter): Fill new members
3410 (grub_alloc_td): Use P2V and V2P functions.
3411 (grub_free_queue): Likewise.
3412 (grub_alloc_qh): Likewise.
3413 (grub_uhci_setup_transfer): Likewise.
3414 (grub_uhci_check_transfer): Likewise.
3415
43206939
VS
34162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3419 Remove assignment in if while on it.
3420
571e140e
VS
34212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * util/grub-mkstandalone.in: Fix modules directory.
3424
a9d96eeb
VS
34252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3428 on i386-pc target.
3429 (argp_parser): Accept "auto" as compression specification.
3430
e4e37e8d
VS
34312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Fix `help' with unloaded modules.
3434
3435 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3436 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3437 (grub_dyncmd_dispatcher): Small stylistic fix.
3438 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3439 explicit help is requested.
3440
e1ea3ade
VS
34412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3444 Explicitly init restart while on it.
3445
27556881
VS
34462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3449 uninited variable.
3450
d65f6b36
VS
34512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * util/grub-mknetdir.in: Use . rather than source for POSIX
3454 compatibility.
3455
0a1e473c
VS
34562012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3459
ce6647c8
VS
34602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3463 variable.
3464
66747894
VS
34652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3468 without quotes.
3469
71645f6e
VS
34702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3473
0e1c1f61
VS
34742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3477 iteration of partitions.
3478
9c4b5c13
VS
34792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 Improve gettext support. Stylistic fixes and error handling fixes while
3482 on it.
3483
215c90cb
VS
34842012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3487 part. Instead setup the correct stack in RM.
3488 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3489 for stack.
3490 * include/grub/i386/relocator_private.h: New file.
3491
b5c1f9bf
VS
34922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3495 argument.
3496 * util/grub-fstest.c (options): Add missing DEVICE part.
3497
b525fd83
VS
34982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Clarify and unify messages.
3501
3502 * grub-core/commands/hashsum.c (options): Unify messages.
3503 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3504 literal-only message as translatable.
3505 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3506 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3507 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3508 commands.
3509 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3510 key, not the key used to unlock. Clarify what it's used for.
3511 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3512 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3513 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3514 * util/grub-editenv.c (options): Unify "verbose" message.
3515 * util/grub-fstest.c (read_file): Unify error message.
3516 (fstest): Add quotes around commands.
3517 (options): Unify "verbose" message.
3518 * util/grub-install.in: Add quotes around variable name.
3519 * util/grub-kbdcomp.in: Unify error message.
3520 * util/grub-mkfont.c (main): Likewise.
3521 * util/grub-mkrescue.in: Likewise.
3522 * util/grub-mklayout.c (options): Unify "verbose" message.
3523 * util/grub-mkstandalone.in: Unify help and verbose messages.
3524 * util/grub-mount.c (options): Unify "verbose" message.
3525 * util/grub-probe.c (options): Likewise.
3526 * util/grub-script-check.c (options): Likewise.
3527 * util/grub-setup.c (setup): Unify no-terminator message.
3528 (options): Use DEVICE and not DEV.
3529 Unify "verbose" message.
3530 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3531
0ae70393
VS
35322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Improve and unify messages.
3535
3536 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3537 name. All users updated.
3538 Print filename in error.
3539 (read_device_map): Print filename in error.
3540 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3541 (grub_util_get_os_disk): Likewise.
3542 (grub_util_biosdisk_get_grub_dev): Likewise.
3543 (grub_util_check_block_device): Likewise.
3544 (grub_util_check_char_device): Likewise.
3545 (grub_make_system_path_relative_to_its_root): Likewise.
3546 * util/grub-editenv.c (create_envblk_file): Likewise.
3547 (open_envblk_file): Likewise.
3548 (write_envblk): Likewise.
3549 * util/grub-fstest.c (cmd_cp): Likewise.
3550 (cmd_cat): Likewise.
3551 (cmd_cmp): Likewise.
3552 * util/grub-menulst2cfg.c (main): Likewise.
3553 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3554 (write_font_width_spec): Likewise.
3555 (write_font_pf2): Likewise.
3556 * util/grub-mkimage.c (generate_image): New argument outname.
3557 All users updated.
3558 Remove unreacheable message.
3559 (options): Unify messages.
3560 (help_filter): Likewise.
3561 * util/grub-mklayout.c (usage): Removed (unused).
3562 (main): Print filename in error.
3563 * util/grub-mkrescue.in: Fix wrong quoting.
3564 * util/grub-setup.c (setup): Print filename in error.
3565 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3566 (check_sas): Likewise.
3567 * util/misc.c (grub_util_get_fp_size): Removed.
3568 (grub_util_get_image_size): Print filename in error.
3569 (grub_util_read_at): Removed.
3570 (grub_util_read_image): Print filename in error.
3571 (grub_util_load_image): Likewise.
3572 (grub_util_write_image_at): New argument filename. All users updated.
3573 Print filename in error.
3574 (grub_util_write_image): New argument filename. All users updated.
3575 Print filename in error.
3576 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3577 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3578
0a96117d
VS
35792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/Makefile.core.def (pxechain): New module.
3582 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3583 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3584 function.
3585 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3586 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3587
aca002f7
VS
35882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3591 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3592 * include/grub/err.h (grub_error_saved): New struct.
3593 (grub_errmsg): Make array size explicit.
3594 * include/grub/misc.h (grub_error_save): New function.
3595 (grub_error_load): Likewise.
3596 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3597 (grub_error_push): Update `errno' member name.
3598 (grub_error_pop): Likewise
3599 * grub-core/net/tftp.c (tftp_data): New member save_err.
3600 (tftp_receive): Save error.
3601 (tftp_open): Restore error.
3602
a51dab13
VS
36032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3606 to real mode down to execute A20-related code in protected mode as
3607 intended.
3608
eb6e6649
GS
36092012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3610
3611 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3612 NULL when the argument `level' has an unexpected value.
3613
92cd0f6e
VS
36142012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 Move platform-dependent files from $prefix to $prefix/$platform.
3617
3618 * config.h.in (GRUB_TARGET_CPU): New definition.
3619 (GRUB_PLATFORM): Likewise.
3620 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3621 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3622 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3623 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3624 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3625 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3626 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3627 * grub-core/normal/term.c (read_terminal_list): Likewise.
3628 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3629 $prefix/locale.
3630 (grub_gettext_init_ext): Likewise.
3631 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3632 grub_platform.
3633 * util/grub-install.in: Update directories.
3634 * util/grub-mknetdir.in: Likewise.
3635 * util/grub-mkrescue.in: Likewise.
3636
db606889
VS
36372012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3640 grub_error framework. All users updated.
3641
c39992a4
VS
36422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3645 lists (by always binsearching), improve caching (cache strings
3646 used for binsearch, not only results), improve
3647 maintainability (by using more structured binary search) and correct
3648 error handling.
3649
1e5ec32f
VS
36502012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/script/execute.c (grub_script_return): Fix warning.
3653
ac576cde
VS
36542012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/script/execute.c (grub_script_return): Fix potential
3657 NULL-dereference.
3658 Reported by: Jim Meyering.
3659
498453f6
VS
36602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * po/POTFILES.in: Regenerate.
3663 * util/grub-install.in: Gettextize the strings missed in first pass.
3664
8be63f2e
VS
36652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * Makefile.util.def (grub-mkdevicemap): Removed.
3668 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3669 * include/grub/util/deviceiter.h: Removed.
3670 * util/deviceiter.c: Likewise.
3671 * util/getroot.c (grub_util_get_os_disk): New function.
3672 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3673 replacement for EFI.
3674 * util/grub-mkdevicemap.c: Removed.
3675 * util/grub-probe.c (probe): Handle PRINT_DISK.
3676 (argp_parser): Handle -t disk.
3677
8e1e4e39
VS
36782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * util/grub-mkfont.c: Migrate to argp.
3681 * util/grub-mklayout.c: Likewise.
3682 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3683 * util/grub-mkrelpath.c: Likewise.
3684 * util/grub-probe.c: Likewise.
3685 * util/grub-script-check.c: Likewise.
3686
4459819a
VS
36872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * util/grub-reboot.in: Add missing datarootdir.
3690 Add missing newline.
3691 * util/grub-set-default.in: Add missing datarootdir.
3692 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3693 * util/grub-mkrescue.in: Likewise.
3694
f65741c7
VS
36952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3698
c1a33466
VS
36992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * util/grub-kbdcomp.in: Add decent help and gettextize.
3702 * docs/man/grub-kbdcomp.h2m: New file.
3703
c76899a0
VS
37042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Migrate grub-mkimage.c to argp.
3707
3708 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3709 (grub-setup): Likewise.
3710 * util/grub-setup.c (print_version): Move to ...
3711 * util/argp_common.c (print_version): ... here.
3712 * util/grub-setup.c (argp_program_version_hook): Move to ...
3713 * util/argp_common.c (argp_program_version_hook): ... here.
3714 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3715 safety.
3716 * util/grub-mkimage.c (main): Migrate to argp.
3717
57db0757
VS
37182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * util/grub-mkrescue.in: Use same message as
3721 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3722 for better translations.
3723
18534ad9
VS
37242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3727 options with generic grub-mkrescue.in with the goal of future
3728 merge.
3729
c84ba308
VS
37302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/kern/mm.c: Add missing include of i18n.h
3733 * grub-core/lib/relocator.c: Likewise.
3734
347998c2
VS
37352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3738 error.
3739 (allocate_pages): Check return value.
3740 Replace fatal with error.
3741 (grub_linux_boot): Replace printf with dprintf.
3742 Check find_mmap_size return value.
3743 Replace fatal with error.
3744 Don't call grub_machine_fini.
3745 (grub_load_elf64): Replace printf with dprintf.
3746 (grub_cmd_linux): Likewise.
3747 (grub_cmd_initrd): Likewise.
3748 (grub_cmd_payload): Likewise.
3749
c779226e
VS
37502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3753 message.
3754 * grub-core/video/radeon_fuloong2e.c
3755 (grub_video_radeon_fuloong2e_setup): Likewise.
3756 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3757 * grub-core/video/video.c (grub_video_set_mode): Don't override
3758 standard out of memory message.
3759
dc87d45a
GS
37602012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3761
3762 NetBSD disk wedge support.
3763
3764 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3765 [__NetBSD__]: Handle NetBSD disk wedges.
3766 * util/getroot.c (convert_system_partition_to_system_disk)
3767 [__NetBSD__]: Likewise.
3768
055f856f
MW
37692012-02-03 Mark Wooding <mdw@distorted.org.uk>
3770
3771 * util/grub-mkconfig.in: Use umask rather than chmod to create
3772 grub.cfg.new to avoid insecure grub.cfg.
3773
4a9f8346
VS
37742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/commands/ls.c: Gettextize.
3777 * grub-core/commands/setpci.c: Likewise.
3778 * grub-core/commands/videotest.c: Likewise.
3779 * grub-core/disk/geli.c: Likewise.
3780 * grub-core/kern/mm.c: Likewise.
3781 * grub-core/lib/relocator.c: Likewise.
3782 * grub-core/loader/efi/appleloader.c: Likewise.
3783 * grub-core/loader/i386/xnu.c: Likewise.
3784 * grub-core/loader/ia64/efi/linux.c: Likewise.
3785 * grub-core/loader/xnu.c: Likewise.
3786 * grub-core/net/dns.c: Likewise.
3787 * grub-core/net/net.c: Likewise.
3788 * grub-core/script/lexer.c: Likewise.
3789 * grub-core/script/parser.y: Likewise.
3790 * grub-core/script/yylex.l: Likewise.
3791 * util/getroot.c: Likewise.
3792 * util/grub-setup.c: Likewise.
3793
a646a366
VS
37942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3797 number.
3798
54e2be26
VS
37992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3802
f7c71e68
VS
38032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3806 macro.
3807 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3808 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3809
a32d5c71
VS
38102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3813 * util/grub-install.in: Gettextize.
3814 * util/grub-mkconfig.in: Likewise.
3815 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3816 if not available.
3817 (grub_warn): Gettextize.
3818 * util/grub-mknetdir.in: Gettextize.
3819 * util/grub-mkrescue.in: Likewise.
3820 * util/grub-mkstandalone.in: Likewise.
3821 * util/grub-reboot.in: Likewise.
3822 * util/grub-set-default.in: Likewise.
3823 * util/grub.d/00_header.in: Likewise.
3824 * util/grub.d/10_hurd.in: Likewise.
3825 * util/grub.d/10_kfreebsd.in: Likewise.
3826 * util/grub.d/10_linux.in: Likewise.
3827 * util/grub.d/10_netbsd.in: Likewise.
3828 * util/grub.d/10_windows.in: Likewise.
3829 * util/grub.d/20_linux_xen.in: Likewise.
3830 * util/grub.d/30_os-prober.in: Likewise.
3831 * po/POTFILES-shell.in: Regenerate.
3832
69edd81a
RL
38332012-02-03 Richard Laager <rlaager@wiktel.com>
3834
3835 * util/grub-mkimage.c (main): Fix format-security warning.
3836 * util/grub-mkrelpath.c (main): Likewise.
3837 * util/grub-probe.c (main): Likewise.
3838
65f08dbf
RL
38392012-02-03 Richard Laager <rlaager@wiktel.com>
3840
3841 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3842 failure.
3843 Put back lost PRINT_DRIVE.
3844
e9084abe
RL
38452012-02-03 Richard Laager <rlaager@wiktel.com>
3846
3847 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3848 (grub_guess_root_devices): Replace strlen with sizeof.
3849 Avoid crash.
3850 (find_root_devices_from_poolname): Remove unused variable.
3851 Handle raidzN.
3852
cf5f7ee7
VS
38532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Support install on multi-device filesystems.
3856
3857 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3858 (grub_guess_root_devices): ...this. Return char **. All users updated.
3859 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3860 Removed.
3861 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3862 (find_root_devices_from_poolname): ... here.
3863 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3864 Support zfs-fuse.
3865 (grub_guess_root_device): Rename to ...
3866 (grub_guess_root_devices): ... this. Return char **. All users updated.
3867 * util/grub-install.in: Handle multi-device filesystems.
3868 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3869 argument. All users updated.
3870 Handle multi-device filesystems.
3871 Use 'delim' as separator.
3872 Remove device check to allow filesystems on file.
3873 (main): Support -0 argument. Handle multi-device.
3874 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3875 Fix a cross-device check while on it.
3876 (arguments): Remove root_dev.
3877 (argp_parser): Remove -r.
3878 (main): Remove root_dev.
3879
2f53a9ed
VS
38802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3883
17e1d934
VS
38842012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3887 symbol.
3888 Reported by: NODA, Kai <nodakai>.
3889
d3e3fab5
VS
38902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 Fix ehci on amd64.
3893
3894 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3895 pointers.
3896 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3897 (grub_ehci_setup_qh): Likewise.
3898 (grub_ehci_find_qh): Likewise.
3899 (grub_ehci_transaction): Likewise.
3900 (grub_ehci_setup_transfer): Likewise.
3901 (grub_ehci_check_transfer): Likewise.
3902 (grub_ehci_portstatus): Likewise.
3903 (grub_ehci_detect_dev): Likewise.
3904 (grub_ehci_transfer_controller_data): New field td_last_phys.
3905 (grub_ehci_setup_transfer): Fill td_last_phys.
3906 (grub_ehci_check_transfer): Use td_last_phys.
3907
3008675b
SG
39082012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3909
3910 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3911 if no submenu is present.
3912
fc9b5652
AN
39132012-02-01 Aleš Nesrsta <starous@volny.cz>
3914
3915 CBI support.
3916
3917 * include/grub/usb.h (grub_usbms_protocol_t): New values
3918 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3919 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3920 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3921 (grub_usbms_dev): Add subclass, protocol and intrpt.
3922 Remove in_maxsz and out_maxsz.
3923 (grub_usbms_reset): Rename to ...
3924 (grub_usbms_bo_reset): .. this.
3925 (grub_usbms_cbi_cmd): New function.
3926 (grub_usbms_cbi_reset): Likewise.
3927 (grub_usbms_reset): Likewise.
3928 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3929 (grub_usbms_transfer): Rename to ...
3930 (grub_usbms_transfer_bo): ... this.
3931 (grub_usbms_transfer_cbi): Likewise.
3932 (grub_usbms_transfer): Likewise.
3933
a2b81d53
AN
39342012-02-01 Aleš Nesrsta <starous@volny.cz>
39352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3938 the support for the CS5536 modification thereos and few bugfixes.
3939
3940 * grub-core/Makefile.core.def (ehci): New module.
3941 * grub-core/bus/usb/ehci.c: New file.
3942 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3943 port and hubaddr. All users updated.
3944 Save port and hubaddr into dev structure.
3945 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3946 define.
3947 * include/grub/pci.h (grub_dma_phys2virt): New function.
3948 (grub_dma_virt2phys): Likewise.
3949 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3950
b1d51f02
VS
39512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3954 check as some mkfs implementations omit it.
3955
fc694106
VS
39562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3959
6c0920e3
VS
39602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3963 Add new member volname2.
3964 (grub_jfs_label): Use volname2 if available.
3965
d1a46f9a
VS
39662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3969 over last_mounted as seen in image generated by mkfs.nilfs2.
3970 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3971
dec8ed14
VS
39722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3975 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3976 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3977
7397c69b
VS
39782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3981 over the sector.
3982
b3fe42ad
VS
39832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3986 subvolume name (by removing a bogus and useless check).
3987
10476bb0
VS
39882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3991 sizeof while on it.
3992
9c08ad87
VS
39932012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3996 (grub_scsi_read_capacity10): ... this.
3997 (grub_scsi_read_capacity16): New function.
3998 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3999 0xffffffff.
4000 Fix off-by-one error.
4001 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4002 64-bit unsigned.
4003 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4004 (grub_scsi_read_capacity10): ... this.
4005 (grub_scsi_read_capacity_data): Rename to ...
4006 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4007 (grub_scsi_read_capacity16): New struct.
4008 (grub_scsi_read_capacity16_data): Likewise.
4009 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4010 grub_scsi_cmd_read_capacity10.
4011 New command grub_scsi_cmd_read_capacity16.
4012
bc8d0f45
VS
40132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 SCSI >2TiB support.
4016
4017 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4018 (grub_scsi_write16): Likewise.
4019 (grub_scsi_read): Use read16 when necessary.
4020 (grub_scsi_write): Likewise.
4021 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4022 (grub_scsi_write16): Likewise.
4023 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4024
cc774926
VS
40252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 SCSI write support (for usbms mainly).
4028
4029 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4030 a const pointer.
4031 (grub_scsi_write): Implement.
4032 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4033
67639fd7
VS
40342012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4037 variable.
4038
9079d3ed
VS
40392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4042
c6a6f204
VS
40432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * po/POTFILES.in: Regenerate.
4046
ecbf8cd1
VS
40472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4050 with grub_printf to avoid unnecessary fatal failure.
4051
0b3b3b38
VS
40522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4055 (INT_MAX): Likewise.
4056 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4057 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4058 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4059 (strcpy): Likewise.
4060 (strstr): Likewise.
4061 (strchr): Likewise.
4062 (strncpy): Likewise.
4063 (strcat): Likewise.
4064 (strncat): Likewise.
4065 (strcoll): Likewise.
4066 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4067 (GRUB_INT_MAX): Likewise.
4068
db7337a3
VS
40692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4072 unexpected error.
4073 (optimize_utf8): Likewise.
4074 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4075
f37c87e1
VS
40762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/boot/i386/pc/lnxboot.S: Use
4079 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4080 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4081 location.
4082 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4083 definition.
4084 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4085
63fe43f3
VS
40862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4089 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4090 now to avoid double free.
4091 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4092 hostdisk.
4093 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4094 * util/grub-probe.c (escape_of_path): Always return a new copy.
4095 (print_full_name): Escape path.
4096 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4097 Fix hints on abstractions.
4098
ebe2c961
VS
40992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4102 Don't add "root" line if no compatibility hont is available.
4103 Suggested by: Seth Goldberg.
4104
2b5336a2
VS
41052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4108 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4109 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4110 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4111
74310bd8
VS
41122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4115
c30582ba
VS
41162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * util/grub-pe2elf.c (ehdr): Make static.
4119 (shdr): Likewise.
4120 (num_sections): Likewise.
4121 (offset): Likewise.
4122
5f47782c
VS
41232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Eliminate ofpath limits and possible overflows.
4126
4127 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4128 (OF_PATH_MAX): Removed.
4129 (MAX_DISK_CAT): New const.
4130 (find_obppath): Use allocated rather than preallocated buffer.
4131 Return result. Argument of_path removed. All users updated.
4132 Add missing fdstat.
4133 (xrealpath): New function.
4134 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4135 Allocate rather than use preallocated buffer. All users updated.
4136 (__of_path_common): Use allocated rather than preallocatecd buffer.
4137 Return result. Argument of_path removed. All users updated.
4138 (vendor_is_ATA): Read only needed part form the file.
4139 (check_sas): Allocate depending on contents rather than fixed.
4140 (main) [STANDALONE]: Handle NULL result.
4141
f990cbf9
VS
41422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4145
9c6e84b8
VS
41462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 Cryptodisk write support.
4149
4150 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4151 (grub_cryptodisk_decrypt): Moved logic to ...
4152 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4153 (grub_cryptodisk_write): Implement.
4154 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4155 (grub_util_fd_write): ... this. Make global.
4156 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4157
87cf9744
VS
41582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * include/grub/list.h (grub_list_remove): Don't crash if element is
4161 removed twice.
4162
ca8c0baf
VS
41632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Rename ofconsole to console.
4166
4167 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4168 as sysnonym to console.
4169 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4170 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4171 Rename grub_ofconsole_ to grub_console_. All users updated
4172 (grub_console_term_output): Rename "ofconsole" to "console".
4173 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4174 as "console".
4175
64c8b8f6
VS
41762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4179 handling.
4180 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4181 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4182 GRUB_DISK_DEVICE_FILE_ID.
4183
f6c434d5
VS
41842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4187 and improve performance.
4188
5858b42d
VS
41892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4192 missing ieee1275/ prefix on whole disk.
4193
4ed3c26b
VS
41942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4197 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4198
df71143e
VS
41992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4202
076e7c0f
VS
42032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Merge common RAID and LVM logic to an abstract diskfilter.
4206 Add LDM support using the same framework.
4207
4208 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4209 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4210 (libgrubmods): Remove grub-core/disk/raid.c and
4211 grub-core/partmap/gpt.c.
4212 * grub-core/Makefile.core.def (ldm): New module.
4213 (raid): Renamed to diskfilter. All users updated.
4214 * grub-core/disk/raid.c: Moved to ...
4215 * grub-core/disk/diskfilter.c: ... here.
4216 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4217 (lv_num): New var.
4218 (find_array): Renamed to ...
4219 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4220 (grub_is_array_readable): Renamed to ...
4221 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4222 (insert_array): New argument id.
4223 (is_node_readable): New function.
4224 (scan_device): Rename to ...
4225 (scan_disk): .. this. Restrict to one disk.
4226 (scan_devices): New function.
4227 (grub_diskfilter_iterate): Support multi-LV.
4228 Skip invisible and nameless LVs.
4229 (grub_diskfilter_memberlist): Support multi-LV.
4230 (grub_diskfilter_read_node): New function.
4231 (grub_raid_read): Most of logic moved to ...
4232 (read_segment): ... here
4233 (read_lv): New function.
4234 (grub_diskfilter_get_vg_by_uuid): New function.
4235 (grub_diskfilter_make_raid): Likewise.
4236 * grub-core/disk/ldm.c: New file.
4237 * grub-core/disk/lvm.c (vg_list): Removed.
4238 (lv_count): Likewise.
4239 (scan_depth): Likewise.
4240 (is_lv_readable): Likewise.
4241 (grub_lvm_getvalue): Advance pointer past the number.
4242 (find_lv): Removed.
4243 (do_lvm_scan): Refactored into ...
4244 (grub_lvm_detect): ... this. Support raid.
4245 (grub_lvm_iterate): Removed.
4246 (grub_lvm_memberlist): Likewise.
4247 (grub_lvm_open): Likewise.
4248 (grub_lvm_close): Likewise.
4249 (read_lv): Likewise.
4250 (read_node): Likewise.
4251 (is_node_readable): Likewise.
4252 (is_lv_readable): Likewise.
4253 (grub_lvm_read): Likewise.
4254 (grub_lvm_write): Likewise.
4255 (grub_lvm_dev): Use diskfilter
4256 (GRUB_MOD_INIT): Likewise.
4257 (GRUB_MOD_FINI): Likewise.
4258 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4259 new interface.
4260 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4261 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4262 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4263 grub_diskfilter_read_node.
4264 Fix a bug with xor.
4265 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4266 grub_diskfilter_read_node.
4267 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4268 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4269 (grub_disk_dev_iterate): Move from here...
4270 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4271 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4272 Make global.
4273 (grub_hostdisk_find_partition_start): Likewise.
4274 (grub_hostdisk_os_dev_to_grub_drive): New function.
4275 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4276 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4277 * util/getroot.c (make_device_name): ... here.
4278 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4279 Move to ...
4280 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4281 * grub-core/kern/emu/hostdisk.c
4282 (convert_system_partition_to_system_disk): Move to ...
4283 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4284 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4285 * util/getroot.c (device_is_wholedisk): ... here.
4286 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4287 * util/getroot.c (find_system_device): ... here.
4288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4289 Move to ...
4290 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4292 Move to ...
4293 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4294 Handle LDM.
4295 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4296 Move to ...
4297 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4298 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4299 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4300 DISKFILTER.
4301 * include/grub/raid.h: Renamed to ...
4302 * include/grub/diskfilter.h: ... this.
4303 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4304 (GRUB_RAID_LAYOUT_*): Make into array.
4305 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4306 (grub_diskfilter_vg): New struct.
4307 (grub_diskfilter_pv_id): Likewise.
4308 (grub_raid_member): Removed.
4309 (grub_raid_array): Likewise.
4310 (grub_diskfilter_pv): New struct.
4311 (grub_diskfilter_lv): Likewise.
4312 (grub_diskfilter_segment): Likewise.
4313 (grub_diskfilter_node): Likewise.
4314 (grub_diskfilter_get_vg_by_uuid): New proto.
4315 (grub_raid_register): Inline.
4316 (grub_diskfilter_unregister): Likewise.
4317 (grub_diskfilter_make_raid): New proto.
4318 (grub_diskfilter_vg_register): Likewise.
4319 (grub_diskfilter_read_node): Likewise.
4320 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4321 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4322 (grub_util_is_ldm): Likewise.
4323 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4324 (grub_hostdisk_find_partition_start): Likewise.
4325 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4326 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4327 New definition.
4328 (grub_gpt_partition_map_iterate): New proto.
4329 * include/grub/lvm.h (grub_lvm_vg): Removed.
4330 (grub_lvm_pv): Likewise.
4331 (grub_lvm_lv): Likewise.
4332 (grub_lvm_segment): Likewise.
4333 (grub_lvm_node): Likewise.
4334 * util/getroot.c [...]
4335 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4336 (probe_abstraction): Likewise.
4337 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4338 (main): Remove dead logic.
4339
8a7f9b9c
VS
43402012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Simplify root device discover and don't fail when trying to open
4343 incorrect devices.
4344
4345 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4346 function.
4347 (get_diskname_from_path): Likewise.
4348 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4349 of iterating.
4350
30545b85
VS
43512012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4354
28ea58cf
VS
43552012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4358 pastthe end.
4359
692dabca
VS
43602012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * util/grub-install.in: Add missing \.
4363 Reported by: gentoofan
4364
f6e4ea70
VS
43652012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4368 (direct_read): Use correct compressed size.
4369 (grub_squash_read_data): Likewise.
4370
43712012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4372
4373 * docs/grub.texi (Platform limitations): New section.
4374 (Platform-specific operations): Likewise.
4375 * docs/grub-dev.texi (Porting): Likewise.
4376
76261110
VS
43772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 IEEE1275 disk write support.
4380
4381 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4382 const void *.
4383 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4384 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4385 and seek loginc to ...
4386 (grub_ofdisk_prepare): ... here.
4387 (grub_ofdisk_write): Implement.
4388
fc36d603
VS
43892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 ARC disk write support.
4392
4393 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4394 (reopen): New argument writable. All users updated.
4395 Handle required access mode.
4396 (grub_arcdisk_write): Implement.
4397 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4398 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4399
e06c2e7a
VS
44002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4403 (read_sblock): Don't attempt to read superblocks outside the disk size.
4404
ff447958
VS
44052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4408 first superblock to find the second one when possible.
4409
9e88df39
VS
44102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * util/grub-install.in: Fix an ARC bug.
4413 Print a warning if no platform-specific setup is available.
4414
bb26e4ff
VS
44152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Use static allocation rather than scratch pointer in reed_solomon.
4418 It decreases its size significantly and avoids a variable in .text.
4419
4420 * grub-core/lib/reed_solomon.c (scratch): Removed.
4421 (chosenstat): New const or static array.
4422 (sigma): Likewise.
4423 (errpot): Likewise.
4424 (errpos): Likewise.
4425 (sy): Likewise.
4426 (mstat): Likewise.
4427 (errvals): Likewise.
4428 (eqstat): Likewise.
4429 (pol_evaluate): Replace x with log_x argument. All users updated.
4430 (syndroms): Removed.
4431 (gauss_solve): Use statically allocated arrays.
4432 (rs_recover): Likewise.
4433 Calculate syndroms directly.
4434 (decode_block): Use statically allocated arrays.
4435 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4436 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4437
2e13ede5
VS
44382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Eliminate fixed limit on reed solomon decoder length.
4441
4442 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4443 rather than hardcoding the address.
4444 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4445 no_reed_solomon_length.
4446 Move gate_a20 to no-reed-solomon part.
4447 Don't force a particular size of no reed-solomon part.
4448 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4449 Removed.
4450 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4451 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4452
f8a9ab12
VS
44532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/commands/wildcard.c (match_files): Handle filenames
4456 without explicit device.
4457 (wildcard_expand): Don't add explicit device if not already present.
4458 * tests/grub_script_echo1.in: Add a new expansion test.
4459
87edb894
VS
44602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 Replace single-linked with double-linked lists. It results in more
4463 compact and more efficient code.
4464
4465 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4466 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4467 (grub_list_remove): Moved from here ...
4468 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4469 (grub_prio_list_insert): Set prev.
4470 * include/grub/list.h (grub_list): Add prev. All users updated.
4471
48b391e9
VS
44722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Handle newer autotools. Add some missing quotes while on it.
4475
4476 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4477 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4478 (pkgdata_DATA): ... here.
4479 * Makefile.util.def (update-grub_lib): Removed.
4480 * conf/Makefile.common (pkglib_DATA): Removed.
4481 (pkglib_SCRIPTS): Likewise.
4482 (pkgdata_DATA): New variable.
4483 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4484 needed.
4485 Add missing quotes.
4486 Remove unused variable while on it.
4487 * tests/util/grub-shell.in: Likewise.
4488 * util/grub-install.in: Likewise.
4489 * util/grub-mkconfig.in: Likewise.
4490 * util/grub-mknetdir.in: Likewise.
4491 * util/grub-mkrescue.in: Likewise.
4492 * util/grub-mkstandalone.in: Likewise.
4493 * util/grub.d/00_header.in: Likewise.
4494 * util/grub.d/10_hurd.in: Likewise.
4495 * util/grub.d/10_illumos.in: Likewise.
4496 * util/grub.d/10_kfreebsd.in: Likewise.
4497 * util/grub.d/10_linux.in: Likewise.
4498 * util/grub.d/10_netbsd.in: Likewise.
4499 * util/grub.d/10_windows.in: Likewise.
4500 * util/grub.d/20_linux_xen.in: Likewise.
4501 * util/grub.d/30_os-prober.in: Likewise.
4502 * util/update-grub_lib.in: Removed.
4503
45042012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4505
4506 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4507 a workaround for intel problem.
4508
66832792
PRP
45092012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
45102012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
45112012-01-23 pfsmorigo
4512
4513 * util/grub-install.in: Support dd'in into PreP partition.
4514 * util/grub-probe.c (probe): Support discovering partition type.
4515 (main): Support -t msdos_parttype.
4516
7816a17e
VS
45172012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4520 infinite recursion using counter.
4521 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4522 init to skip it if the magic check fails.
4523 (dec_stream_header): Init s->crc32.
4524
8f9d3a8c
ZB
45252012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
45262012-01-22 Zachary Bedell <pendorbound@gmail.com>
45272012-01-22 Richard Laager <rlaager@wiktel.com>
4528
4529 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4530 All users updated.
4531 (find_bestub): Determine correct size.
4532 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4533 (scan_disk): Align the size down.
4534 Call check pool before find_bestub to have ashift.
4535
b055dd32
VS
45362012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4539 dprintf in no-malloc zone.
4540
d779e9bd
ML
45412012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4542
4543 * configure.ac: Add back in test for limits.h.
4544
b508af69
VS
45452012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Support 4K-sector NTFS.
4548
4549 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4550 (grub_ntfs_data): Remove blocksize.
4551 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4552 Remove data argument. All users updated.
4553
dad9c8b5
VS
45542012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4557 being in .text to avoid dprel references.
4558 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4559 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4560 (grub_arch_highmemsize): Likewise.
4561 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4562 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4563 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4564
d43a777e
VS
45652012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4568
4569 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4570 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4571
34e4208f
VS
45722012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4575 GRUB_UTIL.
4576 (grub_set_datetime_cmos): Likewise.
4577
3ec0fc1c
VS
45782012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Make XZ compression parameters dependent on target and not host CPU.
4581
4582 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4583 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4584
22489834
VS
45852012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4588 set but not used variable.
4589
8502fbca
VS
45902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4593 created when no uuid support is compiled into mkfs.reiser.
4594
76df2068
VS
45952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4598 (utf8_to_macroman): Do the opposite.
4599 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4600
64e3f8f6
VS
46012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * configure.ac: Refise build qemu_mips w/o unifont.
4604
9c271078
VS
46052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 Eliminate grub_min/grub_max prone to overflow usage.
4608
4609 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4610 (poll_nonroot_hub): Likewise.
4611 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4612 (grub_affs_label): Likewise.
4613 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4614 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4615 (grub_hfs_label): Likewise.
4616 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4617 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4618 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4619 (zap_leaf_array_get): Likewise.
4620 (dnode_get_path): Likewise.
4621 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4622 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4623 * grub-core/script/execute.c (grub_script_break): Likewise.
4624 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4625 grub_max.
4626 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4627 * include/grub/misc.h (grub_min): Removed.
4628 (grub_max): Likewise.
4629
80662dbc
VS
46302012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4631
4632 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4633 direct.inode = 0.
4634
e6da1467
VS
46352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4638
b1ac4cb1
VS
46392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4642
b4bf7c3b
VS
46432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4646 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4647
8ee1101a
VS
46482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4651 rather than a hack for grub_strncasemap.
4652
46532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 Support multiple initrds
4656 Note: part of this was accidently committed in r3739.
4657
4658 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4659 initrd.
4660 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4661 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4662 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4663 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4664 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4665
4d1e2bc9
VS
46662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4669 disks with unknown size.
4670 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4671
75b49ebe
VS
46722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Remove defines pertaining to arbitrary limits not affecting GRUB
4675 anymore.
4676
4677 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4678 (EXT2_MAX_SYMLINKCNT): Likewise.
4679 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4680 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4681 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4682 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4683 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4684 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4685 (DN_MAX_OBJECT_SHIFT): Likewise.
4686 (DN_MAX_OFFSET_SHIFT): Likewise.
4687 (DN_MAX_OBJECT): Likewise.
4688 (DNODES_PER_LEVEL_SHIFT): Likewise.
4689 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4690 (SPA_MAXBLOCKSIZE): Likewise.
4691 (SPA_BLOCKSIZES): Likewise.
4692 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4693 (MZAP_MAX_BLKSZ): Likewise.
4694
74a1dce7
VS
46952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4698 handle NULL appropriately.
4699 Remove MIN.
4700
30c7d3ce
VS
47012012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 Fix efiemu.
4704
4705 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4706 cpu/types.h.
4707 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4708 * configure.ac: Fix efiemu check.
4709
3c76ea0c
VS
47102012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4713 grub_probe.
4714 Reported by: adamwill
4715
7e532280
SG
47162012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4717
4718 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4719
30492374
VS
47202012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 Fix handling of wide characters in gfxterm.
4723
4724 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4725 (clear_char): Likewise.
4726 (paint_char): Skip code == NULL chars.
4727 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4728
e70cb72f
VS
47292012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/normal/charset.c: Move comment to right place.
4732
5c827cf9
VS
47332012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4736 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4737 (grub_affs_mount): Revert the correct version checking.
4738
53603892
VS
47392012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * docs/grub.texi (Unicode): Mention several other unsupported features.
4742
ff094b9b
VS
47432011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4746 case statements as compile-time one.
4747 (direct_read): Prevent spurious warnings.
4748 (grub_squash_read_data): Likewise.
4749
c029da8a
VS
47502011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 Various squash4 fixes and LZO and XZ support.
4753
4754 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4755 Add xzembed source files.
4756 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4757 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4758 (grub_squash_inode): New subtype long_dir.
4759 (SQUASH_TYPE_LONG_DIR): New inode type.
4760 (COMPRESSION): New enum.
4761 (XZBUFSIZ): New const.
4762 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4763 (read_chunk): Use data->decompress.
4764 (zlib_decompress): New function.
4765 (lzo_decompress): Likewise.
4766 (xz_decompress): Likewise.
4767 (squash_mount): Set new data fields.
4768 (grub_squash_iterate_dir): Handle long dir.
4769 (squash_unmount): Free xzdec and xzbuf.
4770 (grub_squash_open): Check ino type.
4771 (direct_read): Stylistic fixes. Use data->decompress.
4772 (grub_squash_read_data): Likewise.
4773 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4774 (get_byte): Likewise.
4775 (grub_zlib_disk_read): Removed.
4776 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4777 (GRUB_POSIX_BOOL_DEFINED): New define.
4778 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4779 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4780 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4781 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4782
7a45a539
VS
47832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 Don't override more informative errors.
4786
4787 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4788 * grub-core/font/font.c (open_section): Likewise.
4789 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4790 filename. Don't override errors.
4791 (grub_cmd_openbsd_ramdisk): Don't override errors.
4792 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4793 (grub_cmd_initrd): Likewise.
4794 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4795 (grub_cmd_initrd): Likewise.
4796 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4797 (grub_cmd_linux): Likewise.
4798 (grub_cmd_initrd): Likewise.
4799 (grub_cmd_payload): Likewise.
4800 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4801 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4802 (grub_cmd_module): Likewise.
4803 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4804 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4805 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4806 (grub_cmd_xnu_mkext): Likewise.
4807 (grub_cmd_xnu_ramdisk): Likewise.
4808 (grub_xnu_check_os_bundle_required): Likewise.
4809 (grub_xnu_load_kext_from_dir): Likewise.
4810 (grub_cmd_xnu_kextdir): Likewise.
4811 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4812
b2d004db
VS
48132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4816 as 1024 in block size field. Found on one of my test images.
4817 Small optimisation while on it.
4818
ec000eac
VS
48192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4822 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4823 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4824 performance fixes while on it.
4825 (grub_sfs_close): Fix memory leak while on it.
4826 (grub_sfs_label): Convert Latin1 to UTF-8.
4827
f50e1165
VS
48282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4831 space to avoid overflows.
4832 (grub_hfs_label): Convert from macroman to UTF-8.
4833
2ae254de
VS
48342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4837
0108f491
VS
48382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4841
f45f5f89
VS
48422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * unicode: Import Unicode 6.0 data.
4845
4d8c4765
VS
48462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4847
63fa8ef9
VS
4848 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4849 outside of range.
4850
48512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4854
4855 * include/grub/charset.h (grub_getend): New function.
4856 * grub-core/script/function.c (grub_script_function_find): Use
4857 grub_getend.
4858 * grub-core/normal/completion.c (add_completion): Likewise.
4859
f3cb4a4e
VS
48602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4863 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4864 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4865 (GRUB_UNICODE_TAG_END): Likewise.
4866 (GRUB_UNICODE_LAST_VALID): Likewise.
4867
5da8dbc5
VS
48682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4871 len and make it smaller. All users updated.
4872 * util/import_unicode.py: Put length and not end character.
4873 Check length.
4874
8569f13d
VS
48752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Make better Unicode-compliant and unify some UTF-8 code pathes.
4878
4879 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4880 valid character.
4881 (grub_is_valid_utf8): Use grub_utf8_process.
4882 Check resulting code range.
4883 (grub_utf8_to_ucs4): Use grub_utf8_process.
4884 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4885 valid character.
4886
cc4fddf5
VS
48872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4890
bbc47747
VS
48912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * docs/grub.texi (Filesystems): Mention AFS.
4894
f63d6bf4
VS
48952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * docs/grub.texi (Filesystems): Clarify restrictions.
4898 (Regexp): Mention non-Unicode regexp behaviour.
4899 (Other): Mention non-Unicode matching behaviour.
4900
74bbf0db
VS
49012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4902
f63d6bf4 4903 Make HFS implementation use MacRoman.
74bbf0db
VS
4904
4905 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4906 (macroman): New const array.
4907 (macroman_to_utf8): New function.
4908 (utf8_to_macroman): Likewise.
4909 (grub_hfs_find_dir): Use utf8_to_macroman.
4910 (grub_hfs_dir): Use macroman_to_utf8.
4911 Set case_insensitive.
4912
4ea0316e
VS
49132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4916
d3c13cbd
VS
49172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Integrate hints into autogeneration scripts.
4920
4921 * docs/grub.texi (Filesystems): Add a hostdisk example.
4922 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4923 (grub-probe): Add ofpath.
4924 * gentpl.py: Remove group nosparc64.
4925 * grub-core/commands/search.c (cache_entry): New struct.
4926 (cache): New var.
4927 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4928 * grub-core/commands/search_wrap.c (options): Add platform-specific
4929 hint options.
4930 (grub_cmd_search): Handle platform-specific hints.
4931 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4932 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4933 (grub_util_biosdisk_data): Likewise.
4934 (grub_util_biosdisk_open): Set device_map.
4935 (read_device_map): Handle "" as indication of no map.
4936 Set device_map.
4937 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4938 (grub_util_biosdisk_get_compatibility_hint): New function.
4939 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4940 * include/grub/emu/hostdisk.h
4941 (grub_util_biosdisk_get_compatibility_hint): New proto.
4942 * util/grub-install.in: Don't call grub-mkdevicemap.
4943 Add platform-specific hint to load.cfg.
4944 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4945 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4946 hints. Set root preliminary to compatibility hint, not to OS name.
4947 * util/grub-probe.c (PRINT_*): Add hints.
4948 (print): Make static.
4949 (escape_of_path): New function.
4950 (guess_bios_drive): Likewise.
4951 (guess_efi_drive): Likewise.
4952 (guess_baremetal_drive): Likewise.
4953 (print_full_name): Likewise.
4954 (probe): Handle hints.
4955 (main): Likewise.
4956 * util/ieee1275/devicemap.c: Removed.
4957 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4958 updated.
4959 (grub_util_devname_to_ofpath): Return NULL on failure.
4960
4961 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4962 resource leak.
4963 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4964
4965 * po/POTFILES.in: Regenerated.
4966
4967 Allow purely long options
4968
4969 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4970 (SHORT_ARG_USAGE): Likewise.
4971 (grub_arg_show_help): Compare opt with help_options.
4972 (parse_option): Receive opt as argument. If makes big simplificatons.
4973 All users updated
4974
00ce2df3
VS
49752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4978 Restructure to avoid warning.
4979
e77e325f
VS
49802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * util/grub-install.in: Account for possible escaped comma in device
4983 name.
4984
165099ea
VS
49852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4988 channel.
4989
ce4a999d
VS
49902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4993 allocation and zero-setting.
4994 (grub_ieee1275_get_devname): Check that alias is complete.
4995
379586ad
VS
49962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4999 unaligned segments.
5000
9197b0ad
VS
50012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5004 prefix.
5005 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5006 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5007 Add ieee1275 prefix.
5008
edddb7f9
VS
50092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * docs/grub.texi (Filesystems): Update.
5012
a1a8b1b9
VS
50132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Support odc, newc and bigendian cpio formats.
5016
5017 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5018 * grub-core/Makefile.core.def (newc): New module.
5019 (odc): Likewise.
5020 (cpio_be): Likewise.
5021 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5022 (MAGIC): Likewise.
5023 (MAGIC2): Likewise.
5024 (head) [MODE_ODC]: Adapt for the format.
5025 (head) [MODE_NEWC]: Likewise.
5026 (head) [!MODE_*]: Write fields of interest as arrays.
5027 (MAGIC_USTAR): Removed.
5028 (read_number) [MODE_NEWC]: Change to hex.
5029 (read_number) [!MODE_*]: Parse binary arrays.
5030 (grub_cpio_find_file): Factor out the code for better structure and
5031 always use read_number.
5032 (grub_cpio_mount): Use MAGIC and MAGIC2.
5033 (grub_cpio_dir): Exit on first hook non-0 return.
5034 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5035 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5036 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5037 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5038 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5039 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5040 * grub-core/fs/newc.c: New file.
5041 * grub-core/fs/odc.c: Likewise.
5042 * grub-core/fs/cpio_be.c: Likewise.
5043
58eba9ee
VS
50442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Fix handling of tar numbers occupying the whole field.
5047
5048 * grub-core/fs/cpio.c (read_number): New function.
5049 (grub_cpio_find_file): Use read_number instead of strtoull.
5050
a54a0e12
VS
50512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5054 occupying the whole field size.
5055
a6120aca
LA
50562011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5057
5058 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5059
a93964ce
VS
50602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5063
3ea1ca46
SG
50642011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5065
5066 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5067 TARGET_IMG_LDFLAGS.
5068
b87f7ef2
VS
50692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5072 (mountinfo_entry): Increase the field size to take escaping into
5073 account.
5074 (find_root_device_from_libzfs): Add one byte to size of strings for
5075 security.
5076
62092395
VS
50772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5080 an assert.
5081 * util/grub-setup.c (setup): Likewise.
5082
1f0b1a77
VS
50832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5086 _LzmaDecodeA.
5087
8eba9997
VS
50882011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * docs/grub.texi (Internationalisation): New section.
5091
dd0c91e9
VS
50922011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * docs/grub.texi (Loopback booting): New section.
5095
50962011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5097
5098 * util/grub-mkstandalone.in: Fix minor typo errors.
5099
198e150a
VS
51002011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5103
5104 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5105 net/icmp.c and net/icmp6.c.
5106 (http): New module.
5107 (priority_queue): Likewise.
5108 * grub-core/io/bufio.c: Rewritten.
5109 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5110 TYPE_WITH_CONFIGFILE_OPTION.
5111 (legacy_commands): Add bootp and dhcp.
5112 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5113 (grub_legacy_parse): Likewise.
5114 * grub-core/lib/priority_queue.c: New file.
5115 * grub-core/net/arp.c: Add missing license header.
5116 (arp_find_entry): Removed.
5117 (arp_find_entry): Likewise.
5118 (grub_net_arp_resolve): Rename to ...
5119 (grub_net_arp_send_request): ...this.
5120 (grub_net_arp_receive): New card argument.
5121 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5122 Set router and DNS server.
5123 (grub_net_configure_by_dhcp_ack): Handle routing information.
5124 (grub_cmd_bootp): Set checksum.
5125 (grub_bootp_init): Remove net_dhcp.
5126 * grub-core/net/dns.c: New file.
5127 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5128 completion.
5129 (get_card_packet): Handle allocation.
5130 (grub_efinet_findcards): Set mtu.
5131 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5132 (get_card_packet): Handle allocation.
5133 (emucard): Set mtu.
5134 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5135 (GRUB_MOD_INIT): Set mtu.
5136 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5137 mtu.
5138 (get_card_packet): Handle allocation.
5139 (grub_ofnet_findcards): Set mtu.
5140 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5141 assert.
5142 (grub_net_recv_ethernet_packet): Handle IPv6.
5143 * grub-core/net/http.c: New file.
5144 * grub-core/net/icmp.c: Likewise.
5145 * grub-core/net/icmp6.c: Likewise.
5146 * grub-core/net/ip.c (ip6addr): New type.
5147 (ip6hdr): Likewise.
5148 (reassemble): Likewise.
5149 (cmp): New function.
5150 (reassembles): New variable.
5151 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5152 (id): New variable.
5153 (send_fragmented): New function.
5154 (grub_net_send_ip_packet): Rename to ...
5155 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5156 Handle non-UDP.
5157 (grub_net_recv_ip_packets): Rename to ...
5158 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5159 (free_rsm): New function.
5160 (free_old_fragments): Likewise.
5161 (grub_net_recv_ip4_packets): New function.
5162 (grub_net_send_ip6_packet): Likewise.
5163 (grub_net_send_ip_packet): Likewise.
5164 (grub_net_recv_ip6_packets): Likewise.
5165 (grub_net_recv_ip_packets): Likewise.
5166 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5167 (LINK_LAYER_CACHE_SIZE): New const.
5168 (link_layer_find_entry): New function.
5169 (grub_net_link_layer_add_address): Likewise.
5170 (grub_net_link_layer_resolve_check): Likewise.
5171 (grub_net_link_layer_resolve): Likewise.
5172 (grub_net_ipv6_get_slaac): Likewise.
5173 (grub_net_ipv6_get_link_local): Likewise.
5174 (grub_cmd_ipv6_autoconf): Likewise.
5175 (parse_ip): Handle one number representation.
5176 (parse_ip6): New functoion.
5177 (match_net): Handle IPv6.
5178 (grub_net_resolve_address): Handle IPv6 and DNS.
5179 (grub_net_resolve_net_address): Handle IPv6.
5180 (route_cmp): New function.
5181 (grub_net_route_address): Find best route.
5182 (grub_net_addr_to_str): Handle IPv6.
5183 (grub_net_addr_cmp): New function.
5184 (grub_net_add_addr): Register local route.
5185 (print_net_address): Handle net address.
5186 (grub_net_poll_cards): Retransmit TCP.
5187 (grub_net_poll_cards_idle_real): Likewise.
5188 (have_ahead): New function.
5189 (grub_net_seek_real): Use underlying seek.
5190 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5191 * grub-core/net/tcp.c: New file.
5192 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5193 (cmp): New function.
5194 (ack): Likewise.
5195 (tftp_receive): Handle unordered input.
5196 (destroy_pq): New function.
5197 (tftp_close): Close pq.
5198 * grub-core/net/udp.c: Put missing license header.
5199 (grub_net_udp_socket): New function.
5200 (udp_socket_register): Likewise.
5201 (grub_net_udp_close): Likewise.
5202 (grub_net_recv_udp_packet): Check checksum.
5203 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5204 * include/grub/misc.h (grub_memchr): New function.
5205 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5206 (grub_net_card_driver): Return buf in recv.
5207 (grub_net_slaac_mac_list): New struct.
5208 (grub_network_level_protocol_id): Add ipv6.
5209 (grub_net_network_level_addr): Likewise.
5210 (grub_net_network_level_net_addr): Likewise.
5211 (grub_net_app_protocol): Add seek.
5212 (grub_net_socket): Removed.
5213 (grub_net_sockets): Likewise.
5214 (grub_net_socket_register): Likewise.
5215 (grub_net_socket_unregister): Likewise.
5216 (FOR_NET_SOCKETS): Likewise.
5217 (grub_net_add_addr): Add const.
5218 (GRUB_NET_BOOTP_*): New enum.
5219 (grub_net_addr_cmp): New proto.
5220 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5221 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5222 (grub_net_hwaddr_to_str): NEw proto.
5223 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5224 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5225 (grub_dns_init): New proto.
5226 (grub_dns_fini): Likewise.
5227 (grub_net_tcp_retransmit): Likewise.
5228 (grub_net_link_layer_add_address): Likewise.
5229 (grub_net_link_layer_resolve_check): Likewise.
5230 (grub_net_link_layer_resolve): Likewise.
5231 (grub_net_dns_lookup): Likewise.
5232 (grub_net_add_dns_server): Likewise.
5233 (grub_net_remove_dns_server): Likewise.
5234 (GRUB_NET_TRIES): New const.
5235 (GRUB_NET_INTERVAL): Likewise.
5236 * include/grub/net/arp.h: Mostly rewritten.
5237 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5238 * include/grub/net/ip.h: Mostly rewritten.
5239 * include/grub/net/netbuff.h: Indent.
5240 * include/grub/net/tcp.h: New file.
5241 * include/grub/net/udp.h: Mostly rewritten.
5242 * include/grub/priority_queue.h: New file.
5243 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5244 (grub_swap_bytes64_compile_time): Likewise.
5245 (grub_cpu_to_be16_compile_time): Likewise.
5246 (grub_cpu_to_be32_compile_time): Likewise.
5247 (grub_cpu_to_be64_compile_time): Likewise.
5248 (grub_be_to_cpu64_compile_time): Likewise.
5249
215c1800
VS
52502011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5253 UINT_TO_PTR with cast.
5254
c17e546c
VS
52552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5258 don't use them.
5259
ff6b18b6
VS
52602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5263 already there.
5264
70ffcc93
VS
52652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5268 confusing ipxe.
5269
e5f4d260
VS
52702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5273 Add missing const attribute.
5274 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5275 Likewise.
5276 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5277 Likewise.
5278
8e54b4b7
VS
52792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5282 misaligned access.
5283 (serpent_setkey): Likewise.
5284 (serpent_encrypt_internal): Likewise.
5285 (serpent_decrypt_internal): Likewise.
5286 (serpent_encrypt): Don't put an alignment-increasing cast.
5287 (serpent_decrypt): Likewise.
5288 (serpent_test): Likewise.
5289
813c0a2b
VS
52902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5293
f2b60fbd
VS
52942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5297
5298 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5299 grub_addr_t casts.
5300 (PTR_TO_UINT64): Likewise.
5301 (PTR_TO_UINT32): Likewise.
5302
5ef5c511
VS
53032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5306 because of stack.
5307 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5308 limit.
5309
c476e6df
VS
53102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5313 text_width > available width a bit more gracefully.
5314
384ad7cc
VS
53152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5318 current address calculation.
5319
96f8caf8
VS
53202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5323 stack.
5324 (encode_block): Likewise.
5325
276b7a8b
VS
53262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5329 certainety.
5330
e3fd394a
VS
53312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5334 non-RS part to avoid RS messing with GDT.
5335 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5336 Increase to suit in realmode routines.
5337
53382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/kern/i386/realmode.S: Increase alignment.
5341 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5342
ee9c2e7a
VS
53432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5346 be deterministic.
5347 (syndroms): Compute 0 syndrom.
5348 (rs_recover): Use 0 syndrom.
5349
7a7f7cc9
VS
53502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5353
a14b16d1
VS
53542011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5357 brackets.
5358
9f59e9fc
VS
53592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5360
ca1b552c
VS
5361 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5362 account.
5363 (get_top_pad): Likewise.
5364 (get_right_pad): Likewise.
5365 (get_bottom_pad): Likewise.
5366
53672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5370
e739d698
VS
53712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5374 attribute as the structure isn't guaranteed to be properly aligned.
5375 (grub_efi_pci_device_path): Likewise.
5376 (grub_efi_pccard_device_path): Likewise.
5377 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5378 specify the size of `memory_type'.
5379 (grub_efi_vendor_device_path): Likewise.
5380 (grub_efi_controller_device_path): Likewise.
5381 (grub_efi_acpi_device_path): Likewise.
5382 (grub_efi_expanded_acpi_device_path): Likewise.
5383 (grub_efi_atapi_device_path): Likewise.
5384 (grub_efi_scsi_device_path): Likewise.
5385 (grub_efi_fibre_channel_device_path): Likewise.
5386 (grub_efi_1394_device_path): Likewise.
5387 (grub_efi_usb_device_path): Likewise.
5388 (grub_efi_usb_class_device_path): Likewise.
5389 (grub_efi_i2o_device_path): Likewise.
5390 (grub_efi_mac_address_device_path): Likewise.
5391 (grub_efi_ipv4_device_path): Likewise.
5392 (grub_efi_ipv6_device_path): Likewise.
5393 (grub_efi_infiniband_device_path): Likewise.
5394 (grub_efi_uart_device_path): Likewise.
5395 (grub_efi_vendor_messaging_device_path): Likewise.
5396 (grub_efi_hard_drive_device_path): Likewise.
5397 (grub_efi_cdrom_device_path): Likewise.
5398 (grub_efi_vendor_media_device_path): Likewise.
5399 (grub_efi_file_path_device_path): Likewise.
5400 (grub_efi_protocol_device_path): Likewise.
5401 (grub_efi_piwg_device_path): Likewise.
5402 (grub_efi_bios_device_path): Likewise.
5403
cb8f88ea
VS
54042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5407 (grub_ucs4_to_utf8_alloc): Likewise.
5408 (grub_ucs4_to_utf8): Likewise.
5409 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5410 (grub_ucs4_to_utf8_alloc): Likewise.
5411
309e5352
VS
54122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 AFFS never uses unicode.
5415
5416 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5417 (grub_latin1_to_utf8): New inline function.
5418 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5419
e7987e1b
VS
54202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5423 overflow.
5424
efc2616e
VS
54252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5428 (grub_squash_dirent_header): Likewise.
5429 (read_chunk): Don't double swap.
5430 (grub_squash_iterate_dir): Fix swap sizes.
5431
3c349f5a
VS
54322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5435
b453412d
VS
54362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5439 (grub_hfs_iterate_dir): Likewise.
5440
12e9d4d1
VS
54412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 Fix video on platforms where unaligned access is forbidden.
5444 Make several optimisations while on it.
5445
5446 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5447 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5448 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5449 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5450 Disable.
5451 (grub_video_fbblit_replace_16bit_1bit):
5452 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5453 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5454 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5455 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5456 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5457 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5458 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5459 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5460 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5461 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5462 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5463 (grub_video_fbblit_replace_index_RGB888): Likewise.
5464 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5465 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5466 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5467 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5468 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5469 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5470 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5471 Disable.
5472 (grub_video_fbblit_blend_XXX565_1bit):
5473 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5474 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5475 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5476 void *.
5477 * grub-core/video/fb/video_fb.c (common_blitter)
5478 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5479 (grub_video_fb_create_render_target_from_pointer)
5480 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5481 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5482 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5483 definition.
5484 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5485
ace96609
VS
54862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5489 HH22 and HM10 relocations.
5490
fd261d73
VS
54912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5494
e59b7857
VS
54952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5498 allocation succeeded.
5499
9b4baaa4
VS
55002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5503 argument a u8 pointer. All users updated.
5504 Handle unaligned buffers.
5505
dc713193
VS
55062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5509 add_part to workaround compiler bug.
5510
30dd48c2
VS
55112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5514
0c6087a8
VS
55152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5518 Reserve alignment invariants.
5519 (grub_multiboot_load): Likewise.
5520 (retrieve_video_parameters): Likewise.
5521 (grub_multiboot_make_mbi): Likewise.
5522
c2e77777
VS
55232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5526 incorrect pointer.
5527
b70b6d11
VS
55282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5531 (grub_pata_pio_write): Likewise.
5532
02a2bf83
VS
55332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 Add noreturn attributes and remove unreachable code.
5536
5537 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5538 code.
5539 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5540 code. Mark as noreturn.
5541 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5542 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5543 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5544 unreachable code.
5545 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5546 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5547 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5548 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5549 * include/grub/kernel.h (grub_main): Mark as noreturn.
5550 * include/grub/reader.h (grub_rescue_run): Likewise.
5551
2019d09e
VS
55522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5555 redundant declaration.
5556
d1c501ee
VS
55572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5560 redundant declaration.
5561 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5562
61664420
VS
55632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5566 to ensure alignment.
5567 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5568 alignment. Ensure tmp alignment.
5569 (grub_cmd_hdparm): Ensure buf alignment.
5570 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5571 to ensure alignment.
5572 (grub_ata_dumpinfo): Ensure text alignment.
5573 (grub_atapi_identify): Preserve alignment invariant.
5574 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5575
0d51ee20
VS
55762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5579 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5580 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5581 * include/grub/misc.h (grub_reboot)
5582 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5583 (grub_halt) [__mips__]: Likewise.
5584
753ef8c1
VS
55852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5588 Remove redundant declaration.
5589 (grub_mmap_get_post64): Likewise.
5590 (grub_mmap_get_upper): Likewise.
5591 (grub_mmap_get_lower): Likewise.
5592
85c85365
VS
55932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5596 uint32_t * to ensure alignment.
5597 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5598
a23f2cc4
VS
55992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5600
93018f64
VS
5601 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5602 uint16_t * to ensure alignment.
5603 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5604 alignment.
5605
56062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5609 to ensure alignment.
5610 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5611
58acccd6
VS
56122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5615 Handle unaligned pointers.
5616 (u32at): Likewise.
5617 (u64at): Likewise.
5618 (fixup): Use byte access instead of v16at.
5619 (find_attr): Fix imporper usage of v32at.
5620 (read_data): Likewise.
5621 (list_file): Handle byte-swapping and unaligned strings.
5622 (grub_ntfs_label): Likewise.
5623
9b05cad7
VS
56242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5627 as it's not necessarily aligned.
5628
b3950b84
VS
56292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5632 redundant declaration.
5633 (grub_serial_init): Likewise.
5634 (grub_terminfo_init): Likewise.
5635
fcd232b7
VS
56362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5639 function.
5640 (ZAP_HASH_IDX): Likewise.
5641 (ZAP_LEAF_HASH_SHIFT): Likewise.
5642 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5643 (LEAF_HASH): Likewise.
5644 (ZAP_LEAF_NUMCHUNKS): Likewise.
5645 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5646 alignment invariants. Return pointer. All users updated.
5647 (ZAP_LEAF_ENTRY): Make into inline function.
5648 (NBBY): Removed.
5649 (xor): LIkewise.
5650 (xor_out): Use grub_crypto_xor.
5651 (dnode_get_path): Use grub_get_unaligned.
5652 (nvlist_find_value): Likewise.
5653 (grub_zfs_nvlist_lookup_uint64): Likewise.
5654 (grub_zfs_nvlist_lookup_string): Likewise.
5655 (get_nvlist_size): Likewise.
5656 (grub_zfs_open): Likewise.
5657 (fill_fs_info): Likewise.
5658 (grub_zfs_dir): Likewise.
5659 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5660 alignment invariants.
5661 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5662 necessarily aligned.
5663
f138623a
VS
56642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5667
564840dc
VS
56682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5671 arithmetic to conserve alignment invariants.
5672
9b40df20
VS
56732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5676 redundant declaration.
5677 (grub_efiemu_mm_obtain_request): Likewise.
5678 (grub_efiemu_prepare): Likewise.
5679
d1c930f9
VS
56802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5683 to match types.
5684
4c5f3056
VS
56852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5688 case of aunaligned recptr.
5689 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5690 alignment.
5691 (grub_hfsplus_btree_search): Handle unaligned index.
5692
728cba91
VS
56932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5696 to get freetag and skip.
5697
eb561f31
VS
56982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5701 array.
5702 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5703 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5704
20993fbb
VS
57052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5708 name for checksum and fix allocation algorithm.
5709
1f313b94
VS
57102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * include/grub/types.h (grub_properly_aligned_t): New type.
5713 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5714 (grub_get_unaligned16): Add explicit casts.
5715 (grub_get_unaligned32): Likewise.
5716 (grub_get_unaligned64): Likewise.
5717 (grub_set_unaligned16): New function.
5718 (grub_set_unaligned32): Likewise.
5719
47ae27ec
VS
57202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5723
78c2cd1c
VS
57242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5727 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5728 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5729
53072f9b
VS
57302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5733 conditionals.
5734
055dc239
VS
57352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5738 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5739
496bd074
VS
57402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 Unify and improve RAID and crypto xor.
5743
5744 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5745 changed to grub_crypto_xor
5746 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5747 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5748 Use bigger types when possible.
5749
ef6e4335
VS
57502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/disk/raid.c (scan_devices): Fix condition.
5753
5d048bf2
VS
57542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5757 Make name a const ptr.
5758
ee533335
VS
57592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5762 first argument a const pointer.
5763 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5765 proto.
5766 (grub_children_iterate): Likewise.
5767 (grub_machine_mmap_iterate): Remove redundant declaration.
5768
cc8f3668
VS
57692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5772 (grub_cmd_acpi) [!x86]: Disable EBDA.
5773
c5fc563a
VS
57742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 Enable UTF8 in gnulib regexp.
5777
5778 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5779 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5780 (isupper): Use grub_isupper.
5781 (isascii): New inline function.
5782 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5783 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5784 * grub-core/normal/charset.c (grub_utf8_process): New function.
5785 (grub_utf8_to_utf16): Use grub_utf8_process.
5786 (grub_encode_utf8_character): New function.
5787 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5788 * include/grub/charset.h (grub_utf8_process): New declaration.
5789 (grub_encode_utf8_character): Likewise.
5790 * include/grub/misc.h (grub_islower): New inline function.
5791 (grub_isupper): Likewise.
5792 (grub_strchrsub): Moved down to fix the definitions.
5793
0af2346f
VS
57942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5797 specification.
5798
74dbd244
VS
57992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * include/grub/loader.h (grub_loader_register_preboot_hook):
5802 Use struct preboot * and not void * for handle. All users updated.
5803 (grub_loader_unregister_preboot_hook): Likewise.
5804
1bc8f60d
VS
58052011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5808 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5809 UTF-16-BE. All users updated.
5810 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5811 (grub_hfsplus_iterate_dir): Likewise.
5812 (grub_hfsplus_label): Likewise.
5813
48d6e456
VS
58142011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5817
bf3a3857
VS
58182011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 Add missing const qualifiers.
5821
5822 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5823 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5824 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5825 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5826 (grub_lvm_check_flag): Likewise.
5827 * grub-core/efiemu/i386/coredetect.c
5828 (grub_efiemu_get_default_core_name): Likewise
5829 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5830 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5831 * grub-core/fs/ntfs.c (fixup): Likewise.
5832 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5833 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5834 (fzap_lookup): Likewise.
5835 (zap_lookup): Likewise.
5836 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5837 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5838 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5839 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5840 (grub_freebsd_add_meta_module): Likewise.
5841 (grub_cmd_freebsd_module): Likewise.
5842 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5843 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5844 (grub_xnu_writetree_get_size): Likewise.
5845 (grub_xnu_writetree_toheap_real): Likewise.
5846 (grub_xnu_find_key): Likewise.
5847 (grub_xnu_create_key): Likewise.
5848 (grub_xnu_create_value): Likewise.
5849 (grub_xnu_register_memory): Likewise.
5850 (grub_xnu_check_os_bundle_required): Likewise.
5851 (grub_xnu_scan_dir_for_kexts): Likewise.
5852 (grub_xnu_load_kext_from_dir): Likewise.
5853 * grub-core/normal/color.c (color_list): Likewise.
5854 * grub-core/normal/completion.c (current_word): Likewise.
5855 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5856 * grub-core/term/serial.c (grub_serial_find): Likewise.
5857 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5858 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5859 Likewise.
5860 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5861 (grub_freebsd_add_meta_module): Likewise.
5862 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5863 * include/grub/net.h (grub_net_card_driver): Likewise.
5864 (grub_net_card): Likewise.
5865 (grub_net_app_protocol): Likewise.
5866 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5867 * include/grub/serial.h (grub_serial_find): Likewise.
5868 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5869 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5870 (grub_xnu_create_value): Likewise.
5871 (grub_xnu_find_key): Likewise.
5872 (grub_xnu_scan_dir_for_kexts): Likewise.
5873 (grub_xnu_load_kext_from_dir): Likewise.
5874
5875 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5876 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5877 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5878 Moved from here ...
5879 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5880
112b4837
CW
58812011-11-28 Colin Watson <cjwatson@ubuntu.com>
5882
5883 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5884
49e891ac
VS
58852011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5888 (read_device): Fix size calculation.
5889
fd258e5c
RM
58902011-11-25 Robert Millan <rmh@gnu.org>
5891
5892 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5893 (find_root_device_from_libzfs): Add zpool output parser to be used
5894 as fallback when libzfs isn't available.
5895
78845dc2
SG
58962011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5897
5898 * po/Makefile.in.in: Add missing escape-continuation.
5899
adac5211
VS
59002011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5903
10b64f1c
VS
59042011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5907
bb416954
VS
59082011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5911
bdfe9eeb
VS
59122011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5915
581ffa8a
VS
59162011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/lib/adler32.c: Add missing license specification.
5919 * grub-core/lib/crc64.c: Likewise.
5920 * grub-core/loader/i386/pc/plan9.c: Likewise.
5921 * grub-core/partmap/plan.c: Likewise.
5922
2536cf64
LK
59232011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5924
5925 Add facility to debug GRUB with gdb under qemu.
5926
5927 * grub-core/gdb_grub.in: New file.
5928 * grub-core/gmodule.pl.in: Likewise.
5929 * grub-core/Makefile.core.def (gmodule.pl): New script.
5930 (gdb_grub): Likewise.
5931
bc108a4a
VS
59322011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * util/grub-mount.c (argp_parser): Accept relative pathes.
5935 * util/grub-fstest.c (argp_parser): Likewise.
5936
111c1778
VS
59372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Plan9 support.
5940
5941 * Makefile.util.def (libgrubmods): Add
5942 grub-core/partmap/plan.c.
5943 * docs/grub.texi: Notice Plan9 support.
5944 * grub-core/Makefile.core.def (plan9): New module.
5945 (part_plan): Likewise.
5946 * grub-core/loader/i386/pc/plan9.c: New file.
5947 * grub-core/partmap/plan.c: Likewise.
5948 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5949 define.
5950 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5951 * include/grub/mm.h (grub_extend_alloc): New inline function.
5952
c30be3b6
VS
59532011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Make Reed-Solomon faster by using power of generator representation of
5956 GF(256)*.
5957
5958 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5959 (gf_double_t): Likewise.
5960 (gf_invert): Removed.
5961 (gf_powx): New array.
5962 (gf_powx_inv): Likewise.
5963 (scratch): Move higher.
5964 (gf_reduce): Removed.
5965 (gf_mul): Use powx.
5966 (gf_invert): Likewise.
5967 (init_inverts): Replaced with ...
5968 (init_powx): ...this. All users updated.
5969 (pol_evaluate): Replace multiplications with additions.
5970 (rs_encode): Likewise.
5971 (gauss_eliminate): Call gf_invert.
5972 (grub_reed_solomon_add_redundancy): Call init_powx.
5973 (grub_reed_solomon_recover): Call init_powx unconditionally.
5974
fa5aeffc
VS
59752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5978
a346b81c
VS
59792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5982 disk->partiton for safety.
5983
d89ee414
VS
59842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5987 Fix a memory leak.
5988 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5989
91ee7b6d
VS
59902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5993
91e5a33d
VS
59942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5997
9edd7be2
VS
59982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 Fix spaces handling in proc/self/mountinfo.
6001
6002 * util/getroot.c (unescape): New function.
6003 (grub_find_root_device_from_mountinfo): Use unescape.
6004
ba102053
VS
60052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Support ZFS embedding.
6008
6009 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6010 (grub_zfs_fs): Register grub_zfs_embed.
6011
aa94b870
VS
60122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Fix MIPS compilation.
6015
6016 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6017 * include/grub/offsets.h: Rename decompressor fields from
6018 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6019 * util/grub-mkimage.c (image_targets): Use new names.
6020
5fbdac14
VS
60212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Defer multiboot device parsing until we're in compressed part.
6024
6025 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6026 bsd_part. setdevice has fallen into disuse.
6027 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6028 (bsd_part): Likewise.
6029 (boot_dev): New variable.
6030 (multiboot_trampoline): Don't parse multiboot device.
6031 Pass multiboot device in %edx.
6032 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6033 grub_boot_device.
6034 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6035 Likewise.
6036 * grub-core/kern/i386/pc/startup.S: Save edx.
6037 (grub_boot_drive): Removed.
6038 (grub_install_dos_part): Likewise.
6039 (grub_install_bsd_part): Likewise.
6040 (grub_boot_device): New variable.
6041 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6042 (grub_install_bsd_part): Likewise.
6043 (grub_boot_drive): Likewise.
6044 (grub_boot_device): New variable.
6045 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6046 Removed.
6047 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6048 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6049 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6050 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6051 * util/grub-install.in: Remove redundant condition.
6052
691cbb58
VS
60532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 Fix bug introduced by previous commit.
6056
6057 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6058
60240b8b
VS
60592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 Use decompressors framework on i386-pc. It increases core size
6062 by 46 bytes but improves compatibility and maintainability.
6063
6064 * grub-core/Makefile.core.def (lzma_decompress): New image.
6065 (kernel): Add i386_pc_ldflags.
6066 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6067 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6068 to real_to_prot, prot_to_real and device info.
6069 * include/grub/offsets.h: Renamed decompressor offsets.
6070 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6071 (image_target_desc): Remove raw_size and rename decompressor fields.
6072 (compress_kernel): Handle lzma.
6073 (generate_image): Handle decompressors on i386-pc.
6074
e9d3421c
VS
60752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * configure.ac: Add -fno-asynchronous-unwind-tables.
6078
2b23074a
VS
60792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Move assembly code to C by using intwrap. It increases core size
6082 by 88 bytes but improves compatibility and maintainability.
6083
6084 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6085 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6086 ... here. Translated to C.
6087 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6088 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6089 ... here. Translated to C.
6090 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6091 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6092 ... here. Translated to C.
6093 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6094 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6095 ... here. Translated to C.
6096 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6097 * grub-core/term/i386/pc/console.c (grub_console_cls):
6098 ... here. Translated to C.
6099 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6100 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6101 ... here. Translated to C.
6102 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6103 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6104 Translated to C.
6105 * grub-core/term/i386/pc/console.c (int10_9): New function.
6106 (grub_console_putchar): Likewise.
6107 * include/grub/i386/pc/console.h: Removed the not anymore shared
6108 functions.
6109
678f4b67
VS
61102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 Move grub_chainloader_real_boot out of the kernel.
6113
6114 * grub-core/Makefile.am: Remove machine/loader.h.
6115 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6116 Removed.
6117 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6118 variable.
6119 (grub_relocator16_keep_a20_enabled): Likewise.
6120 (grub_relocator16_boot): Fill new variables.
6121 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6122 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6123 relocator.
6124 (grub_chainloader_unload): Likewise.
6125 (grub_chainloader_cmd): Likewise.
6126 * include/grub/i386/pc/loader.h: Removed.
6127 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6128 and esi. All initialisers updated.
6129
4626edf6
VS
61302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
61312011-11-12 Colin Watson <cjwatson@ubuntu.com>
6132
6133 * Makefile.util.def (grub-mount): New util.
6134 * .bzrignore: Add grub-mount.
6135 * configure.ac: Check for fuse and enable grub-mount if available.
6136 * docs/man/grub-mount.h2m: New file.
6137 * util/grub-mount.c: Likewise.
6138
10f0117b
VS
61392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/commands/efi/fixvideo.c: Gettextize.
6142 * grub-core/commands/hashsum.c: Likewise.
6143 * grub-core/commands/i386/cmostest.c: Likewise.
6144 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6145 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6146 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6147 * grub-core/commands/lsmmap.c: Likewise.
6148 * grub-core/commands/menuentry.c: Likewise.
6149 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6150 * grub-core/commands/setpci.c: Likewise.
6151 * grub-core/loader/i386/bsd.c: Likewise.
6152 * grub-core/loader/i386/linux.c: Likewise.
6153 * util/getroot.c: Likewise.
6154 * util/grub-editenv.c: Likewise.
6155 * util/grub-fstest.c: Likewise.
6156 * util/grub-mkfont.c: Likewise.
6157 * util/grub-mkimage.c: Likewise.
6158 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6159 * util/grub-pe2elf.c: Likewise.
6160 * util/grub-probe.c: Likewise.
6161 * util/grub-setup.c: Likewise.
6162 * util/ieee1275/ofpath.c: Likewise.
6163 * util/misc.c: Likewise.
6164 * util/raid.c: Likewise.
6165
566f779b
RM
61662011-11-11 Robert Millan <rmh@gnu.org>
6167
6168 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6169 __attribute__((unused)) from `os_dev', which *is* being used.
6170
b50787de
VS
61712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6174 forgotten define.
6175 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6176 GRUB_IA64_DL_GOT_ALIGN.
6177 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6178 GRUB_IA64_DL_TRAMP_ALIGN.
6179
119d11c8
VS
61802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Replace grub_fatal with normal errors in i386 linux loader.
6183
6184 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6185 (allocate_pages): Check find_efi_mmap_size return value.
6186 (grub_e820_add_region): Return error.
6187 (grub_linux_boot): Check mmap return value.
6188
6e0632e2
VS
61892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/commands/acpihalt.c: Gettextized.
6192 * grub-core/commands/cacheinfo.c: Likewise.
6193 * grub-core/commands/cmp.c: Likewise.
6194 * grub-core/commands/efi/loadbios.c: Likewise.
6195 * grub-core/commands/gptsync.c: Likewise.
6196 * grub-core/commands/ieee1275/suspend.c: Likewise.
6197 * grub-core/commands/legacycfg.c: Likewise.
6198 * grub-core/commands/memrw.c: Likewise.
6199 * grub-core/commands/minicmd.c: Likewise.
6200 * grub-core/commands/parttool.c: Likewise.
6201 * grub-core/commands/time.c: Likewise.
6202 * grub-core/commands/videoinfo.c: Likewise.
6203 * grub-core/disk/geli.c: Likewise.
6204 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6205 * grub-core/disk/luks.c: Likewise.
6206 * grub-core/disk/lvm.c: Likewise.
6207 * grub-core/font/font_cmd.c: Likewise.
6208 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6209 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6210 * grub-core/gfxmenu/view.c: Likewise.
6211 * grub-core/kern/emu/hostdisk.c: Likewise.
6212 * grub-core/kern/emu/main.c: Likewise.
6213 * grub-core/kern/emu/misc.c: Likewise.
6214 * grub-core/kern/emu/mm.c: Likewise.
6215 * grub-core/kern/mips/arc/init.c: Likewise.
6216 * grub-core/kern/mips/loongson/init.c: Likewise.
6217 * grub-core/kern/partition.c: Likewise.
6218 * grub-core/lib/i386/halt.c: Likewise.
6219 * grub-core/lib/mips/arc/reboot.c: Likewise.
6220 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6221 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6222 * grub-core/loader/i386/xnu.c: Likewise.
6223 * grub-core/loader/multiboot.c: Likewise.
6224 * grub-core/net/bootp.c: Likewise.
6225 * grub-core/net/net.c: Likewise.
6226 * grub-core/normal/term.c: Likewise.
6227 * grub-core/partmap/bsdlabel.c: Likewise.
6228 * grub-core/parttool/msdospart.c: Likewise.
6229 * grub-core/term/gfxterm.c: Likewise.
6230 * grub-core/term/terminfo.c: Likewise.
6231 * grub-core/video/i386/pc/vbe.c: Likewise.
6232 * util/grub-menulst2cfg.c: Likewise.
6233 * util/grub-mkdevicemap.c: Likewise.
6234 * util/grub-mklayout.c: Likewise.
6235 * util/grub-mkrelpath.c: Likewise.
6236 * util/grub-script-check.c: Likewise.
6237 * util/ieee1275/grub-ofpathname.c: Likewise.
6238 * util/resolve.c: Likewise.
6239
073aa7a9
VS
62402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 Support %1$d syntax.
6243
6244 * tests/printf_unit_test.c: New file.
6245 * Makefile.util.def (printf_test): New test.
6246 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6247
c76b5417
VS
62482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6251 fix.
6252
df067ad1
VS
62532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6256 dprintf.
6257 * grub-core/font/font.c (grub_font_load): Likewise.
6258
5b289bc5
VS
62592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * util/grub-macho2img.c: Add comment concerning gettext.
6262 * grub-core/lib/legacy_parse.c: Likewise.
6263
c1860f87
VS
62642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6267 (grub_xvasprintf): Likewise.
6268
d35d0d37
VS
62692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 Add const keyword to grub_env_get and gettextize week days.
6272
6273 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6274 (grub_read_hook_datetime): Return const char *.
6275 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6276 updated.
6277 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6278 Mark for gettext.
6279 (grub_get_weekday_name): Return const char *. Call gettext.
6280 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6281 char * and len as the argument. All users updated.
6282 (grub_script_argv_split_append): Receive const char *.
6283 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6284 * include/grub/env.h (grub_env_get): Likewise.
6285 (grub_env_read_hook_t): Return const char *.
6286 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6287 (grub_script_argv_split_append): Likewise.
6288
9aed8a71
VS
62892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6292
067fdf00
VS
62932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6296 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6297
a8bd9d39
VS
62982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6301 Fix prototype.
6302
f7ce5baf
VS
63032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 Fix mips compilation.
6306
6307 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6308 normal decoder.
6309 (hashes): Use in embed decoder as well (for sizes).
6310 (dec_stream_header): Fix embed decompressor logic.
6311 (dec_stream_footer): Likewise.
6312
9bb182f3
VS
63132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6316 an error and not a fatal on unrecognised relocation types.
6317
63a9e6f6
VS
63182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6321 Issue error rather than printf on unknown arguments.
6322
4c458569
VS
63232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6326 Make buf a const.
6327
e2d22baf
VS
63282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6331 Fix module name.
6332
53dc8590
VS
63332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6336 leftover debug printf.
6337
6c189294
VS
63382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6341
f7688369
VS
63422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6345 A stylistic fix.
6346
11a775a3
VS
63472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6350
33f784e8
SL
63512011-11-10 Shea Levy <slevy@tieronedesign.com>
6352
6353 Allow all modules to perform serial IO
6354
6355 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6356 * include/grub/serial.h (grub_serial_port_configure): New inline
6357 function.
6358 (grub_serial_port_fetch): Likewise.
6359 (grub_serial_port_put): Likewise.
6360 (grub_serial_port_fini): Likewise.
6361 (grub_serial_find): New proto.
6362
f6276525
VS
63632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Put symlink at the end of the node and fix a potential
6366 memory corruption.
6367
6368 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6369 Make symlink into an array.
6370 (set_rockridge): Set have_symlink and alloc_dirents.
6371 (grub_iso9660_read_symlink): Use new layout.
6372 (grub_iso9660_iterate_dir): Fix memory corruption.
6373 Use new layout.
6374 (grub_iso9660_dir): Set have_symlink.
6375 (grub_iso9660_open): Likewise.
6376
c3591189
VS
63772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Remove local keyword.
6380
6381 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6382 (version_test_gt): Likewise.
6383 (version_find_latest): Likewise.
6384 (gettext_printf): Likewise.
6385 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6386
cb544caa
VS
63872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6390
45bd824d
VS
63912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 Fix ZFS memory and resource leaks.
6394
6395 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6396 All users updated.
6397 Free type on exit.
6398 (fill_vdev_info): New parameter inserted. All users updated.
6399 (check_pool_label): Likewise.
6400 (scan_disk): Likewise.
6401 (scan_devices): Close non-inserted disks.
6402 (fzap_iterate): Free l.
6403 (unmount_device): Free children descripto memory.
6404
ad9a2f44
VS
64052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6408 argument (access out of bounds).
6409
6b68db81
VS
64102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6413 >= 6 drives.
6414
28840fda
VS
64152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6418 Fix declaration.
6419
8a5a3a5b
VS
64202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Fix several memory leaks.
6423
6424 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6425 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6426 (grub_cpio_dir): Likewise.
6427 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6428 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6429 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6430 (grub_romfs_label): Likewise.
6431 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6432 (squash_unmount): New function.
6433 (grub_squash_dir): Fix memory leak.
6434 (grub_squash_open): Likewise.
6435 (grub_squash_read): Likewise.
6436 (grub_squash_mtime): Likewise.
6437 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6438 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6439 * util/grub-fstest.c (fstest): Likewise.
6440
57b01250
VS
64412011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6444 avoid accessing beyond the array.
6445
19e81ba7
VS
64462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6449
52b656c0
VS
64502011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 Several AFFS fixes.
6453
6454 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6455 (GRUB_AFFS_FLAG_FFS): Removed.
6456 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6457 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6458 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6459 (grub_fshelp_node): Make block 32-bit.
6460 Add block_cache and last_block_cache.
6461 (grub_affs_read_block): Fill and use block cache.
6462 (grub_affs_read_file): Removed.
6463 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6464 boot block.
6465 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6466 safety.
6467 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6468 space.
6469 (grub_affs_close): Free block cache.
6470 (grub_affs_read): Use grub_fshelp_read_file directly.
6471
438a746a
VS
64722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6475 with no error set.
6476
49a45021
VS
64772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6480 used variable.
6481 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6482 Likewise.
6483
3ae17eb8
VS
64842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6487
6488 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6489 byteswap when needed.
6490
27610c38
VS
64912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Fix FreeBSD compilation.
6494
6495 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6496 to avoid circular dependency.
6497 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6498 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6499 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6500
4a19b601
VS
65012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix ZFS crypto error types.
6504
6505 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6506 (grub_gcm_decrypt): Likewise.
6507 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6508 from PBKDF2.
6509
958ee221
VS
65102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 Illumos support.
6513
6514 * Makefile.util.def (10_illumos): New script.
6515 * configure.ac: Set COND_HOST_ILLUMOS.
6516 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6517 Support Illumos calls.
6518 (find_partition_start) [__sun__]: Likewise.
6519 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6520 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6521 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6522 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6523 device.
6524 * util/grub-probe.c (probe) [__sun__]: Do character check.
6525 * util/grub.d/10_illumos.in: New file.
6526
cac14fb6
VS
65272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 Support escaped commas in hostdisk.
6530
6531 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6532 (find_grub_drive): Use unescape_cmp.
6533 (make_device_name): Escape commas.
6534
78e08dc3
VS
65352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6538
9f421dd1
VS
65392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6542 variable.
6543
ed64e9e2
VS
65442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 Support trampoline jumps on powerpc.
6547
6548 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6549 __ia64__ path.
6550 (grub_dl_load_segments): Set mod->sz.
6551 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6552 segments.
6553 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6554 (jump): Likewise.
6555 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6556 function.
6557 (trampoline): New struct.
6558 (trampoline_template): New const.
6559 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6560 * include/grub/dl.h (grub_dl): Add sz element.
6561 [__powerpc__]: Follow __ia64__.
6562 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6563 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6564 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6565 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6566
3084ede4
VS
65672011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 ZFS crypto support.
6570
6571 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6572 * grub-core/Makefile.core.def (zfscrypt): New module.
6573 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6574 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6575 it. All users updated.
6576 (grub_zfs_decrypt): New var.
6577 (grub_zfs_load_key): Likewise.
6578 (zio_checksum_functions): Add SHA256+MAC.
6579 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6580 (zio_read): Handle encrypted blocks.
6581 (zap_verify): Remove incorrect check.
6582 (fzap_iterate): Handle non-standard fzap.
6583 (zap_iterate): Likewise.
6584 (zap_iterate_u64): New function.
6585 (dnode_get_fullpath): Load keys.
6586 * grub-core/fs/zfs/zfscrypt.c: New file.
6587 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6588 (grub_crypto_ecb_encrypt): Make input const.
6589 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6590 (grub_crypto_ecb_encrypt): Make input const.
6591 (GRUB_CIPHER_AES): New macro.
6592 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6593 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6594 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6595 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6596 prefix. All users updated.
6597 (grub_zfs_add_key): New proto.
6598 (grub_zfs_decrypt): Likewise.
6599 (grub_zfs_load_key): Likewise.
6600 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6601 * util/grub-fstest.c (options): Add -K option.
6602 (argp_parser): Likewise.
6603
b632b404
VS
66042011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Support zle compression on ZFS.
6607
6608 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6609 (decomp_table): Add zle.
6610 * include/grub/zfs/zio.h (zio_compress): Add zle.
6611
c7ba4f69
VS
66122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Support BtrFS embedding.
6615
6616 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6617 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6618 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6619 * util/grub-setup.c (setup): Use fs embedding if available.
6620 Add additional sanity check.
6621
455377d9
VS
66222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/grub-install.in: Fix condition for config_opt.
6625
c2fd16ca
VS
66262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 Support third redundancy strip on raidz3.
6629
6630 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6631 Return error on singularity. All users updated.
6632 (read_device): Don't stop on 3rd failure on raidz3.
6633
8622923b
VS
66342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 Support case-insensitive ZFS subvolumes.
6637
6638 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6639 All users updated.
6640 (zap_hash): Likewise.
6641 (name_cmp): New function.
6642 (zap_leaf_array_equal): New parameter case_insensitive.
6643 All users updated.
6644 (zap_leaf_lookup): Likewise.
6645 (fzap_lookup): Likewise.
6646 (zap_lookup): Likewise.
6647 (dnode_get_path): New parameter case_insensitive. Retrieve case
6648 sensitiviness of a volume. All users updated.
6649 (dnode_get_fullpath): New parameter case_insensitive.
6650 All users updated.
6651 (grub_zfs_dir): Set info.case_insensitiveness.
6652
95f2e860
VS
66532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Support second redundancy strip on raidz(2,3).
6656
6657 * grub-core/fs/zfs/zfs.c (powx): New array.
6658 (powx_inv): Likewise.
6659 (poly): New const.
6660 (xor_out): New function.
6661 (gf_mul): Likewise.
6662 (recovery): Likewise.
6663 (read_device): Use second redundancy strip.
6664
11ee4389
VS
66652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Use a power of generator representation of GF(256) multiplication group
6668 to save space time and complexity.
6669
6670 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6671 (raid6_table2): Likewise.
6672 (powx): New array.
6673 (powx_inv): Likewise.
6674 (poly): New const.
6675 (grub_raid_block_mul): Replace with ...
6676 (grub_raid_block_mulx): ...this.
6677 (grub_raid6_init_table): Rewritten.
6678 (grub_raid6_recover): Use power of generator representation.
6679
09e2763f
VS
66802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6683 for the right device.
6684
8bec9a28
VS
66852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6688 expected by grub-mkimage and it's more clear since there is no implicit
6689 padding.
6690
dbd3a32e
VS
66912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6694 disk.
6695 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6696
182c872a
PMH
66972011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6698
6699 * util/grub-mkrescue.in: Fix handling xorriso option.
6700
1e51cabd
VS
67012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6704 NULL.
6705
9cc3581d 67062011-11-03 crocket <crockabiscuit@gmail.com>
6707
6708 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6709
158dc1ea
VS
67102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 XZ CRC64 and SHA256 support.
6713
6714 * Makefile.util.def (libgrubmods): Add crc64.c.
6715 * grub-core/Makefile.core.def (crc64): New module.
6716 * grub-core/lib/crc64.c: New file.
6717 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6718 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6719 Fix the type.
6720 (MAX_HASH_SIZE): New define.
6721 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6722 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6723 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6724 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6725 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6726 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6727 Handle non-crc32 hashes.
6728 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6729 (dec_stream_header): Handle non-crc32 hashes.
6730 (dec_stream_footer): Likewise.
6731 (dec_block_header): Likewise.
6732 (dec_main): Likewise.
6733 (xz_dec_init): Likewise.
6734 (xz_dec_reset): Likewise.
6735 (xz_dec_end): Likewise.
6736 * util/import_gcry.py: Add CRC64 line.
6737
9d9b3d2f
VS
67382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6741 as well.
6742
7d0ac931
VS
67432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Make reiserfs label retrieval similar to other *_label functions.
6746
6747 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6748 (REISERFS_MAX_LABEL_LENGTH): Removed.
6749 (REISERFS_LABEL_OFFSET): Likewise.
6750 (grub_reiserfs_label): Rewritten.
6751
67522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6755 field.
6756
cf5ba824
VS
67572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6760
17744004
VS
67612011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6764 drive failure on both raidz and raidz2.
6765
aca5aefc
VS
67662011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 Fix RAIDZ(2) for >= 5 devices.
6769
6770 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6771 asize argument. All users updated.
6772
ce8ca56e
VS
67732011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 Fix RAIDZ(2).
6776
6777 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6778 (fill_vdev_info_real): Set ashift.
6779 (read_device): Rewrite RAIDZ part based on reverse engineering.
6780
7c01e783
VS
67812011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6784 don't report potentially unavialiable fields in debug output.
6785 (find_path): Fix double-free and memory leak.
6786
ce109e84
VS
67872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 Read label on UFS1.
6790
6791 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6792 (grub_ufs_fs): Always set .label.
6793
87661123
VS
67942011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 Use shifts in UFS.
6797
6798 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6799 (grub_ufs_data): New field log2_blksz.
6800 (grub_ufs_read_file): Use shifts.
6801 (grub_ufs_mount): Check block size and logarithm it.
6802
46bc1dc2
VS
68032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6806 long symlinks.
6807
19ee2987
VS
68082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 Handle symlinks and long names on tar and cpio.
6811
6812 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6813 (ATTR_FILE): Likewise.
6814 (ATTR_DIR): Likewise.
6815 (ATTR_LNK): Likewise.
6816 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6817 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6818 L and K entries.
6819 (grub_cpio_mount): Zero-fill data.
6820 (handle_symlink): New function.
46bc1dc2
VS
6821 (grub_cpio_dir): Handle symlinks.
6822 (grub_cpio_open): Likewise.
6823 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6824
c83a08d8
VS
68252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Fix iso9660 filename limitations and fix memory leaks.
6828
6829 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6830 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6831
45cdd3ea
VS
68322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Fix JFS file name length limitations.
6835
6836 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6837 (grub_jfs_diropen): Fix maximum filename length.
6838 (grub_jfs_getent): Fix filename length.
6839 (grub_jfs_lookup_symlink): Fix size checks.
6840
94ef05c2
VS
68412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6844 string.
6845
785ab8c7
VS
68462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6847
eb0b6b45
VS
6848 Leverage BFS implementation to read AFS.
6849
6850 * Makefile.util.def (libgrubmods): Add afs.c.
6851 * grub-core/Makefile.core.def (afs): New module
6852 * grub-core/fs/afs.c: New file.
6853 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6854
68552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6858
c4a1628f
VS
68592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/fs/bfs.c: Run indent.
6862
5825b379
VS
68632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 BFS implementation based on the specification.
6866
6867 * grub-core/fs/bfs.c: New file.
6868 * Makefile.util.def (libgrubmods): Add bfs.c.
6869 * grub-core/Makefile.core.def (bfs): New module.
6870
42b2a706
VS
68712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * util/grub-fstest.c (cmd_cp): Clarify error message.
6874 (cmd_cmp): Likewise.
6875
61b99bfc
YB
68762011-10-30 Yves Blusseau <blusseau@zetam.org>
6877
6878 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6879 and befs_be.
6880
faba3d16
VS
68812011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Remove afs and befs because of copyright problem.
6884
6885 * grub-core/fs/afs.c: Removed.
6886 * grub-core/fs/afs_be.c: Removed.
6887 * grub-core/fs/befs.c: Removed.
6888 * grub-core/fs/befs_be.c: Removed.
6889 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6890 * grub-core/Makefile.core.def (afs): Removed.
6891 (afs_be): Likewise.
6892 (befs): Likewise.
6893 (befs_be): Likewise.
6894
c39224b0
VS
68952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Prefer rockridge over Joliet.
6898
6899 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6900 to ...
6901 (set_rockridge): ... here.
6902 (grub_iso9660_mount): Check rockridge on the primary label when
6903 discovering. Ignore Joliet if Rockridge is present.
6904
e551115a
VS
69052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 Use shifts in nilfs2.
6908
6909 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6910 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6911 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6912 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6913 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6914 (grub_nilfs2_entries_per_block): Replaced with ...
6915 (grub_nilfs2_log_entries_per_block_log): ... this.
6916 (grub_nilfs2_blocks_per_group): Replaced with ...
6917 (grub_nilfs2_blocks_per_group_log): ... this.
6918 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6919 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6920 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6921 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6922 (grub_nilfs2_palloc_entry_offset): Replaced ...
6923 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6924 (grub_nilfs2_dat_translate): Use shifts.
6925 (grub_nilfs2_read_inode): Likewise.
6926 (GRUB_MOD_INIT): Ensure that logs are correct.
6927
564dd58c
VS
69282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Use shifts in minix filesystem.
6931
6932 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6933 (GRUB_MINIX_ZONE2SECT): Likewise.
6934 (grub_minix_data): Replace block_size with log_block_size.
6935 (grub_minix_read_file): Use shifts.
6936 (grub_minix_mount): Check block size and take a logarithm.
6937
ed9ba06d
VS
69382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Use shifts in squash4.
6941
6942 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6943 (squash_mount): Check block size and take logarithm.
6944 (direct_read): Use shifts.
6945
ad03fe76
VS
69462011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 Correct befs block counting logic.
6949
6950 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6951 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6952 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6953 (grub_afs_read_inode): Use block_shift.
6954 (RANGE_SHIFT): New definition.
6955 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6956 unexpected conditions, use shifts and appropriate types.
6957 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6958
6563f63d
VS
69592011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * grub-core/disk/raid.c (scan_devices): Check partition.
6962 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6963
5b1ae25f
VS
69642011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Support BFS (befs) UUID.
6967
6968 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6969 (grub_afs_small_data_element_header): New struct.
6970 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6971 (grub_afs_read_attribute) [MODE_BFS]: New function.
6972 (grub_afs_iterate_dir): Allocate for complete inode.
6973 (grub_afs_mount): Likewise.
6974 (grub_afs_uuid) [MODE_BFS]: New function.
6975 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6976
f8d82408
VS
69772011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6980 (zfs_unmount): Fix memory leak.
6981
5773fb64
VS
69822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 Support NTFS reparse points.
6985
6986 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6987 (symlink_descriptor): New struct.
6988 (grub_ntfs_read_symlink): New function.
6989 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6990 (grub_ntfs_open): Likewise.
6991
91c3fdde
VS
69922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6995
3be82e10
VS
69962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 fstest xnu_uuid subcommand.
6999
7000 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7001 grub-core/commands/xnu_uuid.c.
7002 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7003 (fstest): Handle xnu_uuid.
7004 (options): Document xnu_uuid.
7005 (argp_parser): Parse xnu_uuid.
7006
8e32442e
VS
70072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7010 -l argument. Add newline at the end if printing.
7011 (GRUB_MOD_INIT): Document -l.
7012
52a05075
VS
70132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7016
1869edb5
VS
70172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 ZFS multi-device and version 33 support.
7020
7021 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7022 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7023 (grub_zfs_data): Add multidev-ice-related fields.
7024 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7025 (dva_get_offset): Make dva const.
7026 (zfs_fetch_nvlist): New function.
7027 (fill_vdev_info_real): Likewise.
7028 (fill_vdev_info): Likewise.
7029 (check_pool_label): Likewise.
7030 (scan_disk): Likewise.
7031 (scan_devices): Likewise.
7032 (read_device): Likewise.
7033 (read_dva): Likewise.
7034 (zio_read_gang): Use read_dva.
7035 (zio_read_data): Likewise.
7036 (zap_leaf_lookup): Add missing endian conversion.
7037 (zap_verify): Add missing endian conversion. All users updated.
7038 (fzap_lookup): Likewise.
7039 (fzap_iterate): Likewise.
7040 (dnode_get_path): Handle SA bonus.
7041 (nvlist_find_value): Make input const. All users updated.
7042 (unmount_device): New function.
7043 (zfs_unmount): Use unmount_device.
7044 (zfs_mount): Use scan_disk.
7045 (zfs_mtime): New function.
7046 (grub_zfs_open): Handle system attributes.
7047 (fill_fs_info): Likewise.
7048 (grub_zfs_dir): Likewise.
7049 (grub_zfs_fs): Add mtime.
7050 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7051 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7052 (SA_MTIME_OFFSET): Likewise.
7053 (SA_SYMLINK_OFFSET): Likewise.
7054 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7055 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7056 (fstest): Support zfsinfo.
7057 (argp_parser): Likewise.
7058
186b4028
VS
70592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7062 error.
7063
70642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7065
7066 ZFS fixes.
7067
7068 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7069 sharing the same block. Iterate over correct number of indices.
7070 (dnode_get_path): Handle symlinks correctly.
7071
c0584900
VS
70722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7075
67e2bd71
VS
70762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 Read label on HFS+.
7079
7080 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7081 (grub_hfsplus_btree_search): Fix types.
7082 (grub_hfsplus_label): Implement.
7083
e9cc6b7b
VS
70842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7087
19832ddb
VS
70882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7091
66b40850
VS
70922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 Fix symlink handling on iso9660.
7095
7096 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7097 All users updated.
7098 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7099 (grub_iso9660_read_symlink): Moved most of code ...
7100 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7101
db821363
VS
71022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7105 Use union to avoid breaking strict-aliasing rules.
7106
e1211949
VS
71072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 Support multi-extent iso files.
7110
7111 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7112 Add node.
7113 (grub_fshelp_node): Revamp. All users updated.
7114 (FLAG_*): New enum.
7115 (read_node): New function.
7116 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7117 All users updated.
7118 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7119 (get_node_size): New function.
7120 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7121 entries.
7122 Fix memory leak on . and ..
7123 (grub_iso9660_read): Use read_node.
7124 (grub_iso9660_close): Free node.
7125
d4888031
VS
71262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 Fix tar 4G limit and handle paths containing dot.
7129
7130 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7131 (canonicalize): New function.
7132 (grub_cpio_find_file): Use canonicalize. Store offs in
7133 grub_disk_addr_t.
7134 (grub_cpio_dir): Use grub_disk_addr_t.
7135 (grub_cpio_open): Likewise.
7136
9f12e664
VS
71372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7140
7141 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7142 unused flags.
7143 (grub_squash_inode): Add long_file and block_size.
7144 (grub_squash_cache_inode): New struct.
7145 (grub_squash_dirent): Make types into enum.
7146 (SQUASH_TYPE_LONG_REGULAR): New type.
7147 (grub_squash_frag_desc): Add field size.
7148 (SQUASH_BLOCK_FLAGS): New enum.
7149 (grub_squash_data): Use grub_squash_cache_inode.
7150 (grub_fshelp_node): Make ino_chunk 64-bit.
7151 (read_chunk): Minor argument change. All users updated.
7152 (squash_mount): Use correct le_to_cpu.
7153 (grub_squash_open): Handle LONG_REGULAR.
7154 (direct_read): New function.
7155 (grub_squash_read_data): Handle blocks correctly.
7156
9f326fba
VS
71572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7160
f4d9b64b
VS
71612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7164
5bbd28b8
VS
71652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 Fix 2G limit on ZFS.
7168
7169 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7170 types.
7171 (uberblock_verify): Likewise.
7172 (dmu_read): Likewise.
7173 (grub_zfs_read): Likewise. Remove invalid cast.
7174
68c72069
VS
71752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7178 (grub_jfs_blkno): Fix incorrect shift.
7179 (grub_jfs_read_file): Use more appropriate types.
7180
6e536dc8
VS
71812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 Support triple indirect on minix2 and minix3.
7184
7185 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7186 Declare triple_indir_zone.
7187 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7188 indirect.
7189
e0864e7a
VS
71902011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Minix FS fixes.
7193
7194 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7195 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7196 Rename ctime to mtime. All users updated.
7197 (grub_minix_get_file_block): Fix types and double indirect computations.
7198
89481cab
VS
71992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7202 if no label is found.
7203 (grub_fat_iterate_dir): Fix file size type.
7204 (grub_fat_iterate_dir): Likewise.
7205
f646e143
VS
72062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7209 save some space.
7210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7211 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7212
534d769e
VS
72132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7216
e084ba18
VS
72172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * util/import_gcry.py: Accept space between # and include.
7220
3471ecdf
VS
72212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7224
124df5f6
VS
72252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7228
7229 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7230 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7231 yylex_strncpy.
7232 * grub-core/script/yylex.l: Add fine-grained #pragma.
7233
4defb8d5
VS
72342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7237 New inline function.
7238 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7239 Likewise.
7240 (memset) [GRUB_UTIL]: Likewise.
7241 (memcmp) [GRUB_UTIL]: Likewise.
7242
4e94ae65
VS
72432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7246 inline function rather than a define.
7247
18c575e5
VS
72482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * util/grub-setup.c: Add missing include.
7251
f8bc22a8
VS
72522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * util/ieee1275/grub-ofpathname.c: Add missing include.
7255
3ce69fc9
VS
72562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7259 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7260 Likewise.
7261
d1e293bb
VS
72622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7265 grub_memcmp usage.
7266
7a5c54a4
VS
72672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * util/grub-install.in: Add datarootdir as per automake manual
7270 suggestion.
7271 * util/grub-mknetdir.in: Likewise.
7272
72732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7274
7275 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7276 suggestion.
7277 * util/grub.d/10_kfreebsd.in: Likewise.
7278 * util/grub.d/10_linux.in: Likewise.
7279 * util/grub.d/10_netbsd.in: Likewise.
7280 * util/grub.d/10_windows.in: Likewise.
7281 * util/grub.d/20_linux_xen.in: Likewise.
7282
766f7d08
VS
72832011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 Remove redundant grub_kernel_image_size.
7286
7287 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7288 _edata and _start.
7289 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7290 the small code. It moves it only by few bytes but simplifies the code.
7291 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7292 _start.
7293 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7294 (grub_kernel_image_size): Removed.
7295 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7296 (grub_kernel_image_size): Removed.
7297 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7298 compiled with Apple toolchain.
7299 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7300 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7301 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7302 (grub_total_module_size): Likewise.
7303 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7304 Removed.
7305 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7306 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7307 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7308 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7309 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7310 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7311 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7312 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7313 Removed.
7314 (grub_total_module_size): Removed.
7315 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7316 (image_targets): Likewise.
7317 Set .compressed_size to no field on sparc.
7318 (generate_image): Remove kernel_image_size handling.
7319
fcf1d672
SJ
73202011-10-19 Szymon Janc <szymon@janc.net.pl>
7321
7322 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7323 NULL pointer dereference.
7324
de9c615e
VS
73252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7328 done with a dedicated section.
7329
7330 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7331 Ensure the correct position of boot_path.
7332 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7333 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7334 other fields.
7335 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7336 * include/grub/boot.h: Removed. All references removed.
7337 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7338 Removed.
7339 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7340
e55599dc
VS
73412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7344 name.
7345
36dd20ad
VS
73462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7349
f8f72eb8
VS
73502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7353 Don't add the bogus brackets.
7354
a374751b
VS
73552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 ExFAT support.
7358
7359 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7360 * grub-core/Makefile.core.def (exfat): New module.
7361 * grub-core/fs/exfat.c: New file.
7362 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7363 (GRUB_FAT_ATTR_*): Make into an enum.
7364 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7365 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7366 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7367 (GRUB_FAT_MAXFILE): Removed.
7368 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7369 (grub_current_fat_bpb_t): New type.
7370 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7371 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7372 (grub_fat_dir_node_t): New type.
7373 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7374 (fat_log2) [MODE_EXFAT]: Removed.
7375 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7376 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7377 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7378 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7379 (grub_fat_label) [MODE_EXFAT]: New function.
7380 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7381 reserved_first_sector to 0.
7382
544c2487
VS
73832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Move grub_reboot out of the kernel.
7386
7387 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7388 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7389 * grub-core/lib/efi/reboot.c: ... here.
7390 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7391 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7392 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7393 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7394 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7395 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7396 * grub-core/lib/ieee1275/reboot.c: ... here.
7397 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7398 * grub-core/lib/mips/arc/reboot.c: ... here.
7399 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7400 * grub-core/lib/mips/loongson/reboot.c: ...here.
7401 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7402 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7403 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7404 * include/grub/i386/reboot.h: New file.
7405 * include/grub/mips/loongson/ec.h: Fix includes.
7406 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7407 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7408 * grub-core/lib/i386/reboot.c: New file.
7409
a97501d2
VS
74102011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Make grub_prefix into module to fix the arbitrary limit and save
7413 some space.
7414
7415 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7416 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7417 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7418 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7419 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7420 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7421 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7422 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7423 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7424 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7425 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7426 * include/grub/ia64/efi/kernel.h: Removed.
7427 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7428 (grub_prefix): Removed.
7429 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7430 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7431 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7432 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7433 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7434 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7435 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7436 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7437 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7438 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7439 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7440 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7441 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7442 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7443 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7444 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7445 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7446 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7447 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7448 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7449 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7450 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7451 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7452 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7453 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7454 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7455 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7456 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7457 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7458 from module.
7459 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7460 prefix_end.
7461 (image_targets): Likewise.
7462 (generate_image): Put prefix as a module.
7463
39705fad
VS
74642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 Replace grub_module_iterate with FOR_MODULES.
7467
7468 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7469 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7470 (grub_efi_modules_addr): ...this.
7471 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7472 (grub_efi_init): Set grub_modbase.
7473 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7474 (grub_modbase): New variable.
7475 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7476 (grub_modbase): New variable.
7477 (grub_machine_init): Set grub_modbase.
7478 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7479 (grub_modbase): New variable.
7480 (grub_machine_init): Set grub_modbase.
7481 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7482 (grub_modbase): New variable.
7483 (grub_machine_init): Set grub_modbase.
7484 * grub-core/kern/main.c (grub_module_iterate): Remove.
7485 (grub_modules_get_end): Use grub_modbase.
7486 (grub_load_modules): Use FOR_MODULES.
7487 (grub_load_config): Likewise.
7488 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7489 (grub_modbase): New variable.
7490 (grub_machine_init): Set grub_modbase.
7491 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7492 (grub_modbase): New variable.
7493 (grub_machine_init): Set grub_modbase.
7494 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7495 Removed.
7496 (grub_modbase): New variable.
7497 (grub_machine_init): Set grub_modbase.
7498 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7499 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7500 (grub_module_iterate): Likewise.
7501 (grub_modbase): New variable declaration.
7502 (FOR_MODULES): New macro.
7503
2afb7f6c
VS
75042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7507 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7508
366e34fa
VS
75092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 Fix few obvious type discrepancies.
7512
7513 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7514 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7515 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7516 variable.
7517 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7518 and connected types.
7519 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7520 offset.
7521 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7522 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7523 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7524 and connected types.
7525
177b960e
VS
75262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 Fix python 3.x incompatibilities.
7529
7530 * gentpl.py: Put brackets around print strings.
7531 * util/import_gcry.py: Open explicitly as utf-8.
7532 Use in instead of has_key.
7533
3b619ae1
VS
75342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7537 (GRUB_XFS_INO_AGBITS): Make into inline function.
7538 (GRUB_XFS_INO_INOINAG): Likewise.
7539 (GRUB_XFS_INO_AG): Likewise.
7540 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7541 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7542 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7543 (GRUB_XFS_EXTENT_SIZE): Likewise.
7544 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7545 (GRUB_XFS_NEXT_DIRENT): Likewise.
7546 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7547 (grub_xfs_read_file): Fix offset type.
7548
8bcebcb8
RM
75492011-10-15 Robert Millan <rmh@gnu.org>
7550
7551 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7552
0017e5ef
RM
75532011-10-15 Robert Millan <rmh@gnu.org>
7554
7555 Fix build problem on FreeBSD and GNU/kFreeBSD.
7556
7557 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7558
d8919552
VS
75592011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7562
7563 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7564 types.
7565 (grub_hfsplus_btree_recoffset): Likewise.
7566 (grub_hfsplus_btree_recptr): Likewise.
7567 (grub_hfsplus_find_block): Likewise.
7568 (grub_hfsplus_btree_search): Likewise.
7569 (grub_hfsplus_read_block): Likewise.
7570 (grub_hfsplus_read_file): Likewise.
7571 (grub_hfsplus_mount): Likewise.
7572 (grub_hfsplus_btree_iterate_node): Likewise.
7573 (grub_hfsplus_btree_search): Likewise.
7574 (grub_hfsplus_iterate_dir): Likewise.
7575 (grub_hfsplus_read): A small code simplification.
7576
c81296b6
VS
75772011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/kern/emu/hostdisk.c
7580 (convert_system_partition_to_system_disk): Don't assume that children
7581 of mapper nodes are mapper nodes.
7582
0eb8ffb1
VS
75832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7586 * include/grub/misc.h (grub_isxdigit): New function.
7587 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7588 switched to grub_isxdigit.
7589 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7590 number starting with a letter.
7591
a98f4a08
RM
75922011-10-09 Robert Millan <rmh@gnu.org>
7593
7594 LVM support for FreeBSD and GNU/kFreeBSD.
7595
7596 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7597 GNU/kFreeBSD.
7598 (LVM_DEV_MAPPER_STRING): Move from here ...
7599 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7600 * util/getroot.c: Include `<grub/util/lvm.h>'.
7601 (grub_util_get_dev_abstraction): Enable
7602 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7603 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7604 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7605 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7606 support it.
7607 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7608 GNU/kFreeBSD.
7609 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7610 when LVM abstraction is required for ${GRUB_DEVICE}.
7611
050e8e90
SJ
76122011-10-06 Szymon Janc <szymon@janc.net.pl>
7613
7614 Add support for LZO compression in GRUB:
7615 - import of minilzo library,
7616 - LZO decompression for btrfs,
7617 - lzop files decompression.
7618
7619 * grub-core/io/lzopio.c: New file.
7620 * grub-core/lib/adler32.c: Likewise.
7621 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7622 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7623 * grub-core/lib/minilzo/minilzo.c: Likewise.
7624 * grub-core/lib/minilzo/minilzo.h: Likewise.
7625 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7626 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7627 grub-core/lib/minilzo/minilzo.c to common.
7628 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7629 cflags in cppflags.
7630 * grub-core/Makefile.core.def (btrfs): Likewise.
7631 * grub-core/Makefile.core.def (lzopio): New module.
7632 (adler32): Likewise.
7633 * grub-core/fs/btrfs.c: Include minilzo.h.
7634 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7635 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7636 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7637 (grub_btrfs_lzo_decompress): New function.
7638 (grub_btrfs_extent_read): Add support for LZO compression type.
7639 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7640 (GRUB_USHRT_MAX): Likewise.
7641 (GRUB_UINT_MAX): Likewise.
7642 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7643 (UINT_MAX): Likewise.
7644 (CHAR_BIT): Likewise.
7645 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7646 grub-core/lib/posix_wrap/limits.h
7647 (UCHAR_MAX): Likewise.
7648 * include/grub/file.h (grub_file_filter_id): New compression filter
7649 GRUB_FILE_FILTER_LZOPIO.
7650 * include/grub/file.h (grub_file_filter_id): Set
7651 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7652 * include/grub/types.h (grub_get_unaligned16): New function.
7653 (grub_get_unaligned32): Likewise.
7654 (grub_get_unaligned64): Likewise.
7655 * util/import_gcry.py (cryptolist): Add adler32.
7656
0eb8ffb1
VS
76572011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7660 in perspective decreases the complexity of build system and fixes
7661 compilation right now.
7662
ce79cc99 76632011-10-01 Ales Nesrsta <starous@volny.cz>
7664
7665 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7666 (fixed problem related to using UHCI with coreboot).
7667
8667a314
BC
76682011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7669
7670 * gentpl.py: Use Autogen macros so that the output template file
7671 (Makefile.tpl) size is reduced.
7672
fc5efcc0
MK
76732011-09-29 Mads Kiilerich <mads@kiilerich.com>
7674
7675 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7676 extra_dist.
7677
d1ab689d
ML
76782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7679
7680 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7681 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7682
c05de032
ML
76832011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7684
7685 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7686 _fullpath.
7687
cca7ccd8
ML
76882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7689
7690 Remove extra declaration of sleep for mingw32.
7691
7692 * util/misc.c (sleep) [__MINGW32__]: Removed.
7693 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7694
e0b0dc83
GS
76952011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7696
7697 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7698 type and packname.
7699 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7700 Resurrected.
7701 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7702 (grub_netbsd_btinfo_bootwedge): New struct.
7703 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7704 New function.
7705 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7706
91a1a164
TH
77072011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7708
7709 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7710 loader.
7711
2ded951e
AB
77122011-09-28 Andreas Born <futur.andy@googlemail.com>
7713
7714 Fix incorrect identifiers in bash-completion.
7715
7716 * util/bash-completion.d/grub-completion.bash.in
7717 (_grub_mkpasswd-pbkdf2): Rename to ...
7718 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7719 (_grub_script-check): Rename to ...
7720 (_grub_script_check): ... this. All users updated.
7721
69915030
VS
77222011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7725 Return 0 if disk isn't biosdisk.
7726
20fd15f9
GS
77272011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7728
7729 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7730 on NetBSD.
7731 * Makefile.util.def (grub-fstest): Likewise.
7732
1a7d7db9
GS
77332011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7734
7735 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7736 Get sector size from disk label.
7737
2221ab6c
CW
77382011-09-05 Colin Watson <cjwatson@ubuntu.com>
7739
7740 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7741 */README* as well as README*.
7742 Reported by: Axel Beckert.
7743
ca51c4a0
VS
77442011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7747 case of less than 256 MiB of RAM.
7748
ab80f326
VS
77492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/commands/wildcard.c (make_regex): Handle @.
7752
4155e697
VS
77532011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7756
ab178c08
SJ
77572011-08-21 Szymon Janc <szymon@janc.net.pl>
7758
7759 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7760 AC_LANG_CONFTEST macros.
7761
7dc3c686
SJ
77622011-08-20 Szymon Janc <szymon@janc.net.pl>
7763
7764 Add grub-fstest option to uncompress data for commands.
7765
7766 * util/grub-fstest.c (uncompress): New var.
7767 (options): New option -u.
7768
fe8d4a7b
SJ
77692011-08-20 Szymon Janc <szymon@janc.net.pl>
7770
7771 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7772 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7773
a5219af1
SJ
77742011-08-20 Szymon Janc <szymon@janc.net.pl>
7775
7776 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7777 file type was not recognized correctly (not gzip or corrupted).
7778
f87abff5
VS
77792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7782 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7783
d94497ea
VS
77842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7787 loongson.
7788 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7789 video_radeon_fuloong2e.
7790 * grub-core/video/radeon_fuloong2e.c: New file.
7791 * include/grub/video.h (grub_video_id_t): Add new ID
7792 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7793
0d1fd011
VS
77942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7797 define.
7798 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7799 that PRID matches the detected subplatform and reset the subplatform
7800 if it doesn't.
7801
84beb0ee
VS
78022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7805
1227c133
VS
78062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 Fix PCI iterating on functions >= 4.
7809
7810 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7811 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7812 Removed.
7813 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7814 (grub_pci_read): Fix bitmask.
7815 (grub_pci_read_word): Likewise.
7816 (grub_pci_read_byte): Likewise.
7817 (grub_pci_write): Likewise.
7818 (grub_pci_write_word): Likewise.
7819 (grub_pci_write_byte): Likewise.
7820
9594c689
VS
78212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7824 can still be specified in TARGET_CFLAGS)
7825
14a2562c
VS
78262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7829
7830 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7831 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7832 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7833 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7834 (FULOONG): Rename to ...
7835 (FULOONG2F): ... this. All users updated.
7836 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7837 (machtype_fuloong2f_str): ... this.
7838 (machtype_fuloong2e_str): New string.
7839 Check for machtype_fuloong2e_str.
7840 * grub-core/loader/mips/linux.c (loongson_machtypes)
7841 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7842 * grub-core/term/serial.c (loongson_defserial)
7843 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7844 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7845 loongson_defserial.
7846 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7847 Rename to ...
7848 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7849 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7850 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7851 to IMAGE_FULOONG2F_FLASH. All users updated.
7852 (image_targets): Rename images.
7853 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7854
b526cbb6
SJ
78552011-08-19 Szymon Janc <szymon@janc.net.pl>
7856
7857 Make enable of disk cache statistics code configurable.
7858
7859 * configure.ac: --enable-cache-stats added.
7860 * config.h.in (DISK_CACHE_STATS): New define.
7861 * grub-core/Makefile.core.def (cacheinfo): New command.
7862 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7863 * grub-core/commands/cacheinfo.c: New file.
7864 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7865 moved to cacheinfo.c.
7866 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7867 debug code.
7868 * include/grub/disk.h: Likewise.
7869
fb739ccd
SJ
78702011-08-19 Szymon Janc <szymon@janc.net.pl>
7871
7872 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7873 * grub-core/Makefile.am: Likewise.
7874
2bba8cfd
VS
78752011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7878 non-zero pull.
7879
43526629
VS
78802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7883 All users updated.
7884 (grub_jfs_lookup_symlink): Use correct starting inode.
7885
5c144cc8
VS
78862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * util/grub-setup.c (main): Add missing gcry initialisation.
7889
b1257f65
VS
78902011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 Don't accept text modes on EFI when booting Linux.
7893
7894 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7895 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7896
828bc390
ML
78972011-08-15 Mario Limonciello <mario_limonciello@dell.com>
78982011-08-15 Colin Watson <cjwatson@ubuntu.com>
7899
7900 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7901 use of "/path/.." as in grub-install for EFI as well as handling
7902 symlinks correctly.
7903 Fixes Debian bug #637768.
7904
5f60ccac
CW
79052011-08-15 Colin Watson <cjwatson@ubuntu.com>
7906
7907 * util/grub-probe.c: Remove duplicate #include.
7908
6dc212f9
RM
79092011-08-10 Robert Millan <rmh@gnu.org>
7910
7911 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7912
7913 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7914 function.
7915 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7916 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7917
66816d85
RM
79182011-08-03 Robert Millan <rmh@gnu.org>
7919
7920 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7921 la_array as packed.
7922 Reported by: Zachary Bedell
7923
20168fca
CW
79242011-07-26 Colin Watson <cjwatson@ubuntu.com>
7925
7926 * configure.ac: The Loongson port requires grub-mkfont due to its
7927 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7928 be built.
7929
303b6246
CW
79302011-07-26 Colin Watson <cjwatson@ubuntu.com>
7931
7932 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7933 processing arguments (otherwise help2man fails when GRUB has not yet
7934 been installed).
7935
6795300e
VS
79362011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7937
41aa28ea
VS
7938 New script grub-mkstandalone.
7939
7940 * Makefile.util.def (grub-mkstandalone): New script.
7941 * docs/man/grub-mkstandalone.h2m: New file.
7942 * util/grub-mkstandalone.in: Likewise.
7943
79442011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Support ATA disks with 4K sectors.
6795300e
VS
7947
7948 * include/grub/ata.h (grub_ata): New member log_sector_size.
7949 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7950 (grub_ata_identify): Read sector size.
7951 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7952
92227597
VS
79532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * util/grub-install.in: Don't use uhci outside of x86.
7956
c77069f5
VS
79572011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-mkrescue.in: Add missing quotes.
7960
79612011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7962
7963 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7964 dereference.
7965
583168a2
VS
79662011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7969
6be1c01f
VS
79702011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * include/grub/video.h: add missing EXPORT_FUND on
7973 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7974
a1167439
VS
79752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * include/grub/mips/kernel.h: Fix define conflict.
7978
bf66054f
VS
79792011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7982 all four ways.
7983
8fc4fa45
CW
79842011-07-21 Colin Watson <cjwatson@ubuntu.com>
7985
7986 Preferred resolution detection for VBE.
7987
7988 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7989 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7990 the Flat Panel extension, in line with the X.org VESA driver.
7991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7992 New function.
7993 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7994 (grub_vbe_bios_read_edid): Likewise.
7995 (grub_vbe_get_preferred_mode): Likewise.
7996 (grub_video_vbe_setup): When the mode is "auto", try to get the
7997 preferred mode from VBE, and use the largest mode that is no larger
7998 than the preferred mode (some BIOSes expose a preferred mode that is
7999 not in their mode list!). If this fails, fall back to 640x480 as a
8000 safe conservative choice.
8001 (grub_video_vbe_get_edid): New function.
8002 (grub_video_vbe_adapter): Add get_edid.
8003 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8004 (struct grub_video_adapter): Add get_edid.
8005 (grub_video_edid_checksum): Add prototype.
8006 (grub_video_edid_preferred_mode): Likewise.
8007 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8008 structure.
8009
8010 * grub-core/commands/videoinfo.c (print_edid): New function.
8011 (grub_cmd_videoinfo): Print EDID if available.
8012
8013 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8014 is more appropriate on a wider range of platforms than 640x480.
8015 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8016 documentation.
8017
ca5572a9
VS
80182011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8021
e4bcf625
VS
80222011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * po/POTFILES.in: Regenerate.
8025
c4edd548
VS
80262011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8029 incorrect memory usage.
8030
16a2bab0
VS
80312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * util/grub-install.in: Source grub-mkconfig_lib.
8034
2e418de6
VS
80352011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Remove getroot.c from core on emu platform.
8038
8039 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8040 kern/emu/raid.c.
8041 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8042 useless.
8043 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8044 * util/getroot.c (get_win32_path): ... here.
8045 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8046 * util/getroot.c (fini_libzfs): ... here.
8047 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8048 * util/getroot.c (grub_get_libzfs_handle): ... here.
8049 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8050 Moved from here...
8051 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8052 * grub-core/kern/emu/misc.c
8053 (grub_make_system_path_relative_to_its_root): Moved from here...
8054 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8055 * grub-core/kern/emu/getroot.c: Moved from here ...
8056 * util/getroot.c: ... here. All users updated.
8057 * grub-core/kern/emu/raid.c: Moved from here ...
8058 * util/raid.c: ... here. All users updated.
8059
def9832a
VS
80602011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * po/POTFILES.in: Regenerate.
8063
cd8fe79a
VS
80642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Fix compilation on GNU/Linux.
8067
8068 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8069 Disable geli.
8070 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8071 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8072 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8073
a251b719
VS
80742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
80752011-07-07 Michael Gorven <michael@gorven.za.net>
80762011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8077
8078 LUKS and GELI support.
8079
8080 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8081 grub-core/disk/luks.c, grub-core/disk/geli.c,
8082 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8083 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8084 grub-core/lib/arg.c.
8085 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8086 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8087 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8088 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8089 (grub-bin2h): Add libgcry.a.
8090 (grub-mkimage): Likewise.
8091 (grub-mkrelpath): Likewise.
8092 (grub-script-check): Likewise.
8093 (grub-editenv): Likewise.
8094 (grub-mkpasswd-pbkdf2): Likewise.
8095 (grub-pe2elf): Likewise.
8096 (grub-fstest): Likewise.
8097 (grub-mkfont): Likewise.
8098 (grub-mkdevicemap): Likewise.
8099 (grub-probe): Likewise.
8100 (grub-ofpath): Likewise.
8101 (grub-mklayout): Likewise.
8102 (example_unit_test): Likewise.
8103 (grub-menulst2cfg): Likewise.
8104 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8105 * grub-core/Makefile.core.def (cryptodisk): New module.
8106 (luks): Likewise.
8107 (geli): Likewise.
8108 * grub-core/disk/AFSplitter.c: New file.
8109 * grub-core/disk/cryptodisk.c: Likewise.
8110 * grub-core/disk/geli.c: Likewise.
8111 * grub-core/disk/luks.c: Likewise.
8112 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8113 grub_util_is_lvm.
8114 (grub_util_get_dm_abstraction): New function.
8115 (grub_util_follow_gpart_up): Likewise.
8116 (grub_util_get_geom_abstraction): Likewise.
8117 (grub_util_get_dev_abstraction): Use new functions.
8118 (grub_util_pull_device): Pull GELI and LUKS.
8119 (grub_util_get_grub_dev): Handle LUKS and GELI.
8120 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8121 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8122 (follow_geom_up): Removed.
8123 (grub_util_fd_seek): New function.
8124 (open_device): Use grub_util_fd_seek.
8125 (nread): Rename to ..
8126 (grub_util_fd_read): ... this. All users updated.
8127 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8128 (grub_crypto_cbc_decrypt): Likewise.
8129 (grub_crypto_hmac_write): Likewise.
8130 (grub_crypto_hmac_buffer): Likewise.
8131 (grub_password_get): Extend to util.
8132 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8133 New member modname.
8134 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8135 * include/grub/cryptodisk.h: New file.
8136 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8137 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8138 LUKS and GELI.
8139 (grub_util_follow_gpart_up): New proto.
8140 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8141 (grub_util_fd_read): Likewise.
8142 (grub_cryptodisk_cheat_mount): Likewise.
8143 (grub_util_cryptodisk_print_uuid): Likewise.
8144 (grub_util_get_fd_sectors): Likewise.
8145 * util/grub-fstest.c (mount_crypt): New var.
8146 (fstest): Mount crypto if requested.
8147 (options): New option -C.
8148 (argp_parser): Parse -C.
8149 (main): Init and fini gcry.
8150 * util/grub-install.in: Support cryptodisk install.
8151 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8152 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8153 cryptodisk.
8154 (prepare_grub_to_access_device): Likewise.
8155 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8156 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8157 (probe_cryptodisk_uuid): New function.
8158 (probe_abstraction): Likewise.
8159 (probe): Use new functions.
8160 * util/import_gcry.py: Create Makefile.utilgcry.def.
8161 Add modname member.
8162
9bfdcbbc
VS
81632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Lazy device scanning.
8166
8167 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8168 (grub-setup): Remove util/raid.c.
8169 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8170 * grub-core/disk/lvm.c (scan_depth): New variable.
8171 (grub_lvm_iterate): Rescan if necessary.
8172 (find_lv): New function based on grub_lvm_open.
8173 (grub_lvm_open): Use find_lv. Rescan on error.
8174 (is_node_readable): New function.
8175 (is_lv_readable): Likewise.
8176 (grub_lvm_scan_device): Skip already found disks.
8177 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8178 Stop if searched device is found and readable.
8179 * grub-core/disk/raid.c (inscnt): New variable.
8180 (scan_depth): Likewise.
8181 (scan_devices): New function based on grub_raid_register. Abort if
8182 looked for device is found.
8183 (grub_raid_iterate): Rescan if needed.
8184 (find_array): NEw function based on -grub_raid_open.
8185 (grub_raid_open): Use find_array and rescan.
8186 (insert_array): Set became_readable_at.
8187 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8188 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8189 New function.
8190 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8191 (grub_util_pull_device): New function.
8192 (grub_util_get_grub_dev): Call grub_util_pull_device.
8193 * util/raid.c: Moved to ..
8194 * grub-core/kern/emu/raid.c: ... here.
8195 (grub_util_raid_getmembers): New parameter "bootable".
8196 All users updated. Support 1.x.
8197 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8198 All users updated.
8199 * include/grub/disk.h (grub_disk_pull_t): New enum.
8200 (grub_disk_dev): Change iterate prototype.
8201 All users updated.
8202 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8203 New proto.
8204 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8205 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8206 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8207 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8208 All users updated.
8209 * include/grub/util/raid.h: Removed.
8210
1c358e59
VS
82112011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * po/POTFILES.in: Regenerate.
8214
abee94ed
VS
82152011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 Unify sparc init with other ieee1275.
8218
8219 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8220 instead of kern/sparc64/ieee1275/init.c.
8221 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8222 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8223 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8224 grub/machine/kernel.h.
8225 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8226 (grub_claim_heap) [__sparc__]: Use sparc version.
8227 (grub_machine_init): Moved args parsing to
8228 (grub_parse_cmdline): ...this.
8229 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8230 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8231 New definition.
8232 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8233
8234 Move BOOTP to separate file.
8235
8236 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8237 * grub-core/net/net.c: Move all BOOTP functions to
8238 * grub-core/net/bootp.c: ... here.
8239
8240 Use frame interface on PXE.
8241
8242 * grub-core/Makefile.core.def (pxecmd): Removed.
8243 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8244 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8245 * grub-core/i386/pc/pxe.c: Moved from here ...
8246 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8247 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8248 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8249
8250 EFI network support.
8251
8252 * grub-core/Makefile.core.def (efinet): New module.
8253 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8254 here...
8255 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8256 All users updated.
8257 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8258 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8259 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8260 * grub-core/net/drivers/efi/efinet.c: New file.
8261 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8262 (grub_efi_net_config): New extern var.
8263
8264 Various cleanups and bugfixes.
8265
8266 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8267 error.
8268 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8269 disk declared as partition.
8270 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8271 leak on failure.
8272 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8273 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8274 (grub_debug_zalloc): Likewise.
8275 (grub_debug_realloc): Likewise.
8276 (grub_debug_memalign): Likewise.
8277 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8278 Check that target is IPv4.
8279 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8280 local-mac-address as fallback.
8281 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8282 memory leak.
8283 * grub-core/net/ip.c (ipchksum): Rename to ...
8284 (grub_net_ip_chksum): ... this. All users updated.
8285 (grub_net_recv_ip_packets): Special handling for DHCP.
8286 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8287
8288 Unify prefix handling
8289
8290 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8291 (grub_machine_get_bootlocation): ... this.
8292 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8293 (grub_machine_get_bootlocation): ... this.
8294 (grub_prefix): New variable.
8295 (prefix): Removed.
8296 (root_dev): New variable.
8297 (dir): Likewise.
8298 (main): Use new variables.
8299 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8300 Revamped into ...
8301 (grub_machine_get_bootlocation): ... this.
8302 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8303 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8304 (grub_machine_get_bootlocation): ... this.
8305 (grub_machine_set_prefix): Removed.
8306 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8307 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8308 Revamped into ...
8309 (grub_machine_get_bootlocation): ... this.
8310 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8311 (grub_set_prefix_and_root): ... this. All users updated.
8312 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8313 Revamped into ...
8314 (grub_machine_get_bootlocation): ... this.
8315 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8316 (grub_machine_get_bootlocation): New proto.
8317 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8318
8319 Less intrusive and more reliable seek on network implementation.
8320
8321 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8322 (grub_file_seek): Don't call grub_file_net_seek.
8323 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8324 (grub_net_fs_read_real): .. this.
8325 (grub_net_seek_real): Use net->offset.
8326 (grub_net_fs_read): Seek if necessary.
8327
8328 Unify IEEE1275 netwotk config with the other platforms.
8329
8330 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8331 New variable.
8332 (grub_machine_get_bootlocation): Support network.
8333 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8334 Support type and device parsing.
8335 (grub_ieee1275_get_device_type): New function.
8336 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8337 into ...
8338 (grub_ieee1275_net_config_real): ... this.
8339 (grub_ofnet_probecards): Removed.
8340 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8341 * include/grub/ieee1275/ofnet.h: Removed.
8342 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8343 extern var.
8344 (grub_ieee1275_get_device_type): New function.
8345
8346 Unify network device closing across platforms and make more robust.
8347
8348 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8349 grub_grubnet_fini.
8350 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8351 already.
8352 * grub-core/net/net.c (grub_net_network_level_interface_register):
8353 Update num_ifaces.
8354 (grub_net_card_unregister): Close all interfaces.
8355 (receive_packets): Don't poll if no iterfaces are registered.
8356 Open if necessary.
8357 (grub_net_fini_hw): New function.
8358 (grub_net_restore_hw): Likewise.
8359 (fini_hnd): New variable.
8360 (GRUB_MOD_INIT): Register preboot hook.
8361 (GRUB_MOD_FINI): Run and unregister preboot hook.
8362
8363 Poll network cards when idle.
8364
8365 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8366 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8367 * grub-core/net/net.c (receive_packets): Save last poll time.
8368 (grub_net_poll_cards_idle_real): New function.
8369 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8370 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8371 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8372
8373 Rename ofnet interfaces.
8374
8375 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8376 (grub_ofnet_findcards): Use ofnet_%s names.
8377
8378 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8379
8380 Cleanup socket opening.
8381
8382 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8383 (grub_net_fs_close): Likewise.
8384 (grub_net_fs_read_real): Use eof member.
8385 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8386 (+grub_net_udp_close): New inline function.
8387
8388 * include/grub/net/tftp.h: Moved to the top of ...
8389 * grub-core/net/tftp.c: ... here.
8390 * include/grub/net/ip.h: Moved mostly to the top of ...
8391 * grub-core/net/ip.c: ... here.
8392 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8393 * grub-core/net/ethernet.c: ... here.
8394
8395 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8396
8397 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8398 FS name.
8399
8400 * include/grub/net/ip.h (ipv4_ini): Removed.
8401 (ipv4_fini): Likewise.
8402
8403 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8404 (grub_net_send_ip_packets): Likewise.
8405
cf1337aa
VS
84062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8409 grub_read_cmos prototype.
8410
93c06ff9
VS
84112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 VGA text support in qemu-mips
8414
8415 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8416 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8417 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8418 text.
8419 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8420 * grub-core/kern/vga_init.c: ... this.
8421 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8422 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8423 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8424 Adjust.
8425 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8426 GRUB_MACHINE_PCI_IO_BASE.
8427
748ccabe
VS
84282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 MIPS qemu flash support.
8431
8432 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8433 magic.
8434 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8435 (grub_machine_init): Probe memory if its size isn't known.
8436 * util/grub-mkimage.c (image_targets): Add flash targets.
8437 (generate_image): Handle flash targets.
8438
d7345994
VS
84392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 MIPS qemu at_keyboard support.
8442
8443 * gentpl.py (videoinkernel): Add qemu-mips.
8444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8445 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8446 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8447 modules.
8448 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8449 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8450 * grub-core/term/serial.c (grub_serial_register)
8451 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8452
a07a81b3
VS
84532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 CMOS support on sparc.
8456
8457 * gentpl.py (cmos): Add powerpc and sparc.
8458 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8459 powerpc and sparc.
8460 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8461 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8462 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8463 grub_set_datetime_cmos.
8464 * grub-core/lib/ieee1275/cmos.c: New file.
8465 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8466 (find_rtc): Set no_ieee1275_rtc on error.
8467 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8468 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8469 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8470 fail. Move value to argument. All users updated
8471 (grub_cmos_write): Likewise.
8472 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8473 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8474 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8475 grub_get_datetime_cmos and grub_set_datetime_cmos.
8476
77546584
GS
84772011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8478
8479 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8480 sourcing grub-mkconfig_lib.
8481 * util/update-grub_lib.in: Likewise.
8482 * util/grub.d/00_header.in: Likewise.
8483 * util/grub.d/10_hurd.in: Likewise.
8484 * util/grub.d/10_kfreebsd.in: Likewise.
8485 * util/grub.d/10_linux.in: Likewise.
8486 * util/grub.d/10_netbsd.in: Likewise.
8487 * util/grub.d/10_windows.in: Likewise.
8488 * util/grub.d/20_linux_xen.in: Likewise.
8489 * util/grub.d/30_os-prober.in: Likewise.
8490
54894791
CW
84912011-06-28 Colin Watson <cjwatson@ubuntu.com>
8492
8493 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8494 default_bg_color rather than black.
8495 (grub_gfxterm_fullscreen): Likewise.
8496 (grub_gfxterm_background_color_cmd): Save new background color in
8497 default_bg_color.
8498
8d5d8444
VS
84992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8502
5afeb5bd
VS
85032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8506 mismerge.
8507
ba7df45e
VS
85082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Chainloading on coreboot support.
8511
8512 * grub-core/Makefile.core.def (chain): Add coreboot.
8513 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8514
d0b526b2
VS
85152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8518 if it happens.
8519
5ff1d945
VS
85202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 Implement time command.
8523
8524 * grub-core/Makefile.core.def (time): New module.
8525 * grub-core/commands/time.c: New file.
8526 * grub-core/script/parser.y: Remove "time" keyword.
8527 * grub-core/script/yylex.l: Likewise.
8528
5ebaad7e
VS
85292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8532
bdea3798
VS
85332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8536 when handling leftovers.
8537
b28c5655
VS
85382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8541 so that help2man doesn't fail.
8542
b6f945dc
VS
85432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8546 type in pointers on sparc64.
8547 (get_card_packet): Likewise.
8548
f9b75e8a
CW
85492011-06-27 Colin Watson <cjwatson@ubuntu.com>
8550
8551 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8552 with `*'.
8553 (grub_cmd_videoinfo): Fetch current video mode.
8554
1e3d9b86
VS
85552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8558 because of underlying system restrictions.
8559
efff4b1c
VS
85602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8563 necessary.
8564
9fc9ce37
VS
85652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Coreboot video support.
8568
8569 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8570 (vbe): Likewise.
8571 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8572 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8573 here ...
8574 * grub-core/kern/i386/int.S: ... here.
8575 * grub-core/video/i386/pc/vbe.c: Updated includes.
8576 * grub-core/video/i386/pc/vga.c: Likewise.
8577 * include/grub/i386/coreboot/memory.h
8578 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8579 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8580 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8581 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8582 Disable interrupts.
8583 * include/grub/i386/pc/vga.h: Removed. All users updated.
8584
41bec7fe
VS
85852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8588 definitions for dprintf.
8589 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8590
ca80309d
VS
85912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8594 prototype.
8595 (get_card_packet): Likewise.
8596
9e322ce8
YB
85972011-06-26 Yves Blusseau <blusseau@zetam.org>
8598
8599 Display the path of the file when file is not found
8600
8601 * grub-core/fs/fat.c: Display the filename when file is not found.
8602 * grub-core/fs/fshelp.c: Likewise.
8603 * grub-core/fs/hfs.c: Likewise.
8604 * grub-core/fs/jfs.c: Likewise.
8605 * grub-core/fs/minix.c: Likewise.
8606 * grub-core/fs/ufs.c: Likewise.
8607 * grub-core/fs/btrfs.c: Likewise.
8608 * grub-core/commands/i386/pc/play.c: Likewise.
8609
cbf597af
SJ
86102011-06-26 Szymon Janc <szymon@janc.net.pl>
8611
8612 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8613 pointer checks before calling grub_free().
8614 * grub-core/commands/wildcard.c (match_devices): Likewise.
8615 * grub-core/commands/wildcard.c (match_files): Likewise.
8616 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8617 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8618 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8619 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8620 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8621 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8622 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8623 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8624 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8625
6295b32f
P
86262011-06-25 Patrick <p55@mailinator.com>
8627
8628 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8629
77c0840b
VS
86302011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8633 (grub_pxe_send): Likewise.
8634 (GRUB_MOD_INIT): Fix types.
8635
40ea05de
SJ
86362011-06-24 Szymon Janc <szymon@janc.net.pl>
8637
8638 * grub-core/io/xzio.c: Fix code style issues
8639
90162423
MRA
86402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
86412011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8642
8643 Network infrastructure.
8644 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8645
8646 * include/grub/net/arp.h: New file.
90162423
MRA
8647 * include/grub/net/device.h: Likewise.
8648 * include/grub/net/ethernet.h: Likewise.
8649 * include/grub/net/ip.h: Likewise.
8650 * include/grub/net/netbuff.h: Likewise.
8651 * include/grub/net/tftp.h: Likewise.
8652 * include/grub/net/udp.h: Likewise.
8653 * include/grub/ieee1275/ofnet.h: Likewise.
8654 * include/grub/emu/export.h: Likewise.
8655 * include/grub/net.h: Likewise.
8656 * grub-core/net/arp.c: Likewise.
8657 * grub-core/net/ethernet.c: Likewise.
8658 * grub-core/net/ip.c: Likewise.
8659 * grub-core/net/udp.c: Likewise.
8660 * grub-core/net/tftp.c: Likewise.
8661 * grub-core/net/netbuff.c: Likewise.
8662 * grub-core/net/net.c: Likewise.
8663 * grub-core/net/drivers/emu/emunet.c: Likewise.
8664 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8666 export.h.
8667 * grub-core/Makefile.core.def (net): New module.
8668 (tftp): Likewise.
8669 (ofnet): Likewise.
8670 (emunet): Likewise.
8671 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8672 network protocols.
8673 * grub-core/kern/device.c (grub_net_open) : New variable.
8674 (grub_device_open): Handle network device.
8675 (grub_device_close): Likewise.
8676 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8677 (grub_grubnet_fini): Likewise.
8678 (grub_file_seek): Seek in network device.
8679 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8680 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8681 network root.
8682 (grub_machine_fini): Call grub_grubnet_fini.
8683 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8684 network.
8685 (grub_ieee1275_get_aliasdevname): New function.
8686 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8687 Add unofficial Solaris network info.
8688 (grub_multiboot_make_mbi): Likewise.
8689 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8690 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8691 * include/grub/device.h (grub_fs): Removed.
8692 * include/grub/err.h (grub_err_t): Add network-related values.
8693 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8694 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8695 (grub_ieee1275_get_aliasdevname): New proto.
8696 * include/grub/net.h: Rewritten.
423a1849 8697
031f22a0
VS
86982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8701 names.
8702
4388ca72
VS
87032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8706 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8707 it truncates the output.
8708 Reported by: Ximin Luo.
8709
98e2f506
VS
87102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8713
2a5e94d8
VS
87142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8717 partmap before abstraction.
8718
535c1910
AK
87192011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8720
8721 * util/grub-mkconfig_lib.in: Add missing quotes.
8722
bc09e1a2
VS
87232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8726 old method if mountinfo would return /dev/root and /dev/root doesn't
8727 exist.
8728
290766fb
VS
87292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 ZFS zlib support
8732
8733 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8734 (decomp_table): Add zlib entries.
8735 (zio_read): USe 8 bits for compression function rather than 3.
8736 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8737
87382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/disk/ahci.c: Add missing license statements.
8741 * grub-core/fs/romfs.c: Likewise.
8742 * grub-core/lib/ia64/setjmp.S: Likewise.
8743 * grub-core/loader/i386/pc/freedos.c: Likewise.
8744 * grub-core/loader/ia64/efi/linux.c: Likewise.
8745 * grub-core/video/colors.c: Likewise.
8746 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8747
5ab3f48a
VS
87482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 AHCI support.
8751
8752 * grub-core/Makefile.core.def (ata_pthru): Removed.
8753 (ahci): New module.
8754 (pata): Likewise.
8755 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8756 on unload.
8757 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8758 readwrite.
8759 (grub_hdparm_do_check_powermode_cmd): Likewise.
8760 (grub_hdparm_do_smart_cmd): Likewise.
8761 (grub_hdparm_set_val_cmd): Likewise.
8762 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8763 * grub-core/disk/ahci.c: New file.
8764 * grub-core/disk/ata.c: Factor out the low-level part into ...
8765 * grub-core/disk/pata.c: ... here.
8766 * grub-core/disk/ata_pthru.c: Contents moved to ...
8767 * grub-core/disk/pata.c: ... here.
8768 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8769 (grub_scsi_iterate): Use grub_scsi_names.
8770 (grub_scsi_open): Likewise.
8771 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8772 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8773 (grub_ata_regs_t): New struct.
8774 (grub_disk_ata_pass_through_parms): Likewise.
8775 (grub_ata_device): Renamed to ...
8776 (grub_ata): ... this.
8777 (grub_ata_dev): New struct.
8778 Removed all low-level inline functions.
8779 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8780 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8781 iterate hooks and open. All users updated.
8782 * util/grub-install.in: Handle AHCI disk module.
8783
c31dc5f5
SJ
87842011-06-23 Szymon Janc <szymon@janc.net.pl>
8785
8786 Add support for DRI and RSTn markers in JPEG files.
8787
8788 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8789 (JPEG_MARKER_RST0): Likewise.
8790 (JPEG_MARKER_RST1): Likewise.
8791 (JPEG_MARKER_RST2): Likewise.
8792 (JPEG_MARKER_RST3): Likewise.
8793 (JPEG_MARKER_RST4): Likewise.
8794 (JPEG_MARKER_RST5): Likewise.
8795 (JPEG_MARKER_RST6): Likewise.
8796 (JPEG_MARKER_RST7): Likewise.
8797 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8798 (grub_jpeg_decode_dri): New function.
8799 (grub_jpeg_decode_sos): Move image data related part into
8800 grub_jpeg_decode_data function.
8801 (grub_jpeg_decode_data): New function.
8802 (grub_jpeg_reset): New function.
8803 (grub_jpeg_decode_jpeg): Handle new markers.
8804
fe12fd5b
VS
88052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * util/ieee1275/ofpath.c (check_sas): Close fd.
8808 (main): Free of_path.
8809 Reported by: David Volgyes <dvolgyes>.
8810
03147f46
VS
88112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8814 Reported by: David Volgyes <dvolgyes>.
8815
cad3237f
VS
88162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8819 file after stat.
8820 Reported by: David Volgyes <dvolgyes>.
8821
13548d26
VS
88222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8825
8826 Reported by: David Volgyes <dvolgyes>.
8827
e061a1b5
VS
88282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8831 Prevent memory leak.
8832
1abe47dc
VS
88332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8836 (main): Close file.
e061a1b5 8837 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8838
fbc62666
VS
88392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8842 to continue if allocation is failed.
8843
8844 Reported by: David Volgyes <dvolgyes>.
8845
e98c83e9
DV
88462011-06-23 David Volgyes <dvolgyes>
8847
8848 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8849 dereference.
8850
a199a8cd
VS
88512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 Fix spurious warning.
8854
8855 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8856 (acorn_partition_map_find): Use .bin member.
8857
e2d1dba0
VS
88582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8861 /dev/root as a valid device.
8862
8a5d6919
JM
88632011-06-23 Jim Meyering <meyering@redhat.com>
8864
e2d1dba0
VS
8865 Avoid NULL deref in grub_device_open.
8866
8a5d6919
JM
8867 * grub-core/kern/device.c (grub_device_open): Don't dereference
8868 a NULL pointer upon failed grub_env_get.
8869
f7db6f4a
VS
88702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Support non-512B sectors and agglomerate reads.
8873
8874 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8875 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8876 (disk_io_guid): Removed.
8877 (make_devices): Locate solely by BlockIO.
8878 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8879 (grub_efidisk_read): Use read_blocks.
8880 (grub_efidisk_write): Use write_blocks.
8881 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8882 log_sector_size.
8883 (get_safe_sectors): Handle non-512B sectors.
8884 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8885 sectors.
8886 (grub_biosdisk_write): Handle non-512B sectors.
8887 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8888 (grub_scsi_read): Remove special non-512B block handling (now handled
8889 one level up).
8890 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8891 and do sanity checks.
8892 (grub_disk_adjust_range): Handle non-512B sectors.
8893 (transform_sector): New function.
8894 (grub_disk_read_small): Likewise.
8895 (grub_disk_read): Rewritten.
8896 (grub_disk_write): Handle non-512B sectors.
8897 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8898 log_sector_size.
8899 (open_device): Use log_sector_size.
8900 (grub_util_biosdisk_read): Likewise.
8901 (grub_util_biosdisk_write): Likewise.
8902 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8903 non-512B sectors.
8904 (pc_partition_map_embed): Likewise.
8905 * include/grub/disk.h (grub_disk): New field log_sector_size.
8906 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8907 (GRUB_DISK_CACHE_BITS): Increased to 6.
8908 * util/grub-fstest.c (fstest): New command testload.
8909 (argp_parser): Likewise.
8910
881ac815
RM
89112011-06-16 Robert Millan <rmh@gnu.org>
8912
8913 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8914 `ata' driver on kernel of FreeBSD 9.
8915
8916 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8917 (get_ataraid_disk_name): New functions.
8918 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8919 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8920 get_ataraid_disk_name() and get_ada_disk_name().
8921
1e9aef7d
CW
89222011-06-13 Colin Watson <cjwatson@ubuntu.com>
8923
8924 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8925 input format.
8926
351c7c8a
CW
89272011-05-29 Colin Watson <cjwatson@ubuntu.com>
8928
8929 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8930 `ftp.gnu.org' for `alpha.gnu.org'.
8931
6b4e6430
CW
89322011-05-27 Colin Watson <cjwatson@ubuntu.com>
8933
8934 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8935 partitions under /dev/disk/by-id/.
8936
c64db050
CW
89372011-05-27 Colin Watson <cjwatson@ubuntu.com>
8938
8939 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8940 after ten consecutive open failures. Scanning all the way up to
8941 10000 is excessive and can cause serious performance problems in
8942 some configurations.
8943 Fixes Ubuntu bug #787461.
8944
245f4aba
VS
89452011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8948 opening new one.
8949
f767c929
VS
89502011-05-21 Colin Watson <cjwatson@ubuntu.com>
89512011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 Don't stat devices unless we have to.
8954
8955 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8956 dir == /dev/mapper.
8957 (grub_guess_root_device): Use already known os_dev if possible.
8958 * grub-core/kern/emu/hostdisk.c
8959 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8960 if device is known to be a dm one.
8961
f35fa3a6
CW
89622011-05-20 Colin Watson <cjwatson@ubuntu.com>
8963
8964 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8965 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8966 Reported by: Pawel Tecza.
8967
9a79fcf2
VS
89682011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8971 (lsefisystab): Likewise.
8972 (lssal): Likewise.
8973 (lsefimmap): Likewise.
8974 (hdparm): Enable on qemu-mips.
8975 (setjmp): Add ia64 nodist.
8976 (serial): Simplify tags.
8977
63e3eea9
CW
89782011-05-18 Colin Watson <cjwatson@ubuntu.com>
8979
8980 * Makefile.util.def (grub-ofpathname): Install manual page.
8981
09728256
CW
89822011-05-18 Colin Watson <cjwatson@ubuntu.com>
8983
8984 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8985
8b63a142
CW
89862011-05-18 Colin Watson <cjwatson@ubuntu.com>
8987
8988 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8989
e775d8ed
VS
89902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8993 into dprintf.
8994
bf947d36
VS
89952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 Use full 64-bit division.
8998
8999 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9000 (grub_divmod64): ... this.
9001 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9002 version.
9003
b84f26c5
CW
90042011-05-18 Colin Watson <cjwatson@ubuntu.com>
9005
9006 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9007 `source'.
9008
5626056f
CW
90092011-05-18 Colin Watson <cjwatson@ubuntu.com>
9010
9011 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9012 to avoid accidents when debugging with 'sh -x'.
9013 * grub-core/gensyminfo.sh.in: Likewise.
9014 * tests/example_scripted_test.in: Likewise.
9015 * tests/grub_cmd_regexp.in: Likewise.
9016 * tests/grub_script_blanklines.in: Likewise.
9017 * tests/grub_script_dollar.in: Likewise.
9018 * tests/grub_script_expansion.in: Likewise.
9019 * tests/grub_script_final_semicolon.in: Likewise.
9020 * tests/partmap_test.in: Likewise.
9021 * tests/util/grub-shell-tester.in: Likewise.
9022 * tests/util/grub-shell.in: Likewise.
9023
e2965f4a
CW
90242011-05-18 Colin Watson <cjwatson@ubuntu.com>
9025
9026 Move gfxmenu color handling to video, so that gfxterm can use it
9027 too.
9028
9029 * grub-core/gfxmenu/named_colors.c: Move to ...
9030 * grub-core/video/colors.c: ... here. Rename
9031 grub_gui_get_named_color to grub_video_get_named_color.
9032 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9033 * grub-core/video/colors.c (my_isxdigit): ... here.
9034 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9035 Move to ...
9036 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9037 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9038 to ...
9039 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9040
9041 * include/grub/gui.h (grub_gui_color_t): Move to ...
9042 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9043 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9044 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9045 * include/grub/gui.h (grub_gui_map_color): Move to ...
9046 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9047 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9048 to ...
9049 * include/grub/video.h (grub_video_get_named_color): ... here.
9050 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9051 * include/grub/video.h (grub_video_parse_color): ... here.
9052
9053 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9054 video/colors.c.
9055 (gfxmenu): Remove gfxmenu/named_colors.c.
9056 (video) [videomodules]: Add video/colors.c.
9057
9058 Add a background_color command.
9059
9060 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9061 function.
9062 (GRUB_MOD_INIT): Register background_color command.
9063 (GRUB_MOD_FINI): Unregister background_color command.
9064 (redraw_screen_rect): Allow blend/replace of text layer to be
9065 controlled independently from whether there is a background bitmap.
9066 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9067 changing bitmap.
9068
1e4b4390
VS
90692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9070
26618ff0
VS
9071 Patch BPB in ntldr and chainloader --bpb.
9072
1e4b4390
VS
9073 * grub-core/fs/fat.c: Include grub/fat.h.
9074 (grub_fat_bpb): Moved to ...
9075 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9076 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9077 grub/ntfs.h.
9078 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9079 Moved from here...
9080 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9081 here.
9082 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9083 New function.
9084 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9085 (GRUB_MOD_INIT): Show --bpb.
9086 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9087 * grub-core/normal/main.c (features): New variable.
9088 (GRUB_MOD_INIT): Set feature_* variables.
9089 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9090 proto.
9091 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9092
cf02731e
VS
90932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9096 for cleanness.
9097
e3a1073f
VS
90982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 FreeDOS direct loading support.
9101
9102 * docs/grub.texi (Supported OS): Add FreeDOS.
9103 * grub-core/Makefile.core.def (freedos): New module.
9104 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9105 variable.
9106 (grub_relocator16_boot): Handle %ebx.
9107 * grub-core/lib/i386/relocator16.S: Likewise.
9108 * grub-core/loader/i386/pc/freedos.c: New file.
9109
05caa461
VS
91102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 Long Linux command line support.
9113
9114 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9115 (maximal_cmdline_size): New variable.
9116 (allocate_pages): Use maximal_cmdline_size.
9117 (grub_cmd_linux): Set and use maximal_cmdline_size.
9118 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9119 (allocate_pages): Use maximal_cmdline_size.
9120 (grub_cmd_linux): Set and use maximal_cmdline_size.
9121 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9122 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9123 and cmdline_size.
9124
a2491e23
VS
91252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
91262011-05-18 Colin Watson <cjwatson@ubuntu.com>
9127
9128 Improve devmapper support
9129
9130 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9131 (grub_util_is_lvm): New function.
9132 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9133 than lvm if not dmraid.
9134 Handle mapped md nodes.
9135 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9136 (grub_util_device_is_mapped): ... this. Make always available. All users
9137 updated.
9138 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9139 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9140 dmraid nodes.
9141 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9142
6ad6223e
VS
91432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9146
9147 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9148 * grub-core/modinfo.sh.in: New file.
9149 * grub-core/Makefile.core.def (modinfo.sh): New script.
9150 * util/grub-mknetdir.in: Use modinfo.sh.
9151 * util/grub-mkrescue.in: Likewise.
9152
543a8f6e
VS
91532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9156 Fix potential usage of Elf32 instead of Elf64 when compiling on
9157 32-bit architecture. Add endianness macros while on it.
9158
4959e111
VS
91592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 Use mipsel- rather than mips- in directories involving mipsel ports to
9162 allow both endiannesses coexist.
9163
9164 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9165 mips. All conditions adjusted.
9166 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9167 variable.
9168 * util/grub-install.in: Adjust conditions to take renaming into account.
9169 * util/grub-mkimage.c (image_targets): Likewise. New target
9170 mips-qemu_mips-elf for bigendian mips.
9171
35341bbc
VS
91722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Avoid unnecessary copying on MIPS.
9175
9176 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9177 early if src == dest.
9178 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9179 compression is none.
9180
b772baed
VS
91812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 Reduce memory footprint on SGI by putting modules before the kernel
9184 as opposed to after.
9185
9186 * grub-core/Makefile.core.def (kernel): Increase linking address.
9187 (none_decompress): Likewise.
9188 (xz_decompress): Likewise.
9189 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9190 address.
9191 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9192 layout change.
9193 (grub_arch_modules_addr): New function.
9194 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9195 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9196 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9197 here.
9198 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9199 (grub_total_modules_size): ... this. Make global.
9200 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9201 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9202 New definition.
9203 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9204 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9205 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9206 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9207 * util/grub-mkimage.c (image_target_desc): New flag
9208 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9209 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9210 (generate_image): Handle images with modules before kernel.
9211
566a1917
VS
92122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 Prevent potential loss of memory map by overwrite on qemu-mips.
9215
9216 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9217 Save ram size in $s4.
9218 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9219 All users changed to grub_arch_memsize.
9220 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9221 Loongson.
9222 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9223 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9224 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9225 external variable.
9226
5d420cd9
CW
92272011-05-17 Colin Watson <cjwatson@ubuntu.com>
9228
9229 * .bzrignore: Remove grub-dumpbios.
9230
d064b830
CW
92312011-05-17 Colin Watson <cjwatson@ubuntu.com>
9232
9233 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9234 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9235 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9236 existing options which append).
9237 * docs/grub.texi (Simple configuration): Document new options.
9238 Reported by: Ian Jackson. Fixes Debian bug #617538.
9239
3ca2b466
CW
92402011-05-17 Colin Watson <cjwatson@ubuntu.com>
9241
9242 * util/grub-fstest.c (cmd_cat): New function.
9243 (fstest): Handle CMD_CAT.
9244 (options): Add cat.
9245 (argp_parser): Handle cat.
9246
24c9143a
CW
92472011-05-17 Colin Watson <cjwatson@ubuntu.com>
9248
9249 * Makefile.util.def (grub-bin2h): Don't install.
9250 * docs/man/grub-bin2h.h2m: Remove.
9251
90f7ac19
VS
92522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9255 place.
9256
8d4a5178
VS
92572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Reenable qemu-mips port.
9260
9261 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9262 Fix small arc bug while on it.
9263 * gentpl.py: Handle qemu_mips.
9264 * grub-core/Makefile.am: Likewise.
9265 * grub-core/Makefile.core.def: Likewise.
9266 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9267 inappropriate includes.
9268 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9269 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9270 * grub-core/kern/main.c (grub_modules_get_end)
9271 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9272 * grub-core/kern/mips/qemu-mips: Moved to ..
9273 * grub-core/kern/mips/qemu_mips: ... this.
9274 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9275 (grub_machine_init): Call terminfo_init and serial_init.
9276 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9277 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9278 New variable.
9279 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9280 parameter passing.
9281 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9282 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9283 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9284 * include/grub/mips/qemu_mips/cmos.h: New file.
9285 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9286 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9287 Removed.
9288 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9289 Use correct mips-style address.
9290 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9291 (GRUB_TICKS_PER_SECOND): Removed.
9292 (grub_get_rtc): Likewise.
9293 (grub_cpu_idle): Likewise.
9294 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9295 New definition.
9296 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9297 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9298 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9299 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9300 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9301 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9302 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9303 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9304
400b9371
VS
93052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 SGI ARCS port.
9308
9309 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9310 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9311 platforms.
9312 * configure.ac: New target mips-arc.
9313 * gentpl.py: Likewise.
9314 * grub-core/Makefile.am: Likewise.
9315 * grub-core/Makefile.core.def: Likewise.
9316 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9317 (none_decompress): Likewise.
9318 (lsdev): New module.
9319 (datetime): Use lib/arc/datetime.c on ARC.
9320 (part_dvh): New module.
9321 * grub-core/commands/arc/lsdev.c: New file.
9322 * grub-core/disk/arc/arcdisk.c: Likewise.
9323 * grub-core/kern/mips/arc/init.c: Likewise.
9324 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9325 aligned addresses.
9326 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9327 support.
9328 (grub_arch_dl_relocate_symbols): Likewise.
9329 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9330 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9331 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9332 platforms.
9333 * grub-core/lib/arc/datetime.c: New file.
9334 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9335 pci.h on non-loongson.
9336 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9337 (grub_linux_boot): Set unused registers to 0.
9338 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9339 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9340 * grub-core/mmap/mips/uppermem.c: ...here.
9341 * grub-core/partmap/dvh.c: New file.
9342 * grub-core/term/arc/console.c: Likewise.
9343 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9344 (grub_terminfo_set_current): Add terminal "arc".
9345 (grub_terminfo_readkey): Support ARC sequences.
9346 * include/grub/arc/arc.h: New file.
9347 * include/grub/arc/console.h: Likewise.
9348 * include/grub/disk.h (grub_disk_dev_id): Add
9349 GRUB_DISK_DEVICE_ARCDISK_ID.
9350 * include/grub/mips/arc/kernel.h: New file.
9351 * include/grub/mips/arc/memory.h: Likewise.
9352 * include/grub/mips/arc/time.h: Likewise.
9353 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9354 * include/grub/mips/kernel.h (grub_halt): ... here.
9355 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9356 here...
9357 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9358 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9359 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9360 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9361 proto.
9362 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9363 from here ...
9364 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9365 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9366 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9367 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9368 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9369 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9370 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9371 (grub_phys_addr_t): Moved from here ...
9372 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9373 (grub_vtop): Moved from here ...
9374 * include/grub/mips/memory.h (grub_vtop): ... here.
9375 (grub_map_memory): Moved from here ...
9376 * include/grub/mips/memory.h (grub_map_memory): ... here.
9377 (grub_unmap_memory): Moved from here ...
9378 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9379 (grub_machine_mmap_iterate): Moved from here ...
9380 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9381 (grub_mmap_get_lower): Moved from here ...
9382 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9383 (grub_mmap_get_upper): Moved from here ...
9384 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9385 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9386 here ...
9387 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9388 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9389 here ...
9390 * include/grub/mips/time.h (grub_get_rtc): ... here.
9391 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9392 here ...
9393 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9394 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9395 here ...
9396 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9397 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9398 definition.
9399 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9400 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9401 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9402 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9403 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9404 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9405 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9406 (GRUB_MACHINE_LINK_ADDR): Likewise.
9407 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9408 to 6.
9409 * util/grub-install.in: Run dvhtool on ARC.
9410 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9411 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9412
c8ecc840
VS
94132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9416 blocks.
9417
153a4b55
VS
94182011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9421 after enabling port.
9422
ff44d107
VS
94232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Skip incorrect USB devices.
9426
9427 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9428 configcnt == 0.
9429 * include/grub/usb.h (grub_usb_err_t): New enum value
9430 GRUB_USB_ERR_BADDEVICE.
9431
638dbe4f
VS
94322011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 Fuloong video init support.
9435
9436 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9437 well.
9438 (grub_vga_read_arx): New function.
9439 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9440 definition.
9441 (framebuffer): New members io, mmioptr and mmiobase.
9442 (read_sis_cmd): New function.
9443 (write_sis_cmd): Likewise.
9444 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9445 rather than 640x400.
9446 * grub-core/video/sis315_init.c: New file.
9447
c3fc520c
VS
94482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9451 non-loongson.
9452 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9453 to grub_dl_register_symbol.
9454
67b1e5c9
VS
94552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 Fix compilation errors.
9458
9459 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9460 potentially unused.
9461 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9462 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9463 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9464 to loongson machines.
9465
b756f75f
VS
94662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 Several FS mtime support.
9469
9470 * grub-core/fs/affs.c (grub_affs_time): New struct.
9471 (grub_affs_file): New field mtime.
9472 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9473 type. Removed 'size'. New field 'di'. All users updated.
9474 (grub_affs_mount): Simplify checsum checking.
9475 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9476 (grub_affs_dir): Handle mtime.
9477 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9478 (grub_cpio_dir): Likewise.
9479 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9480 (grub_hfs_filerec): New field mtime.
9481 (grub_hfs_dir): Handle mtime.
9482 (grub_hfs_mtime): New function.
9483 (grub_hfs_fs): Register grub_hfs_mtime.
9484 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9485 (grub_iso9660_dir): New field mtime.
9486 (grub_fshelp_node): New field dirent.
9487 (iso9660_to_unixtime): New function.
9488 (iso9660_to_unixtime2): Likewise.
9489 (grub_iso9660_read_symlink): Use node->dirent.
9490 (grub_iso9660_iterate_dir): Likewise.
9491 (grub_iso9660_dir): Set mtime.
9492 (grub_iso9660_mtime): New function.
9493 (grub_iso9660_fs): Register grub_iso9660_mtime.
9494 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9495 (grub_jfs_inode): New fields atime, ctime and mtime.
9496 (grub_jfs_dir): Set mtime.
9497 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9498 * grub-core/fs/ntfs.c (list_file): Set mtime.
9499 (grub_ntfs_dir): Likewise.
9500 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9501 (grub_reiserfs_iterate_dir): Set mtime.
9502 (grub_reiserfs_dir): Likewise.
9503 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9504 (grub_fshelp_node): Likewise.
9505 (grub_sfs_iterate_dir): Set mtime.
9506 (grub_sfs_dir): Likewise.
9507 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9508 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9509 (grub_xfs_inode): New fields atime, mtime, ctime.
9510 (grub_xfs_dir): Set mtime.
9511 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9512 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9513 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9514
9515 Support UDF symlinks.
9516
9517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9518 (grub_ufs_read_symlink): New function. All users updated.
9519
9520 Check amiga partmap checksum.
9521
9522 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9523 (grub_amiga_partition): Likewise.
9524 (amiga_partition_map_checksum): New function.
9525 (amiga_partition_map_iterate): Check checksum.
9526
5470225d
VS
95272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 ROMFS support.
9530
9531 * Makefile.util.def (libgrubmods.a): Add romfs.
9532 * grub-core/Makefile.core.def (romfs): New module.
9533 * grub-core/fs/romfs.c: New file.
9534
d4680a35
VS
95352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Squashfs v4 support.
9538
9539 * Makefile.util.def (libgrubmods.a): Add squash4.
9540 * grub-core/Makefile.core.def (squash4): New module.
9541 * grub-core/fs/squash4.c: New file.
9542 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9543 disk_input_start, disk_input.
9544 (get_byte): Handle disk_input.
9545 (grub_zlib_disk_read): New function.
9546 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9547
bcb18e74
FZ
95482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
95492011-05-15 Feiran Zheng <famcool@gmail.com>
9550
9551 * Makefile.util.def (libgrubmods.a): Add minix3.
9552 * grub-core/Makefile.core.def (minix3): New module.
9553 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9554 (GRUB_MINIX_BSIZE): Removed.
9555 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9556 (grub_minix_ino_t): New type.
9557 (grub_minix_le_to_cpu_ino): New macro.
9558 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9559 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9560 (grub_minix_data): New field block_size.
9561 (grub_minix_read_file): Handle 64-bit correctly.
9562 * grub-core/fs/minix3.c: New file.
9563
32297d5f
TG
95642011-05-15 Tristan Gingold <gingold@free.fr>
95652011-05-15 Robert Millan <rmh.grub@aybabtu.com>
95662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 IA64 support.
9569
9570 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9571 * configure.ac: Add ia64-efi target.
9572 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9573 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9574 * gentpl.py: Add ia64_efi platform.
9575 Rename x86_efi to efi and Add ia64-efi. All users updated.
9576 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9577 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9578 Remove kern/generic/rtc_get_time_ms.c on EFI.
9579 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9580 kern/ia64/dl_helper.c on ia64-efi.
9581 Add kern/emu/cache.c on emu.
9582 (linux): Use on loader/ia64/efi/linux.c on ia64.
9583 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9584 whether symbol is a function.
9585 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9586 (grub_symbol): New field 'isfunc'.
9587 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9588 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9589 (grub_dl_load_segments): Place all sections into the same region.
9590 [__ia64__]: Create trampolines and got.
9591 [GRUB_MACHINE_EMU]: Call mprotect.
9592 (grub_dl_resolve_symbols): Resolve symbol type as well.
9593 [__ia64__]: Create function descriptors.
9594 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9595 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9596 (grub_get_rtc): New function.
9597 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9598 * grub-core/kern/emu/cache.S: Renamed to ...
9599 * grub-core/kern/emu/cache_s.S: ... this.
9600 [__ia64__]: Add a nop.
9601 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9602 [__ia64__]: New function.
9603 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9604 * grub-core/kern/ia64/dl.c: New file.
9605 * grub-core/kern/ia64/dl_helper.c: Likewise.
9606 * grub-core/kern/ia64/efi/init.c: New file.
9607 * grub-core/kern/ia64/efi/startup.S: Likewise.
9608 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9609 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9610 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9611 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9612 * grub-core/loader/ia64/efi/linux.c: New file.
9613 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9614 (GRUB_MOD_DEP): Likewise.
9615 (grub_dl) [__ia64__]: New fields got and tramp.
9616 (grub_dl): New field 'base'.
9617 (grub_dl_register_symbol): New argument isfunc. All users updated.
9618 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9619 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9620 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9621 (grub_ia64_dl_get_tramp_got_size): New proto.
9622 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9623 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9624 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9625 * include/grub/efi/api.h: Skip call wrappers on ia64.
9626 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9627 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9628 * include/grub/elf.h (ELF_ST_INFO): New definition.
9629 * include/grub/ia64/efi/kernel.h: New file.
9630 * include/grub/ia64/efi/memory.h: Likewise.
9631 * include/grub/ia64/efi/time.h: Likewise.
9632 * include/grub/ia64/kernel.h: Likewise.
9633 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9634 * include/grub/ia64/time.h: New file.
9635 * include/grub/ia64/types.h: Likewise.
9636 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9637 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9638 New protos.
9639 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9640 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9641 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9642 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9643 All users updated.
9644 (EFI64_HEADER_SIZE): New definition. All users updated.
9645 (image_targets): Add ia64-efi.
9646 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9647 jumpers_addr. All users updated.
9648 Create function descriptors.
9649 (count_funcs): New function.
9650 (unaligned_uint32): New struct.
9651 (MASK20): New definition.
9652 (MASK19): Likewise.
9653 (MASKF21): Likewise.
9654 (add_value_to_slot_20b): New function.
9655 (add_value_to_slot_21_real): Likewise.
9656 (add_value_to_slot_21): Likewise.
9657 (ia64_kernel_trampoline): New struct.
9658 (nopm): New variable.
9659 (jump): Likewise.
9660 (make_trampoline): New function.
9661 (relocate_addresses): Handle ia64.
9662 (make_reloc_section): Likewise.
9663 (load_image): Likewise.
9664
983b414d
VS
96652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9668 warning. Move variables before code while on it.
9669
5d063cdc
VS
96702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 Fuloong support.
9673
9674 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9675 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9676 * grub-core/boot/mips/loongson/fuloong.S: New file.
9677 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9678 Explicitly init CS5536.
9679 [FULOONG]: Don't use serial until CS5536 is available.
9680 Set GPIO based on dumps.
9681 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9682 [FULOONG]: Handle GPIO and memory controller differences.
9683 Parse machine type in $a2.
9684 * grub-core/boot/mips/startup_raw.S: Determine and save the
9685 architecture.
9686 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9687 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9688 init on architecture type.
9689 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9690 SIS315E. Don't init at_keyboard on fuloong.
9691 (grub_halt): Support Fuloong.
9692 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9693 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9694 (loongson_machtypes): New array.
9695 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9696 type.
9697 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9698 config. All users updated. Handle CS5536 serial.
9699 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9700 default port on machine type. Register serial as inactive.
9701 * grub-core/video/sis315pro.c: New file.
9702 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9703 definition.
9704 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9705 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9706 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9707 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9708 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9709 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9710 to ...
9711 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9712 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9713 definition.
9714 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9715 (grub_arch_machine): New extern var.
9716 * include/grub/mips/loongson/serial.h
9717 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9718 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9719 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9720 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9721 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9722 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9723 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9724 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9725 * include/grub/term.h (grub_term_register_input_inactive): New inline
9726 function.
9727 (grub_term_register_output_inactive): Likewise.
9728 * include/grub/video.h (grub_video_driver_id): New value
9729 GRUB_VIDEO_DRIVER_SIS315PRO.
9730 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9731 New field "names". All users updated.
9732 New field value IMAGE_FULOONG_FLASH.
9733 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9734
6ada82d1
JU
97352011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9736
9737 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9738 and add some clarification.
9739
90c571a4
VS
97402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9743 platforms if kernel is compressed.
9744
de04eecf
VS
97452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9748 unused modules since currently referrence counter isn't reliable and
9749 there isn't much memory to recover there anyway.
9750
57688121
VS
97512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9754 rather than resetting it to allow modules to reference themselves
9755 in init.
9756
3d2c7e35
VS
97572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9760 counter on dependencies since grub_dl_unref already handles this.
9761
b25db218
VS
97622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9765 on error if not already done.
9766
25a45338
VS
97672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 Fix few potential memory misusage.
9770
9771 * grub-core/font/font.c (load_font_index): Don't free char_index to
9772 avoid double free.
b25db218
VS
9773 (grub_font_load): Zero-fill font at alloc for safety.
9774 Close file on error.
9775 (free_font): Free bmp_idx.
25a45338 9776
0cac83df
VS
97772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * docs/grub.texi (Installation): Fix several outdated claims.
9780
2217a143
VS
97812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 Handle module_license on windows.
9784
9785 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9786 sections shifted.
9787 (insert_string): Make argument const char * instead of char *.
9788 (write_section_data): Handle long section names.
9789 Handle module_license.
9790
d4de6b01
VS
97912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9794 handle class-free menuentries.
9795 (grub_normal_add_menu_entry): Add a check to be sure.
9796
4c2a3b43
VS
97972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9800 PgUp and PgDown.
9801
85c6210f
VS
98022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * configure.ac: Bump version to 1.99.
9805
36084912
VS
98062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 Give ATA device a bit more time on first try in order to allow disks
9809 to spin up.
9810
9811 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9812 if dev->present is 1. Reset dev->present on failure.
9813 (grub_ata_device_initialize): Set dev->present to 1.
9814 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9815 (grub_ata_device): New member 'present'.
9816
bda0e219
VS
98172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * util/grub-mkimage.c (generate_image): Update hash.
9820
19e1c41b
VS
98212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 Flush caches on DMA memory.
9824
9825 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9826 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9827 (grub_dma_free): Likewise.
9828 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9829
91bbcc0c
VS
98302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9833 to avoid asm treating ld and sd as macros.
9834
60ddfad3
VS
98352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9838 decompressor.
9839
a298aa04
VS
98402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9843 grub_decompress_core since later would fail if grub_decompress_core
9844 is too far.
9845
9b44feca
VS
98462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9849 R_MIPS_JALR since it's used by newer compiler.
9850
56dbe7b4
VS
98512011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9854
52856af2
VS
98552011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9858 file_path to 0 for surety.
9859 (grub_chainloader_boot): Set exit_data to NULL.
9860 Unset the loader once done.
9861 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9862
9c9bfc6d
VS
98632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9866 unknown key into a dprintf.
9867
dd94a3df
VS
98682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9871 on first non-existant partition.
9872
fa68d99c
VS
98732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9876 openning fails.
9877 Reported by: Mark Korenberg.
9878
157effb7
VS
98792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9882 overflow.
9883
ea75312f
VS
98842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9887 before closing to ensure that it will be readable by grub-setup.
9888
072b5d31
VS
98892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9892 (devpath_1): Use MAKE_PIWG_PATH.
9893 (devpath_2): Likewise.
9894 (devpath_3): Likewise.
9895 (devpath_4): Likewise.
9896 (devpath_5): Likewise.
9897 (devpath_6): Likewise.
9898
9899 The appleldr.mod was checked that to be binary identical to previous
9900 version.
9901
7fae0051
Z
99022011-05-05 Zach <mikezackles>
9903
9904 Support 2010 Macbooks.
9905
9906 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9907 (devs): Add devpath_6.
9908
7c515bee
VS
99092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9912 /dev/random. /dev/urandom is good enough for our purposes (salting).
9913
ed660bd8
VS
99142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9917
ee5614b7
VS
99182011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9921 hexadecimal.
9922
664889a6
VS
99232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9926 and not 0 on failure.
9927
bd405bbc
CW
99282011-05-03 Colin Watson <cjwatson@ubuntu.com>
9929
9930 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9931 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9932 disk; otherwise grub_fs_probe will not fall back to the next
9933 filesystem.
9934 (grub_pxefs_open): Likewise, for consistency.
9935 Reported and tested by: Ezekiel Grave.
9936
4ebff753
CW
99372011-05-03 Colin Watson <cjwatson@ubuntu.com>
9938
9939 * tests/partmap_test.in: Don't hardcode path to parted.
9940 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9941
8f942553
CW
99422011-05-01 Colin Watson <cjwatson@ubuntu.com>
9943
9944 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9945 of `ls' to find out which devices are available.
9946
3c62402d
VS
99472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9950 than source address for efi mmap buffer.
9951
723f63f2
VS
99522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9955 wrong action on non-detecting the magic.
9956
68797f92
VS
99572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9960 already supplied by another part of the module (fixes compilation on
9961 FreeBSD).
9962
6be8715d
VS
99632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9966 match the one used by mdadm.
9967
e91dba5b
CW
99682011-04-21 Colin Watson <cjwatson@ubuntu.com>
9969
9970 * po/README: Add instructions for creating po/LINGUAS.
9971
c85140b3
CW
99722011-04-21 Colin Watson <cjwatson@ubuntu.com>
9973
9974 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9975 #551428.
9976
9977 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9978 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9979 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9980 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9981 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9982 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9983 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9984 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9985 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9986 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9987 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9988 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9989 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9990 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9991 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9992 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9993 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9994 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9995 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9996 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9997 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9998 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9999
92051871
CW
100002011-04-21 Colin Watson <cjwatson@ubuntu.com>
10001
10002 * grub-core/kern/emu/getroot.c
10003 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10004 test that was incorrectly reintroduced in r3214.
10005 Reported by: Ian Dall. Fixes Savannah bug #33133.
10006
b13f79a4
CW
100072011-04-21 Colin Watson <cjwatson@ubuntu.com>
10008
10009 Fix stack pointer handling in 16-bit relocator.
10010
10011 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10012 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10013 Fixes Ubuntu bug #683904.
10014
9b710a88
VS
100152011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * configure.ac: Bump version to 1.99~rc2.
10018
d97e7b59
VS
100192011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10022 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10023 * grub-core/lib/x86_64/setjmp.S: Likewise.
10024 * grub-core/lib/mips/setjmp.S: Likewise.
10025 * grub-core/lib/powerpc/setjmp.S: Likewise.
10026 * grub-core/lib/sparc64/setjmp.S: Likewise.
10027
0624551c
VS
100282011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10031 * grub-core/lib/efi/datetime.c: Likewise.
10032
e8f28d4c
VS
100332011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10036 New function.
10037 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10038 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10039 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10040
bba79a15
VS
100412011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10044 bitmap.
10045 (grub_gfxterm_term_init): Likewise.
10046
abc474ef
VS
100472011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Take into account the decorations the computing menu entry width.
10050
10051 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10052 (grub_gfxmenu_create_box): Register get_border_width.
10053 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10054 if available.
10055 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10056 get_border_width.
10057
e74b3947
EP
100582011-04-18 Endres Puschner <code@e7p.de>
10059
10060 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10061 Don't skip first class.
10062
34faa595
VS
100632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10066 chunks.
10067 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10068
93a777e3
VS
100692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 Complete 64-bit division support.
10072
10073 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10074 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10075 * include/grub/misc.h (grub_divmod64): Rename to ...
10076 (grub_divmod64_full): ... this.
10077 (grub_divmod64): New inline function.
10078
a5102d94
VS
100792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10082
f3fb7b36
VS
100832011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10086 performing the necessary test.
10087
9ac718b0
VS
100882011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10091 (kfreebsd.elf): Likewise.
10092 (pc-chainloader.elf): Likewise.
10093 (ntldr.elf): Likewise.
10094
50d2cc5a
VS
100952011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 Identify RAID by its UUID rather than (guessed) name.
10098
10099 * grub-core/disk/raid.c (ascii2hex): New function.
10100 (grub_raid_open): Accept mduuid/%s specification.
10101 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10102 (get_mdadm_uuid): ... this.
10103 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10104
e03f7bea
VS
101052011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10108 to negative size.
10109
e74c3112
CW
101102011-04-13 Colin Watson <cjwatson@ubuntu.com>
10111
10112 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10113 btrfs subvolume.
10114 * util/grub.d/20_linux_xen.in: Likewise.
10115
78fa584f
CW
101162011-04-13 Colin Watson <cjwatson@ubuntu.com>
10117
10118 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10119 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10120
10121 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10122 Build a list of relevant visible mounts using the mnt_id and
10123 parent_mnt_id fields, and then scan that list at the end.
10124
9d5f8162
CW
101252011-04-12 Colin Watson <cjwatson@ubuntu.com>
10126
10127 * docs/grub.texi (normal): New section.
10128 (normal_exit): New section.
10129 (Embedded configuration): Add reference to normal.
10130 (GRUB only offers a rescue shell): Likewise.
10131 * docs/grub-dev.texi (Error Handling): Fix typo.
10132
09a9d66f
CW
101332011-04-12 Colin Watson <cjwatson@ubuntu.com>
10134
10135 * NEWS: Drop obsolete entry about probe-only btrfs support.
10136
0c676933
CW
101372011-04-12 Colin Watson <cjwatson@ubuntu.com>
10138
10139 * util/import_gcry.py: Fix typo.
10140
ec9f5e0d
VS
101412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * NEWS: Add btrfs support.
10144
fe6b2cba
VS
101452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
101462011-04-11 Colin Watson <cjwatson@ubuntu.com>
10147
10148 BtrFS support. Written by me (Vladimir) with important bugfixes and
10149 even more important testing by Colin.
10150
10151 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10152 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10153 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10154 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10155 mem_input_off and mem_input. All users updated to accept in-RAM input.
10156 (gzio_seek): New function.
10157 (test_zlib_header): Likewise.
10158 (grub_gzio_read): Likewise.
10159 (grub_zlib_decompress): Likewise.
10160 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10161 Accept partial and non-virtual mounts.
10162 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10163 avoid receiving /dev/dm-X as device.
10164 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10165 Handle bind and partial mounts.
10166 * grub-core/lib/crc.c: New file.
10167 * include/grub/deflate.h: Likewise.
10168 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10169 proto.
10170 * include/grub/lib/crc.h: New file.
10171
e745cf0c
VS
101722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 Implement automatic module license checking according to new GNU
10175 guidelines.
10176
10177 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10178 (grub_dl_load_core): Use grub_dl_check_license.
10179 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10180 (GRUB_MOD_LICENSE): Likewise.
10181 (GRUB_MOD_DUAL_LICENSE): Likewise.
10182 All modules updated.
10183
2a9bc016
CW
101842011-04-11 Colin Watson <cjwatson@ubuntu.com>
10185
10186 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10187 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10188 loaders.
10189 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10190
8a3bc88e
VS
101912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10194
af869a4a
VS
101952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10198 failed.
10199
9ee8d94f
VS
102002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10203 parenthesis in the middle of the filename.
10204
b01abe3e
VS
102052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10208 rather than trying to put initrd way too high.
10209 Reported by: Ryan Lortie <desrt@desrt.ca>
10210
335bda1e
VS
102112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10214 improperly removed string.
10215
5ca1a64d
VS
102162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10219 is_disk.
10220 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10221 (open_device) Likewise.
10222 (grub_util_biosdisk_close): Likewise.
d8ce9995 10223 Reported by: Mark Korenberg.
5ca1a64d 10224
cbac5b1e
AK
102252011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10226
10227 * util/grub-mkconfig_lib.in: Add missing quotes.
10228
088cdb65
CW
102292011-04-10 Colin Watson <cjwatson@ubuntu.com>
10230
10231 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10232 is NULL.
10233
8b8a81fa
VS
102342011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 Dynamically count the number of lines for the lower banner.
10237
10238 * grub-core/normal/menu_entry.c (per_term_screen): New member
10239 num_entries.
10240 (print_down): Use num_entries.
10241 (update_screen): Likewise.
10242 (grub_menu_entry_run): Set num_entries.
10243 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10244 num_entries.
10245 (grub_print_message_indented): Move real part to ...
10246 (grub_print_message_indented_real): ... here. Additional argument
10247 dry_run.
10248 (draw_border): Additional argument num_entries.
10249 (print_message): Additional argument dry_run.
10250 (print_entries): Receive menu viewer data.
10251 (grub_menu_init_page): New argment num_entries.
10252 (menu_text_set_chosen_entry): Use num_entries.
10253 (grub_menu_try_text): Likewise.
10254 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10255 All users updated.
10256 (grub_ucs4_count_lines): New function.
10257 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10258 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10259 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10260 (grub_term_border_height): Likewise.
10261 (grub_term_num_entries): Likewise.
10262
277f955b
VS
102632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10266 Remove now unused string.
10267
536ce85a
CW
102682011-04-09 Colin Watson <cjwatson@ubuntu.com>
10269
10270 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10271 build system.
10272 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10273
10274 (Comment): Fix typo.
10275 (Getting started): General copy-editing.
10276 (Typical Development Experience): Likewise.
10277 (Error Handling): Likewise.
10278 (Video API): Likewise.
10279
2cf09e32
CW
102802011-04-09 Colin Watson <cjwatson@ubuntu.com>
10281
10282 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10283 throughout.
10284
1ec652f4
VS
102852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10288 directory.
10289
2c583728
CW
102902011-04-08 Colin Watson <cjwatson@ubuntu.com>
10291
10292 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10293 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10294 "development".
10295
d7a565e9
VS
102962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10299 grub_strcpy since the lines aren't necessarily 0-terminated.
10300
7c2e4909
VS
103012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10304 root on legacy.
10305
34c09785
VS
103062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10309 (GRUB_MOD_INIT): DEVICE isn't optional.
10310
6a6f8058
VS
103112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10314 word on new line if it's too long anyway. Fixes a hang.
10315
2e335e90
VS
103162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10319 const.
10320 * util/grub-setup.c (main): Reuse md device name if available.
10321 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10322 not GRUB name as argument.
10323 Based on patch by: Florian Wagner <fwagner>.
10324
10a7a867
VS
103252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10328 Place mbi on low memory for better compatibility.
10329
7a3d6cd9
VS
103302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10333
18dd6b47
VS
103342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
103352011-04-08 Colin Watson <cjwatson@ubuntu.com>
10336
10337 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10338 * conf/Makefile.common: Likewise.
18dd6b47 10339
3c0e3f14
VS
103402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10341
f7148863
VS
10342 * grub-core/normal/menu.c: Add missing include.
10343
103442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10347
6d1fa41f
MZ
103482011-04-08 Martin Zuther <mzuther@mzuther.de>
10349
10350 * util/grub-mkconfig.in: Ignore emacsen backup.
10351
478182a8
VS
103522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10355 on open.
10356 (grub_util_biosdisk_close): Likewise.
10357
72a89a54
VS
103582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10361 const attribute and use grub_isdigit.
10362
b5ebecfa
A
103632011-04-06 Andrey <dev_null@ukr.net>
10364
10365 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10366 gcc warning.
10367
7755f66e
VS
103682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10371 useful grub_dprintf's.
10372
461121ff
VS
103732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10376
2a961775
VS
103772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10380
adf594cc
VS
103812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 Output errors if theme loading failed.
10384
10385 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10386 grub_gfxterm_fullscreen on error paths to ...
10387 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10388 theme loading error.
10389
665900a3
VS
103902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10393 space for older compilers.
10394 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10395
a562b479
VS
103962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10399 and report them as not RAID members since they are useless for GRUB.
10400 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10401
850e9373
VS
104022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 Increase LVM implementation robustness in order not to crash on
10405 configurations like pvmove. Previously code assumed that in some places
10406 only lvs or only pvs are used whereas it seems that they are used
10407 interchangeably.
10408
10409 * grub-core/disk/lvm.c (read_node): New function.
10410 (read_lv): Use read_node.
10411 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10412 Match volumes only at the end when all lvs are found. Take both
10413 pvs (first) and lvs (second) into account.
10414 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10415 mirror_* into node_*. All users updated.
10416 (grub_lvm_stripe): Merge this ...
10417 (grub_lvm_mirror): ... and this ...
10418 (grub_lvm_node): ... into this. All users updated.
10419
6f332153
VS
104202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10423 of function to allow further scanning for LVMs.
10424
829ea451
VS
104252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10428 on failed seek as it breaks open fd reusage.
10429
09ceb9a5
VS
104302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * util/grub-install.in: Add a recommendation to use --recheck before
10433 reporting bugs.
10434
67e11623
VS
104352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10438 are obtained.
10439
caee5efd
VS
104402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 GRUB developper manual based on existing Internals section and
10443 contributions by the various authors with active copyright assignment.
10444
10445 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10446 * docs/font_char_metrics.png: New file.
10447 * docs/font_char_metrics.txt: Likewise.
10448 * docs/grub-dev.texi: Likewise.
10449 * docs/grub.texi (Internals): Move from here ...
10450 * docs/grub-dev.texi: ... here.
10451
2cccc747
CW
104522011-04-01 Colin Watson <cjwatson@ubuntu.com>
10453
10454 Store the loopback device as data on loopback grub_disk structures,
10455 rather than the file it points to. This fixes use of freed memory
10456 if an existing loopback device is replaced.
10457
10458 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10459 disk->data, not dev->file.
10460 (grub_loopback_read): Adjust file assignment to match.
10461 Fixes Ubuntu bug #742967.
10462
186ae367
CW
104632011-04-01 Colin Watson <cjwatson@ubuntu.com>
10464
10465 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10466 when replacing an existing device.
10467
cfed2ad0
VS
104682011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10471 memory corruptions.
10472
10473 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10474 unsigned.
10475 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10476 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10477 (grub_jfs_read_inode): Likewise.
10478 (grub_jfs_opendir): Likewise. Remove now useless casts.
10479 (grub_jfs_getent): Likewise.
10480 Make ino a grub_uint32_t rather than int.
10481 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10482 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10483 division and module with bit operations.
10484 (grub_jfs_find_file): Make ino a grub_uint32_t.
10485 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10486
05d2ed32
CW
104872011-04-01 Colin Watson <cjwatson@ubuntu.com>
10488
10489 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10490 warning. (This was in fact always initialised before use, but GCC
10491 wasn't smart enough to prove that.)
10492 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10493
91dc6073
VS
104942011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10497 stack alignment.
10498 (efi_wrap_1): Likewise.
10499 (efi_wrap_2): Likewise.
10500 (efi_wrap_3): Likewise.
10501 (efi_wrap_4): Likewise.
10502 (efi_wrap_5): Likewise.
10503 (efi_wrap_6): Likewise.
10504 (efi_wrap_10): Likewise.
10505 Based on information by: Red Hat/Peter Jones.
10506
a8afc1d1
CW
105072011-03-31 Colin Watson <cjwatson@ubuntu.com>
10508
10509 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10510 set-but-not-used variable.
10511
a826cc7d
CW
105122011-03-31 Colin Watson <cjwatson@ubuntu.com>
10513
10514 * docs/grub.texi (Simple configuration): Be more explicit about
10515 GRUB_DEFAULT, and add an example.
10516 Reported by: Leslie Rhorer.
10517
875b67ba
CW
105182011-03-30 Colin Watson <cjwatson@ubuntu.com>
10519
10520 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10521 shell".
10522
fd7cd914
AS
105232011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10524
10525 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10526 * util/grub.d/20_linux_xen.in: Likewise.
10527
090b1b6a
VS
105282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * util/grub.d/10_linux.in: Try alternative config filenames where
10531 we parse config file.
10532 * util/grub.d/20_linux_xen.in: Likewise.
10533
baad885c
AS
105342011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10535
10536 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10537 * util/grub.d/20_linux_xen.in: Likewise.
10538
241e41f5
VS
105392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/disk/raid.c (insert_array): Add few potentially
10542 useful grub_util_info.
10543 (grub_raid_register): Likewise.
10544
56445fb2
VS
105452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10548 Preserve partition number in mdadm code path.
10549
c871b1c6
VS
105502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10553 few potentially useful grub_util_info.
10554
5e631b4f
CW
105552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10558
2d5d0333
CW
105592011-03-30 Colin Watson <cjwatson@ubuntu.com>
10560
10561 * docs/grub.texi (default): Use @example rather than nested
10562 itemized lists to avoid breaking gendocs.
10563
3d7ed04e
CW
105642011-03-30 Colin Watson <cjwatson@ubuntu.com>
10565
10566 * docs/grub.texi (Future): Update.
10567
abf04200 105682011-03-30 Colin Watson <cjwatson@ubuntu.com>
10569
10570 * docs/grub.texi (Environment): New chapter.
10571 (Changes from GRUB Legacy): Link to "Environment block" section for
10572 details of limitations.
10573 (Simple configuration): Likewise. Link to documentation of gfxmode
10574 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10575 respectively.
10576 (Shell-like scripting): Note that normal variables are stored in the
10577 environment.
10578 (gettext): Link to documentation of lang and locale_dir.
10579 (list_env): New section.
10580 (load_env): New section.
10581 (save_env): New section.
10582
10583 (Reporting bugs): Fix typo.
10584
e1ad0edd
VS
105852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10588 the example.
10589
5d803174
VS
105902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/term/at_keyboard.c (set_scancodes)
10593 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10594
2a2da1d0
CW
105952011-03-30 Colin Watson <cjwatson@ubuntu.com>
10596
10597 * docs/grub.texi (Menu-specific commands): Remove some semantics
10598 that were true in GRUB Legacy but not in GRUB 2.
10599 (submenu): New section.
10600 (false): New section.
10601 (read): New section.
10602 (true): New section.
10603
a7527639
CW
106042011-03-30 Colin Watson <cjwatson@ubuntu.com>
10605
10606 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10607
106082011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10609
10610 * docs/grub.texi (Simple configuration): Explain some of the
10611 current limitations of grub-mkconfig.
8a748df2 10612 Reported by: Leslie Rhorer.
e30af029 10613
fc858482
VS
106142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 Old macs search for boot.efi rather than for bootia32.efi.
10617
10618 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10619 * util/grub-mkrescue.in: Likewise.
10620 Suggested by: Peter Jones.
10621
e1eb511d
VS
106222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10625
70e75364
VS
106262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10629 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10630 (grub_lvm_mirror): New struct.
10631 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10632 (grub_lvm_iterate): Iterate only visible volumes.
10633 (grub_lvm_read): Factor out to ..
10634 (read_lv): ... this. Support mirrors.
10635 (grub_lvm_read): New wrapper function.
10636 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10637 stripped or mirrored.
10638
fc18f6a3
VS
106392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10642
5c650f4c
CW
106432011-03-29 Colin Watson <cjwatson@ubuntu.com>
10644
10645 * docs/grub.texi (loopback): New section.
10646
61d7156b
CW
106472011-03-29 Colin Watson <cjwatson@ubuntu.com>
10648
10649 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10650 removed -p option.
10651
994b8264
CW
106522011-03-29 Colin Watson <cjwatson@ubuntu.com>
10653
10654 * docs/grub.texi (BIOS installation): New section, partly based on
10655 previous text in other sections.
10656 (Installing GRUB using grub-install): Replace BIOS discussion with a
10657 cross-reference.
10658 (Images): Likewise.
10659
9e4d19e0
VS
106602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10663 [HAVE_DIOCGDINFO]: Add safety checks.
10664
a307c0b2
VS
106652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10668 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10669
b4db4f39
CW
106702011-03-29 Colin Watson <cjwatson@ubuntu.com>
10671
10672 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10673 real_sb->size is zero (e.g. RAID-0), get the disk size from
10674 real_sb->data_size instead.
10675 Fixes Ubuntu bug #743136.
10676
35e5f84c
VS
106772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10680 printf clauses for printing size and start.
10681
d2e29d81
VS
106822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10685 Reported and tested by: Timothy Nikkel.
10686
ed5587af
VS
106872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10690 (dirty_region_add_real): ... this.
10691 (dirty_region_add): Don't discard margin refresh when performing
10692 scheduled repaint.
10693
a1dc717c
VS
106942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/lib/relocator.c (allocate_regstart)
10697 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10698 terminals are capabple of malloc-free operation.
10699 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10700 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10701
9f3677d3
VS
107022011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10703
10704 * util/grub-setup.c: Copy the partition table zone if floppy support
10705 is disabled, even if no partition table is found.
10706
10707 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10708 during POST if an invalid partition table is contained in the PBR
10709 of the active partition when GRUB is installed to a partition.
10710
24148725
CW
107112011-03-28 Colin Watson <cjwatson@debian.org>
10712
10713 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10714 comment.
10715
f329eda7
CW
107162011-03-28 Colin Watson <cjwatson@debian.org>
10717
10718 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10719 to be specific about what kind of RAID device we're scanning for.
10720
c482ad98
SG
107212011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10722
10723 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10724 return freed string.
10725
5ee04984
VS
107262011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10729
f4727da9
VS
107302011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 Use libgeom on FreeBSD to detect partitions.
10733
10734 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10735 (grub-mkrelpath): Likewise.
10736 (grub-script-check): Likewise.
10737 (grub-editenv): Likewise.
10738 (grub-mkpasswd-pbkdf2): Likewise.
10739 (grub-fstest): Likewise.
10740 (grub-mkfont): Likewise.
10741 (grub-mkdevicemap): Likewise.
10742 (grub-probe): Likewise.
10743 (grub-setup): Likewise.
10744 (grub-ofpathname): Likewise.
10745 (grub-mklayout): Likewise.
10746 (example_unit_test): Likewise.
10747 (grub-menulst2cfg): Likewise.
10748 * grub-core/Makefile.core.def (grub-emu): Likewise.
10749 (grub-emu-lite): Likewise.
10750 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10751 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10752 define HAVE_DIOCGDINFO.
10753 (follow_geom_up) [FreeBSD]: New function.
10754 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10755 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10756 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10757 unconditionally of HAVE_DIOCGDINFO.
10758
82fe6c75
VS
107592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Fix FreeBSD compilation problem.
10762
10763 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10764 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10765
4c6c9431
CW
107662011-03-24 Colin Watson <cjwatson@ubuntu.com>
10767
10768 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10769 Switch back to page zero before loading a kernel, since some kernel
10770 drivers expect that.
10771 Thanks to: Felix Kuehling.
10772
c7064d94
VS
107732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10776 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10777 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10778
3f71cded
VS
107792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10782 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10783
ef6de21a
VS
107842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10787 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10788 malloc is disabled.
10789
8bc66a2c
VS
107902011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10793 for modules headers when counting the needed allocation size.
10794
5657722c
VS
107952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10798 if no ASCII character is found to prevent crash.
10799
41a85f55
AK
108002011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10801
10802 * grub-core/video/bitmap.c (match_extension): Ignore case.
10803
59e1e5f1
VS
108042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10807
bd4d051a
VS
108082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/script/parser.y: Declare "time" as valid argument.
10811
bae7fcc1
PJ
108122011-03-23 Peter Jones <pjones@redhat.com>
10813
10814 Fix incorrect assert failure reporting.
10815
10816 * grub-core/tests/example_functional_test.c (example_test): Add
10817 a failure comment.
10818 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10819 (failure_start): ...this. Check that malloc succeeded.
10820 Don't call xvasprintf. Return failure struct.
10821 (failure_append_vtext): New function.
10822 (failure_append_text): Likewise.
10823 (add_failure): Likewise.
10824 (grub_test_assert_helper): Likewise.
10825 * include/grub/test.h (grub_test_assert_helper): New declaration.
10826 (grub_test_assert): Macro rewritten.
10827
537dc9be
VS
108282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10831
fa3e01bf
VS
108322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10835
b1d28404
VS
108362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10839 into GRUB-style one.
10840
2e3e2e09
VS
108412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10844 error and not grub_errno.
10845 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10846
ed57e557
VS
108472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10850 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10851
d1611f01
VS
108522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/efiemu/i386/pc/cfgtables.c
10855 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10856 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10857 (grub_xnu_unlock): Likewise.
10858 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10859
7d4e39d6
VS
108602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10863 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10864 * grub-core/commands/hashsum.c (aliases): Likewise.
10865 * grub-core/commands/setpci.c (pci_registers): Likewise.
10866 * grub-core/disk/usbms.c (attach_hook): Likewise.
10867 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10868 (zio_checksum_table): Likewise.
10869 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10870 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10871 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10872 * grub-core/lib/relocator.c (leftovers): Likewise.
10873 (extra_blocks): Likewise.
10874 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10875 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10876 (modules_last): Likewise.
10877 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10878 (devices): Likewise.
10879 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10880 (modules_last): Likewise.
10881 * grub-core/normal/auth.c (users): Likewise.
10882 * grub-core/normal/context.c (initial_menu): Likewise.
10883 (current_menu): Likewise.
10884 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10885 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10886 (grub_serial_terminfo_input_template): Likewise.
10887 (grub_serial_terminfo_output_template): Likewise.
10888 (grub_serial_terminfo_input): Likewise.
10889 (grub_serial_terminfo_output): Likewise.
10890 (registered): Likewise.
10891 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10892
40fc4659
VS
108932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10896 grub_video_mode_type_t.
10897 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10898 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10899 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10900
2da48d28
VS
109012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * util/grub-install.in: Correct the x86-64 name as x86_64.
10904
9b43bf39
CW
109052011-03-11 Colin Watson <cjwatson@ubuntu.com>
10906
10907 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10908 initial chunk read from the kernel always includes GRUB's multiboot
10909 header, which is now outside the first sector.
10910
be1a7ce0
CW
109112011-03-09 Colin Watson <cjwatson@ubuntu.com>
10912
10913 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10914 cached mmap_size, so that this works correctly when called multiple
10915 times.
10916 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10917
83a3c48d
CW
109182011-03-09 Colin Watson <cjwatson@ubuntu.com>
10919
10920 * docs/grub.texi (Simple configuration): Tidy up formatting.
10921
57d75699
SJ
109222011-03-07 Szymon Janc <szymon@janc.net.pl>
10923
10924 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10925 Set-but-not-used variable removed.
10926
028501a0
VS
109272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 Workaround yet another IEEE1275 bug.
10930
10931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10932 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10933 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10934 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10935 is set.
10936 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10937 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10938
d998657d
VS
109392011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10942 error.
10943
fee7cdd4
CW
109442011-02-11 Colin Watson <cjwatson@ubuntu.com>
10945
10946 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10947 empty, since in that case we can only generate either nothing or a
10948 syntactically invalid configuration file.
10949 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10950
97286eb5
CW
109512011-02-09 Colin Watson <cjwatson@ubuntu.com>
10952
10953 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10954 (Making a GRUB bootable CD-ROM): Likewise.
10955 (Invoking grub-mkrescue): New section.
10956 Reported by: Yann Dirson. Fixes Debian bug #612585.
10957
22b28eb3
CW
109582011-02-09 Colin Watson <cjwatson@ubuntu.com>
10959
10960 * util/grub-install.in: Remove unnecessary brackets from tr
10961 arguments.
10962 * util/grub.d/10_hurd.in: Likewise.
10963 * util/grub.d/10_kfreebsd.in: Likewise.
10964 * util/grub.d/10_linux.in: Likewise.
10965 * util/grub.d/20_linux_xen.in: Likewise.
10966 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10967
7e735e43
CW
109682011-02-08 Colin Watson <cjwatson@ubuntu.com>
10969
10970 * include/grub/file.h (not_easly_seekable): Rename to ...
10971 (not_easily_seekable): ... this. Update all users.
10972
800f1881
CW
109732011-01-28 Colin Watson <cjwatson@ubuntu.com>
10974
10975 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10976 grub-mkrescue.
10977
3281d3d6
VS
109782011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * util/grub-mkimage.c (generate_image): Refuse to create the images
10981 bigger than the actual flash (512K) in Loongson machines. 512K is also
10982 the biggest chip supported by them.
10983
3533413c
VS
109842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10987
73ae4f4f
VS
109882011-01-22 Anthony DeRobertis <anthony@derobert.net>
10989
10990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10991 super_offset field.
10992
37f4f608
VS
109932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * util/grub-install.in: Ignore install device on platforms
10996 where it doesn't make sense. Always use UUIDs except on pc, efi and
10997 sparc64.
10998 Reported by: Daniel Kahn Gillmor.
10999
03a4ccb5
VS
110002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11003
ffc8f4d8
VS
110042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11007 (iterate_real): Don't rely on partition being non-NULL.
11008
80f23be7
VS
110092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11012 supported platforms. Put a compile time assert for this rather than
11013 generate a warning with 32-bit shift.
11014
5d4f4dd5
VS
110152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11018 logical expression more readable.
11019
e489601a
VS
110202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11023 even if some elements have a name.
11024 Reported by: Alexander GQ Gerasiov.
11025
96e0a6ea
CW
110262011-01-22 Colin Watson <cjwatson@ubuntu.com>
11027
11028 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11029 path unreadable if `grub-probe -t abstraction' fails, for example if
11030 memberlist fails on an LVM volume group.
11031 Reported by: Darius Jahandarie.
11032
81431e2b
CW
110332011-01-22 Colin Watson <cjwatson@ubuntu.com>
11034
11035 * docs/grub.texi (Simple configuration): Document
11036 GRUB_PRELOAD_MODULES.
11037
5e79d66a
CW
110382011-01-17 Colin Watson <cjwatson@ubuntu.com>
11039
11040 * .bzrignore: Remove nonexistent grub-pbkdf2.
11041
646ada34
VS
110422011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * configure.ac: Bump version to 1.99~rc1.
11045
04360337
VS
110462011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11049 for safety.
11050
46c9db88
VS
110512011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11054 module.
11055
110562011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11057
11058 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11059
4fbf1852
VS
110602011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11063 diskdevid.
11064
f1632d4d
VS
110652011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 Fix compilation on cygwin.
11068
11069 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11070 -R .drectve on cygwin.
11071 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11072 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11073 (COND_CYGWIN): New condition.
11074 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11075 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11076 not @TARGET_OBJ2ELF@.
11077 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11078 type to determine whether aux is to be used.
11079
0b5e127b
VS
110802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11083 realpath'ed device string.
11084 Handle floppy (somewhat).
11085 Issue error in unknown case rather than garbage.
11086 Reported by: Axel Beckert.
11087
173b71e9
VS
110882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * util/grub.d/00_header.in (load_video): Handle the case when no video
11091 drivers available.
11092 Thanks to: Axel Beckert.
11093
f8f479db
VS
110942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11097 variable. Fixes problem on big endian platforms.
11098
8fc0a245
VS
110992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11102 It doesn't work well there.
11103
b8494fbe
VS
111042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11107 warning.
11108 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11109 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11110 counter.
11111
b44a558c
VS
111122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 Use alias->path rather than buggy "canon".
11115
11116 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11117 (ofdisk_hash_add): New argument curcan. All users updated.
11118
51fa856c
CW
111192011-01-11 Colin Watson <cjwatson@ubuntu.com>
11120
11121 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11122
9da068a5
VS
111232011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11126 loadmask before doing any calculations. Use correct type for offset.
11127 (grub_linux_load64): Likewise.
11128
86205c94
CW
111292011-01-11 Colin Watson <cjwatson@ubuntu.com>
11130
11131 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11132 with NULL.
11133 (console_grub_equivalences_unshift): Likewise.
11134 Reported by: Daniel Dehennin.
11135
4531a206
VS
111362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11139 (set_env_limn_ro): Likewise.
11140 (GRUB_MOD_INIT): Likewise.
11141 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11142 ARRAY_SIZE while on it.
11143 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11144 * grub-core/normal/context.c (grub_env_export): Move from here ...
11145 * grub-core/kern/env.c (grub_env_export): ... here.
11146 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11147 prefix.
11148 * grub-core/kern/main.c (grub_main): Export root and prefix.
11149 * include/grub/env.h (grub_env_export): Export.
11150 Reported by: Seth Goldberg.
11151
45146057
VS
111522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11155 Take into account space used by ELF sections and multiboot palette.
11156 Reported by: Grégoire Sutre.
11157
f093110b
VS
111582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * BUGS: New file.
11161
3395fe52
VS
111622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Pass more appropriate video id to Linux.
11165
11166 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11167 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11168 fill have_vga.
11169 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11170 shift params->lfb_size.
11171 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11172
c2fa6cbb
VS
111732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11176
b3ff6ff0
VS
111772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11180 separator and pass bootpath/devid even if only one of them is available.
11181 Reported by: Seth Goldberg.
11182
ae67942e
VS
111832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11186 implementations bug on them.
11187
11188 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11189 memory.
11190 (filter_memory_map): Likewise.
11191
d570097a
VS
111922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11195 Reported by: nebuchadnezzar.
11196
a508e776
VS
111972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11200 Reported by: nebuchadnezzar.
11201
dcb883b1
VS
112022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 Submenu default support.
11205
11206 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11207 auto_boot. All users updated.
11208 Declared static.
11209 Handle chosen and default with submenus.
11210 (grub_menu_execute_with_fallback): Declared static.
11211 Don't notify failure if autobooted. Upper level does it.
11212 (menuentry_eq): New function.
11213 (get_entry_number): Use menuentry_eq.
11214 (show_menu): New parameter "autobooted". All users updated.
11215 (grub_show_menu): Likewise.
11216 * include/grub/normal.h (grub_show_menu): Likewise.
11217 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11218 (grub_menu_execute_with_fallback): Likewise.
11219
6fef99b4
VS
112202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * util/grub-mklayout.c (usage): Update help text.
11223
47a77af5
VS
112242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11227
ce6bb3ee
VS
112282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * util/grub-menulst2cfg.c (main): Trim the line.
11231
db87be2a
VS
112322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11235 (grub_machine_init): Don't check amount of low memory as reportedly
11236 INT 12h can be broken and if low memory is too low we wouldn't have
11237 gotten into grub_machine_init anyway.
11238
c49849cc
VS
112392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11242 (grub_machine_mmap_iterate): Take low memory into account
11243
b1969b30
VS
112442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11247 badfs.
11248 Reported by: TiCPU.
11249
cf0eaf13
VS
112502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11253 members errors.
11254
1f060f39
GS
112552011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11256
11257 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11258 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11259
a21e5672
GS
112602011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11261
11262 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11263 openbsd and netbsd types being in part_bsd module.
11264
c88172fa
VS
112652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11268 (_FILE_OFFSET_BITS): Likewise.
11269 Reported by: Seth Goldberg.
11270
53798c4b
GS
112712011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11272
11273 * configure.ac: Check for libdevmapper header.
11274
e7121b69
VS
112752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11278 avoid aliasing.
11279 (fzap_lookup): Likewise.
11280 (dnode_get): Likewise.
11281 (make_mdn): Likewise.
11282 (zfs_mount): Likewise.
11283 (fzap_iterate): Use temporary pointer to avoid aliasing.
11284 (grub_zfs_read): Likewise.
11285 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11286 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11287 pointers to avoid aliasing.
11288 (grub_cmd_xnu_kernel64): Likewise.
11289 (grub_xnu_load_driver): Likewise.
11290
fc836af9
VS
112912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11294 aliasing warning.
11295 (grub_cmd_terminal_output): Likewise.
11296 Reported and tested by: Grégoire Sutre.
11297
f9f37648
VS
112982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11301 warning.
11302 Reported and tested by: Grégoire Sutre.
11303
ec1dfd63
VS
113042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * configure.ac: Do CPU substitution even if it's specified explicitly.
11307 Reported and tested by: Alain Greppin.
11308
9462775a
VS
113092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11312 Reported and tested by: Alain Greppin.
11313
0fd48e35
VS
113142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 Satisfy some bison versions need for inttypes.h.
11317
11318 * grub-core/lib/posix_wrap/inttypes.h: New file.
11319 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11320 (int16_t): Likewise.
11321 (int32_t): Likewise.
11322 (int64_t): Likewise.
11323 Reported and tested by: Alain Greppin.
11324
43f1bc83
VS
113252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11328 Silence spurious warning.
11329 Reported and tested by: Alain Greppin.
11330
64d1f041
SJ
113312011-01-07 Szymon Janc <szymon@janc.net.pl>
11332
11333 * docs/grub.texi (Support automatic decompression): Update with xz
11334 decompression support.
11335
25953e10
SJ
113362011-01-07 Szymon Janc <szymon@janc.net.pl>
11337
11338 Improve loaders' kernel command line handling.
11339
11340 * grub-core/lib/cmdline.c: New file.
11341 * include/grub/lib/cmdline.h: Likewise.
11342 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11343 grub_create_loader_cmdline to create kernel command line.
11344 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11345 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11346 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11347 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11348 (linux): Add lib/cmdline.c on common.
11349
e72d259f
VS
113502011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11353 inopos might be unaligned.
11354
c0cf26da
VS
113552011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11358 endian transformations.
11359 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11360 Based on report by: Doug Nazar.
11361
0ca09e6c
DN
113622011-01-07 Doug Nazar <nazard.michi@gmail.com>
11363
11364 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11365 array->members[i].start_sector.
11366 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11367
014b6806
VS
113682011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11371 Reported and tested by: Grégoire Sutre.
11372
415502c2
CW
113732011-01-06 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11376 avoid causing test failures by clearing the screen.
11377
71b6a2b7
CW
113782011-01-06 Colin Watson <cjwatson@ubuntu.com>
11379
11380 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11381 Fix prefix check to handle the case where dir ends with a slash
11382 (most significantly, "/" itself).
11383 Reported by: Michael Vogt.
11384
b3f8d28a
VS
113852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Run terminfo_cls on initing terminfo output to clear the screen and
11388 move the cursor to (0,0).
11389
11390 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11391 Call grub_terminfo_output_init.
11392 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11393 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11394 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11395
4c3e4f37
VS
113962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11399 only when needed.
11400
488f71f1
VS
114012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11404 CTRL.
11405
18a38098
VS
114062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 The E820 type 5 is BADRAM, not EXEC_CODE.
11409
11410 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11411 (GRUB_E820_BADRAM): New define.
11412 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11413 into reserved. Propagate BADRAM.
11414 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11415 (GRUB_E820_BADRAM): New define.
11416
9eae2084
VS
114172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11420 Ignore the memory post-4G.
11421 (grub_relocator_firmware_alloc_region): Additional debug statement.
11422
ebc71d28
VS
114232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11426 names.
11427 Reported by: David Pravec.
11428
446fa400
VS
114292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11432 BIOSes.
11433
a0159f37
VS
114342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11437 Prevent overflow.
11438 (grub_reed_solomon_recover): Likewise.
11439
e5146ca1
VS
114402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11443
114442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11445
11446 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11447 variable.
11448
5b1bdf12
CW
114492011-01-04 Colin Watson <cjwatson@ubuntu.com>
11450
11451 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11452 descriptions of extract_legacy_entries_source and
11453 extract_legacy_entries_configfile.
11454 Reported by: Seung Soo, Ha.
11455
99d925aa
CW
114562011-01-03 Colin Watson <cjwatson@ubuntu.com>
11457
11458 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11459 on devices that do not implement function 0.
11460
4af0504b
DV
114612011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11462
11463 * grub-core/fs/hfsplus.c: Make parent unsigned.
11464 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11465 overflows.
11466 (grub_hfsplus_cmp_extkey): Likewise
11467
469ee10a
VS
114682011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * util/grub-install.in: Correctly use bootloader_id and not
11471 GRUB_DISTRIBUTOR on efibootmgr line.
11472
323a8e9c
VS
114732011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11476
1b394975
IC
114772010-12-31 Ian Campbell <ijc@hellion.org.uk>
11478
11479 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11480 Xen and reorder menu item wording to make it clearer that this entry
11481 will launch Xen. Print separate messages when loading Xen and
11482 Linux.
11483
275bff5f
VS
114842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11487 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11488 loop in case of incorrect amiga partmap.
11489
307806cb
VS
114902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11493 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11494 Reported by:EHeM.
11495
b12b923e
VS
114962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11499 spurious warning.
11500 Reported by: crocket
11501
14b48a19
VS
115022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11505 Preload EFIemu.
11506 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11507
693db2df
VS
115082010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11511 is loaded
11512 (grub_cmd_xnu_kextdir): Likewise.
11513 (grub_cmd_xnu_splash): Likewise.
11514
c7638645
VS
115152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 Avoid using Reed-Solomon with 0 redundancy.
11518
11519 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11520 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11521 or 0 redundancy.
11522 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11523 (grub_reed_solomon_recover): Likewise.
11524
25dd4780
VS
115252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 Don't use disk subsystem in freebsd_boot.
11528
11529 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11530 (freebsd_biosdev): Likewise.
11531 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11532 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11533
0b2db943
VS
115342010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Handling of files of unknown size is currently limited. They can't be
11537 used e.g. for initrd or modules. Moreover gzip handling of not
11538 easily seekable files is buggy. Disable unknown file size for now. May
11539 be inefficient but works.
11540
11541 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11542 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11543
5c408d0f
MP
115442010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11545
11546 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11547 floppy probe.
11548
190a011a
JD
115492010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11550
11551 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11552
022d01b8
SL
115532010-12-25 Shea Levy <shlevy>
11554
11555 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11556
c4855fdc
VS
115572010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11560 Windows Server 2008.
11561 Reported by: Devin Giddings.
11562
0354b867
VS
115632010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11566 writing an error message because of async power management.
11567 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11568 (grub_reboot): Likewise.
11569
ab66c69f
JU
115702010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11571
11572 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11573 keep unit tests from failing when they shouldn't.
11574
1426ef35
CW
115752010-12-21 Colin Watson <cjwatson@ubuntu.com>
11576
11577 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11578 previous patch increased the size of the RS code by 20 bytes (at
11579 least with gcc-4.4), so increase this by 20 bytes to match.
11580 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11581
20641b6b
CW
115822010-12-21 Colin Watson <cjwatson@ubuntu.com>
11583
11584 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11585 scratch area. Make sure to initialise chosen in standalone mode as
11586 well as non-standalone.
11587 Reported by: Robert Hooker and Andy Whitcroft.
11588 Tested by: Andy Whitcroft.
11589
d060ad60
CW
115902010-12-21 Colin Watson <cjwatson@ubuntu.com>
11591
11592 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11593 constructing a new unescaped string and passing it to grub_xputs in
11594 one go, rather than passing characters to grub_printf one at a time.
11595
b889cfad
CW
115962010-12-21 Colin Watson <cjwatson@ubuntu.com>
11597
11598 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11599 initialising utf16.
11600
4e01b6c8
CW
116012010-12-21 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11604 comment. Add an extra layer of quotation, requiring the output of
11605 this function to be used in a printf format string.
11606 (gettext_printf): New function.
11607 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11608 Extract translatable strings from here-documents and use a temporary
11609 variable instead, so that xgettext can find them.
11610 * util/grub.d/10_kfreebsd.in: Likewise.
11611 * util/grub.d/10_linux.in: Likewise.
11612 * util/grub.d/20_linux_xen.in: Likewise.
11613
11614 * po/grub.d.sed: New file.
11615 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11616 arguments. Set c-format flags on all strings extracted from
11617 util/grub.d/ (xgettext refuses to include these itself for strings
11618 it extracted from a shell file, but these really are c-format).
11619
5318fe98
VS
116202010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11623 Avoid next pointing to nowhere.
11624
6c85b743
VS
116252010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11628 rather than assuming than rootblock is exactly in the middle.
11629 (grub_affs_label): Likewise.
11630
a2a08a35
VS
116312010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11634 reserved_first_sector to 0.
11635 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11636 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11637 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11638
7059d1ec
VS
116392010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 Fix handling of UTF-16 UDF labels.
11642
11643 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11644 (read_string): .. here.
11645 (grub_udf_label): Use read_string.
11646
30aff4cb
BC
116472010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11648
11649 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11650 editor under argument scope.
11651 Reported by: Jordan Uggla
11652
5cf86f4b
VS
116532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11656
32570200
CW
116572010-12-18 Colin Watson <cjwatson@ubuntu.com>
11658
11659 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11660 line, and other keys scroll an entire page (previous handling was
11661 for \r and \n to scroll a page and other keys to scroll two lines).
11662
e1dffcf2
VS
116632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11666 Set ptrdest to correct get_physical_target_address rather than
11667 incorrect get_virtual_current_address.
11668
b04298cf 116692010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11670
11671 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11672 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11673
5367ecd3
CW
116742010-12-10 Colin Watson <cjwatson@ubuntu.com>
11675
11676 * .bzrignore: Ignore grub-core/rs_decoder.S.
11677
1fb430f8
CW
116782010-12-10 Colin Watson <cjwatson@ubuntu.com>
11679
11680 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11681 .mo/.mo.gz opening sequence to ...
11682 (grub_mofile_open_lang): ... here.
11683 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11684 * util/grub.d/00_header.in (grub_lang): Include country part of
11685 locale.
11686 Reported by: Mario Limonciello.
11687
a94a6671
RM
116882010-12-09 Robert Millan <rmh@gnu.org>
11689
11690 * NEWS: Document addition of ZFS support.
11691
24b7938b
CW
116922010-12-04 Colin Watson <cjwatson@ubuntu.com>
11693
11694 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11695 rather than `/ 2', as the latter requires -Wa,--divide which would
11696 require bumping our minimum binutils version.
11697
bddc3ef6
BC
116982010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11699
11700 * util/grub-script-check.c (main): Print script line number on
11701 error.
11702
bf78d5b2
RM
117032010-12-01 Robert Millan <rmh@gnu.org>
11704
11705 * grub-core/fs/zfs/zfs.c: New file.
11706 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11707 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11708 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11709 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11710
11711 * include/grub/zfs/dmu.h: Likewise.
11712 * include/grub/zfs/dmu_objset.h: Likewise.
11713 * include/grub/zfs/dnode.h: Likewise.
11714 * include/grub/zfs/dsl_dataset.h: Likewise.
11715 * include/grub/zfs/dsl_dir.h: Likewise.
11716 * include/grub/zfs/sa_impl.h: Likewise.
11717 * include/grub/zfs/spa.h: Likewise.
11718 * include/grub/zfs/uberblock_impl.h: Likewise.
11719 * include/grub/zfs/vdev_impl.h: Likewise.
11720 * include/grub/zfs/zap_impl.h: Likewise.
11721 * include/grub/zfs/zap_leaf.h: Likewise.
11722 * include/grub/zfs/zfs.h: Likewise.
11723 * include/grub/zfs/zfs_acl.h: Likewise.
11724 * include/grub/zfs/zfs_znode.h: Likewise.
11725 * include/grub/zfs/zil.h: Likewise.
11726 * include/grub/zfs/zio.h: Likewise.
11727 * include/grub/zfs/zio_checksum.h: Likewise.
11728
11729 * Makefile.util.def: Build ZFS into libgrubmods.
11730 * grub-core/Makefile.core.def: Build zfs.mod.
11731
3f0f3831
SJ
117322010-11-30 Szymon Janc <szymon@janc.net.pl>
11733
11734 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11735 variable.
11736 * grub-core/commands/wildcard.c (match_files): Likewise.
11737
3a4253b2
RM
117382010-11-30 Robert Millan <rmh@gnu.org>
11739
11740 * grub-core/loader/i386/bsd.c
11741 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11742 whether kernel is loaded using grub_loader_is_loaded(), rather
11743 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11744 certain error conditions.
11745
8c317b27
RM
117462010-11-30 Robert Millan <rmh@gnu.org>
11747
c5c9cd3e
RM
11748 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11749 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11750
49d3ab46
VS
117512010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 Avoid using tricks for initialising endian variables.
11754
11755 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11756 Make const.
11757 (GRUB_MOD_INIT): Don't byte-swap.
11758 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11759 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11760 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11761 (grub_swap_bytes32_compile_time): Likewise.
11762 (grub_cpu_to_le32_compile_time): Likewise.
11763 (grub_cpu_to_le16_compile_time): Likewise.
11764
f420a804
VS
117652010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * util/grub-setup.c (setup): Stop recommending --force. People who
11768 understand the dangers of blocklists are able to find this option
11769 anyway and the ones who don't shouldn't use it anyway.
11770
4e7db17b
RM
117712010-11-26 Robert Millan <rmh@gnu.org>
11772
11773 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11774 Update all users.
11775
9be57a0d
CW
117762010-11-26 Colin Watson <cjwatson@ubuntu.com>
11777
11778 Fix LVM-on-RAID probing.
11779
11780 * util/grub-probe.c (probe): Remember which disk was detected as
11781 RAID (perhaps an LVM physical volume). Use that disk's raidname
11782 rather than that of the top-level disk.
11783
2c7859b3 117842010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11785
d7647bb6
BC
11786 Fix cmdline argument quotes for setparams command of menuentry
11787 definitions.
7e623b0d
BC
11788
11789 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11790 quotes for arguments.
f866fe80 11791 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11792 grub_strchrsub function instead.
f866fe80 11793
7955bea0 11794 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11795
74f72a64
CW
117962010-11-24 Colin Watson <cjwatson@ubuntu.com>
11797
11798 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11799 effort by skipping "." and ".." entries up-front.
11800 Suggested by: Michael Lazarev.
11801
5a407278
CW
118022010-11-24 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11805 ldflags to ldadd, to fix link line ordering.
11806 (none_decompress): Likewise.
11807
3030d8ec
CW
118082010-11-24 Colin Watson <cjwatson@ubuntu.com>
11809
11810 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11811 platforms.
11812 (grub-emu-lite): Remove kern/emu/cache.S.
11813
b7fbac12
CW
118142010-11-23 Colin Watson <cjwatson@ubuntu.com>
11815
11816 * util/deviceiter.c (compare_devices): If the by-id link for a
11817 device couldn't be resolved, fall back to sorting by the by-id link
11818 rather than segfaulting.
11819 Reported and tested by: Daniel Mierswa.
11820
5225f328
CW
118212010-11-23 Colin Watson <cjwatson@ubuntu.com>
11822
11823 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11824 ldflags, to fix link line ordering.
11825
038b3ce8
CW
118262010-11-23 Colin Watson <cjwatson@ubuntu.com>
11827
11828 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11829 linkers are picky about this.
11830
bf16e98e
CW
118312010-11-23 Colin Watson <cjwatson@ubuntu.com>
11832
11833 * grub-core/Makefile.am (command.lst): Adjust sed expression
11834 ordering so that extended and priority commands aren't treated as
11835 ordinary commands.
11836
7242bab6
CW
118372010-11-23 Colin Watson <cjwatson@ubuntu.com>
11838
11839 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11840 Remove byte-swapping function calls, which are not valid in
11841 structure initialisers.
11842 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11843 non-const.
11844 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11845 grub_gpt_partition_type_bios_boot.
11846
14e8b279
CW
118472010-11-22 Colin Watson <cjwatson@ubuntu.com>
11848
11849 Fix test program build on GNU/kFreeBSD.
11850
11851 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11852 $(LIBNVPAIR)' library dependencies.
11853
e6f63338 118542010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11855
11856 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11857
cf8ffc38
CW
118582010-11-22 Colin Watson <cjwatson@ubuntu.com>
11859
11860 * util/grub-install.in: Remove excessive quoting that broke
11861 installations to RAID devices.
11862
7f8b0fd7
VS
118632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11866 bootloader version instead of 0.
11867
dfd240b1
VS
118682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11871 warning.
11872
7b61e609
VS
118732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11876 retrieve the metadat sector if size isn't known.
11877 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11878
9dfe92d0
RM
118792010-11-18 Robert Millan <rmh@gnu.org>
11880
11881 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11882 with grub_memcmp().
11883
41cc919e
VS
118842010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11887 arrow.
11888 Reported by: Jordan Uggla.
11889
1afcc914
VS
118902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 Make better UTF compliant.
11893
11894 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11895 sequences as incorrect.
11896 (grub_is_valid_utf8): Likewise.
11897 (grub_utf8_to_ucs4): Likewise.
11898 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11899 (grub_ucs4_to_utf8_alloc): Likewise.
11900 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11901
f1808884
VS
119022010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 Make legacy_source behave like source.
11905
11906 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11907 grub_show_menu.
11908 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11909
24ec575b
CW
119102010-11-16 Colin Watson <cjwatson@debian.org>
11911
11912 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11913 (-Wunused implies -Wunused-parameter, but not vice versa).
11914
72b7c7aa
CW
119152010-11-16 Colin Watson <cjwatson@ubuntu.com>
11916
11917 * configure.ac: Make error messages less confusing by testing for
11918 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11919 accepted, but produces a diagnostic if something else is wrong).
11920
e98937aa
VS
119212010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11924 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11925 (now unused).
11926 (grub_keyboard_controller_init)
11927 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11928 read the initial state since controller isn't inited yet.
11929
f6bbabc3
VS
119302010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11933 allocate_regbeg may need to create new chunk header.
11934
22e7dbb2
VS
119352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Fix quoting in legacy parser.
11938
11939 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11940 single quotes.
11941 (grub_legacy_parse): Likewise.
11942 Reported by: Jordan Uggla.
11943 Tested by: Jordan Uggla.
11944
03f80960
VS
119452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 Don't add -lgcc on i386 and x86_64.
11948
11949 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11950 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11951 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11952
779dc15b
VS
119532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * configure.ac: Add -Wno-trampolines when supported.
11956
d20a3b37
MV
119572010-11-14 Modestas Vainius <modax@debian.org>
11958
11959 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11960 fakeraid.
11961
e5360933
GC
119622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11963
11964 Add generic logical block size support for UDF.
11965
11966 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11967 (GRUB_UDF_BLKSZ): Removed.
11968 (struct grub_udf_data): New field "lbshift" to hold the logical block
11969 size of the file system in log2 format. All users updated.
11970 (sblocklist): Change type to unsigned.
11971 (grub_udf_mount): Change type of "sblklist" to unsigned.
11972 Move AVDP search before VRS recognition, because the latter requires
11973 knowledge of the logical block size, which is detected during the
11974 former.
11975 Detect and validate logical block size during AVDP search, adding
11976 support for block sizes 512, 1024 and 4096.
11977 Make VRS recognition independent of block size.
11978
cb0229c5
GC
119792010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11980
11981 Properly handle deleted files on UDF.
11982
11983 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11984 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11985 set.
11986
406858a8
GC
119872010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11988
11989 Support reading files larger than 2 GiB.
11990
11991 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11992 "offset" to grub_off_t.
11993 (grub_udf_read_file): Likewise for parameter "pos".
11994
130da6a7
VS
119952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11998 unavailable.
11999 (Simple configuration): Refer to Changes from GRUB Legacy about
12000 save_env availability.
12001
65e93f6b
VS
120022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * util/grub-install.in: Ignore empty partition table detection
12005 instead of trying to include part_ module.
12006
1fd08bf1
VS
120072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12010 LVM on RAID support.
12011
de1a024f
VS
120122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 Properly define WORDS_BIGENDIAN in wrapped environments.
12015
12016 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12017 definition.
12018 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12019
12020 Reported by: Manoel Rebelo Abranches.
12021 Tested by: Manoel Rebelo Abranches.
12022
bc5dd0b9
VS
120232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * util/grub-mkconfig.in: Fix quoting.
12026
58c184be
VS
120272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 Support big ext2 files.
12030
12031 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12032 (grub_ext2_read_block): Support triple indirect blocks.
12033 (grub_ext2_read_file): Use 64-bit types and read size_high.
12034 (grub_ext2_open): Read size_high.
12035 Reported by: Ximin Luo.
12036 Tested by: Manoel Rebelo Abranches.
12037
5f0c02b3
VS
120382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * util/grub-install.in: Handle filenames containing spaces.
12041 Reported by: Jordan Uggla.
12042 Tested by: Jordan Uggla.
12043
4417aae6
VS
120442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * util/grub-mkconfig.in (grub_script_check): New variable.
12047 Use grub_script_check instead of grub-script-check.
12048 Reported by: Barry Jackson.
12049
7625a68e
VS
120502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * docs/grub.texi (menu): Correct the order.
12053 Reported by: D. Hugh Redelmeier.
12054
10001ac5
VS
120552010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12058 jump.
12059
9c4cf53b
MRA
120602010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12061
10001ac5
VS
12062 * include/grub/elfload.h (grub_elf32_size): New parameter.
12063 All users updated.
9c4cf53b
MRA
12064 Return maximum segments alignment.
12065 (grub_elf64_size): Likewise.
12066 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12067 Return maximum segments alignment.
12068 (grub_elf64_size): Likewise.
12069 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12070 (grub_linux_claimmap_iterate): New function. Uses the
12071 "available" property in the "memory" node for memory allocation
12072 for kernel in the PowerPC loader.
9c4cf53b
MRA
12073 (grub_linux_load32): Correctly find linux entry point offset.
12074 (grub_linux_load64): Likewise.
12075
d2bf06bf
RM
120762010-11-07 Robert Millan <rmh@gnu.org>
12077
12078 On mips-yeeloong, build with -march=loongson2f when this flag is
12079 available (GCC >= 4.4).
12080 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12081 `-march=mips3'.
12082 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12083 or otherwise add -march=mips3.
12084
898c99a2
BC
120852010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12086
87220a68
BC
12087 Suppress shell expansion on echo '*' and echo "*" like cases.
12088 Reported by: Jordan Uggla.
898c99a2
BC
12089
12090 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12091 string arguments before shell expansion.
12092 * tests/grub_cmd_echo.in: New testcases.
12093
4f9b406a
RM
120942010-11-07 Robert Millan <rmh@gnu.org>
12095
12096 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12097 transition.
12098
80c6d25e
VS
120992010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * grub-core/kern/emu/hostdisk.c
12102 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12103
4a1a0153
VS
121042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12107 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12108 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12109
34706ddc
VS
121102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12113
6972dea9
VS
121142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * util/grub-install.in: Replace useless recomendation to pass
12117 --modules with a recomendation to report a bug.
12118
9c693bd6
VS
121192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Properly register serial terminfo.
12122 Reported by: Jordan Uggla
12123
12124 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12125 const.
12126 (grub_serial_terminfo_output_template): Likewise.
12127 (grub_cmd_serial): Register "serial" with terminfo.
12128 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12129 grub_serial_terminfo_output.
12130
6c9e4c0c
RM
121312010-11-05 Robert Millan <rmh@gnu.org>
12132
12133 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12134 needed).
12135
b9b3839f
RM
121362010-11-05 Robert Millan <rmh@gnu.org>
12137
12138 On Yeeloong, pass machine type information to Linux.
12139
12140 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12141 (LOONGSON_MACHTYPE): New macro, set to
12142 "machtype=lemote-yeeloong-2f-8.9inches".
12143 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12144 additional argument to Linux.
12145
1a3aaff4
RM
121462010-11-04 Robert Millan <rmh@gnu.org>
12147
12148 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12149 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12150 (its SATA disks are detected as slaveless IDE master drives on
12151 kFreeBSD).
12152 Reported by Carsten Aulbert.
12153
a75f4f62
CW
121542010-11-02 Colin Watson <cjwatson@ubuntu.com>
12155
12156 * util/bin2h.c (main): Fix spelling error in generated output.
12157
33b4b0c6
GS
121582010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12159
12160 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12161
2b36fbf4
VS
121622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12165 vga= option is supplied.
12166
74aaf558
VS
121672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12170 * util/grub.d/10_kfreebsd.in: Likewise.
12171 * util/grub.d/10_linux.in: Likewise.
12172 * util/grub.d/20_linux_xen.in: Likewise.
12173
6428dec3
VS
121742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12177 argument as an argument to no-argument option.
12178
f8729d98
VS
121792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * util/grub.d/10_linux.in: Add missing load_video with explicit
12182 GRUB_GFXPAYLOAD_LINUX.
12183
89d68fa6
VS
121842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12187
3a1197cd
VS
121882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12191 elements with invlid index.
12192 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12193 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12194 members.
12195 * include/grub/raid.h (grub_raid_member): New struct.
12196 (grub_raid_array): Transform devices and start_sector into usage of
12197 grub_raid_member. All users updated
12198 (allocated_devs): New member.
12199
71574288
VS
122002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12203 is modified
12204
8d40ec65
BC
122052010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12206
12207 NetBSD build fix for getline function conflict from gnulib.
12208
12209 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12210 components that depend on gnulib headers.
12211 (libgrubmods.a): Renamed from earlier libgrub.a.
12212 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12213
95b9257e
VS
122142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12217 install rather than creating a broken install.
12218
26c53dc6
VS
122192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * util/grub-setup.c (argp): Remove misleading example of installing to
12222 a partition.
12223
4171b3c5
VS
122242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * util/grub-setup.c (setup): Clarify the error message.
12227
18568d18
VS
122282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12231
4f6a2e21
VS
122322010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * grub-core/kern/emu/misc.c
12235 (grub_make_system_path_relative_to_its_root)
12236 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12237
122382010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12239
12240 * grub-core/kern/emu/misc.c
12241 (grub_make_system_path_relative_to_its_root): Revert r2882.
12242
e138c458
VS
122432010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12246 useless field head. All users updated.
12247 (free_subchunk): Correct handling of IN_REGION subchunk.
12248
0cbcdf0e
CW
122492010-10-22 Colin Watson <cjwatson@ubuntu.com>
12250
12251 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12252 (Supported kernels): Likewise.
12253
b65ea155
GS
122542010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12255
12256 Make mktemp invocations portable.
12257
12258 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12259 exit if mktemp fails.
12260 * tests/grub_script_blockarg.in: Likewise.
12261 * tests/partmap_test.in: Likewise.
12262 * tests/util/grub-shell-tester.in: Likewise.
12263 * tests/util/grub-shell.in: Likewise.
12264 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12265 * Makefile.am: Likewise, and chain shell commands with `&&'
12266 instead of ';'.
12267 * util/grub-mkrescue.in: Use the same explicit template as above, and
12268 exit if mktemp fails.
12269
05f43cdd
BC
122702010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12271
12272 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12273 Linux kernel, reported by Dennis Schridde.
12274
800e6a9b
SJ
122752010-10-17 Szymon Janc <szymon@janc.net.pl>
12276
12277 * grub-core/normal/auth.c (grub_auth_check_authentication):
12278 Set-but-not-used variable removed.
12279
d82df574
VS
122802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12283 32-bit linux protocol.
12284
7bced458
VS
122852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12288 cursor shape for sanity.
12289
5b027690
VS
122902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * docs/grub.texi (Installation): Document buggy BIOS install.
12293
ba5f65cf
VS
122942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * docs/grub.texi (Installation): Indent.
12297
fdf2ec9c
VS
122982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * util/grub-setup.c (setup): New parameter allow_floppy.
12301 (arguments): New member allow_floppy.
12302 (argp_parser): Handle --allow-floppy.
12303 (main): Pass allow_floppy.
12304 * util/grub-install.in: New option --allow-floppy passed though to
12305 grub-setup.
12306
861dfd4c
VS
123072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * util/grub-install.in: Handle partitionless disks.
12310
f77a8c24
VS
123112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-setup.c (setup): Don't clean blocklists before readability
12314 verfification.
12315
27d9ee32
VS
123162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * docs/grub.texi (Installation): Document embedding zone. Remove
12319 obsolete grub-install example.
12320
6bdda8f8
SJ
123212010-10-16 Szymon Janc <szymon@janc.net.pl>
12322
12323 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12324 Set-but-not-used variable ifdef'ed.
12325 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12326 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12327 variable removed.
12328 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12329 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12330 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12331 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12332 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12333 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12334 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12335 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12336 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12337 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12338 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12339 Likewise.
12340
e19b016b
VS
123412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12344 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12345 enum value.
12346
6c8d3002
VS
123472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12350 synonym to _S5_. Needed for some DSDTs.
12351
c32b51c9
VS
123522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 Userspace ACPI parser debugging.
12355
12356 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12357 headers and add relevant defines. Don't include standard headers.
12358 (main) [GRUB_DSDT_TEST]: New function.
12359 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12360 Don't declare functions.
12361
fbfbeb39
VS
123622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Remove dead grub_efi_mm_fini.
12365
12366 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12367 (ALLOCATED_PAGES_SIZE): Likewise.
12368 (MAX_ALLOCATED_PAGES): Likewise.
12369 (allocated_pages): Likewise.
12370 (grub_efi_allocate_pages): Don't record allocated pages.
12371 (grub_efi_free_pages): Likewise.
12372 (grub_efi_mm_init): Likewise.
12373 (grub_efi_mm_fini): Removed.
12374
65f7ed7c
VS
123752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12378 (grub_efi_mm_init): Take into account the memory map size increase.
12379
24977b44
VS
123802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12383 (serial_hw_put): Wait based on real time rather than port reads. Don't
12384 roken ports.
12385 * include/grub/serial.h (grub_serial_port): New field broken.
12386
1eb01cd2
RM
123872010-10-16 Robert Millan <rmh@gnu.org>
12388
12389 * grub-core/kern/emu/misc.c
12390 (grub_make_system_path_relative_to_its_root): Fix premature return
12391 when processing non-root ZFS filesystems.
5f8b440b 12392 Reported by Sergio Talens-Oliag.
1eb01cd2 12393
2d5fed60
RM
123942010-10-15 Robert Millan <rmh@gnu.org>
12395
12396 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12397 guarantee compressed ones are processed first.
12398
d0f4c1ea
VS
123992010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12402 grub_efiemu_autocore.
12403
d87c681f
VS
124042010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12407 rather than 0x1b.
12408 (grub_console_getkey): Use correct jae opcode rather than ja.
12409
219b3564
RM
124102010-10-12 Robert Millan <rmh@gnu.org>
12411
12412 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12413 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12414 variable. All references updated.
12415
12416 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12417
20c6bb7e
VS
124182010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 Correctly distinguish mdraid flavours.
12421
12422 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12423 (insert_array): New argument raid.
12424 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12425 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12426 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12427
74baff84
VS
124282010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12431 handling of special keys.
12432
3ef068df 124332010-10-02 Aleš Nesrsta <starous@volny.cz>
12434
c7980ad9
VS
12435 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12436 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12437
a9455194 124382010-10-02 Aleš Nesrsta <starous@volny.cz>
12439
c7980ad9
VS
12440 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12441 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12442 users updated.
a9455194 12443 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12444 Use right endpoint when querying descriptor.
a9455194 12445
441cfe65
VS
124462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 Clear out 0x80 color bit on EFI.
12449 Tested by: decoder
12450 Reported by: decoder and meta tech.
12451
12452 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12453 (grub_console_setcolorstate): Clear out 0x80 bit.
12454 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12455 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12456 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12457
bf26bcc4
VS
124582010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12461 Set to "auto".
12462
6e3c515d
VS
124632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12466 mo_file after freeing.
12467
e6d983ba
VS
124682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12471
74ccb5b5
VS
124722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12475 flags.
12476
17821956
VS
124772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12480 usage.
12481
ee74fa48
VS
124822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12485
12486 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12487 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12488 and terminfo.h when needed.
12489 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12490 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12491 (terminfo): Enable only on terminfokernel.
12492 (extcmd): Likewise.
12493 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12494 * include/grub/lib/arg.h: Likewise.
12495 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12496 incorrect usage of ->.
12497
aa438e68
VS
124982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12501 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12502
57994012
VS
125032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 Fix coreboot compilation.
12506
12507 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12508 Take VBE info into account even if only text is supported.
12509 (fill_vbe_info): Take into account the case when only VGA text
12510 is supported.
12511 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12512 on coreboot, multiboot and qemu.
12513
2a406611
VS
125142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12517 debug messages.
12518 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12519
d33613fc
VS
125202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12523 parameters.
12524
44a1b432
VS
125252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12528 if they were BSD-style.
12529
edde54e6
VS
125302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/boot/i386/pc/lnxboot.S: Replace
12533 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12534 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12535
b65830fa
VS
125362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 Write embedding zone using Reed-Solomon.
12539
12540 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12541 * grub-core/Makefile.am (rs_decoder.S): New target.
12542 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12543 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12544 (multiboot): Move to RS part.
12545 (post_reed_solomon): New label.
12546 (grub_boot_drive): Move to non-RS part since it's modified in memory
12547 on boot.
12548 Include rs_decoder.S.
12549 * grub-core/lib/reed_solomon.c: New file.
12550 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12551 New definition.
12552 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12553 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12554 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12555 * include/grub/partition.h (grub_partition_map): Change prototype of
12556 embed to allow returning additional sectors.
12557 * include/grub/reed_solomon.h: New file.
12558 * util/grub-setup.c (setup): Handle Reed-Solomon.
12559
0b4b227f
CW
125602010-09-28 Colin Watson <cjwatson@ubuntu.com>
12561
12562 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12563 i386 and x86-64 definedness tests.
12564
f772623b
YB
125652010-09-27 Yves Blusseau <blusseau@zetam.org>
12566
12567 Fix generation of kernel_syms.lst
12568
12569 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12570 ASM_PREFIX
12571
8e57a6ca
RM
125722010-09-26 Robert Millan <rmh@gnu.org>
12573
12574 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12575
12576 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12577 the pool is an array of devices, iterate through it and return the
12578 first device that passes a stat() test (instead of blindly returning
12579 the first one).
12580
f9130836
RM
125812010-09-26 Robert Millan <rmh@gnu.org>
12582
12583 Build fixes for GNU/kFreeBSD.
12584
12585 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12586 to programs that require ZFS conversion.
12587 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12588 kernels that don't have FLOPPY_MAJOR.
12589
96510faf
BC
125902010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12591
12592 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12593
449333eb
BC
125942010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12595
12596 Fix grub-emu build.
12597
12598 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12599 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12600 mdraid09 and mdraid1x.
12601
e1fd1939
CW
126022010-09-24 Colin Watson <cjwatson@ubuntu.com>
12603
12604 Re-enable grub-extras.
12605
12606 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12607 avoid confusing Automake. Run autogen only twice, once for the top
12608 level and once for grub-core. Add Makefile.util.def and
12609 Makefile.core.def from extra modules to the appropriate autogen
12610 invocations. If Makefile.common exists in an extra module, include
12611 it in both Makefile.util.am and grub-core/Makefile.core.am;
12612 similarly, include any Makefile.util.common file in Makefile.util.am
12613 and any Makefile.core.common file in grub-core/Makefile.core.am.
12614 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12615 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12616 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12617 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12618
12619 * gentpl.py (gvar_add): Turn GVARS into a set.
12620 (global_variable_initializers): Sort global variables on output.
12621 (vars_init): New function.
12622 (first_time): Likewise.
12623 (library): Ensure that non-global variable initialisations are
12624 emitted before the first time we emit code for a library block.
12625 Append to variables rather than setting them. Only emit
12626 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12627 each conditional path.
12628 (program): installdir() emits an Autogen macro, so must be passed to
12629 var_add rather than gvar_add.
12630 (data): Likewise.
12631 (script): Likewise.
12632 (rules): New function, centralising handling for different target
12633 types. Set up Guile association lists for first_time and vars_init,
12634 and send most output to a diversion so that variable initialisations
12635 can be emitted first.
12636 (module_rules): Use new rules function.
12637 (kernel_rules): Likewise.
12638 (image_rules): Likewise.
12639 (library_rules): Likewise.
12640 (program_rules): Likewise.
12641 (script_rules): Likewise.
12642 (data_rules): Likewise.
12643
12644 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12645
12646 * .bzrignore: Add contrib and grub-core/contrib. Remove
12647 grub-core/Makefile.gcry.am.
12648
1d12cf29
YB
126492010-09-24 Yves Blusseau <blusseau@zetam.org>
12650
12651 * grub-core/lib/LzFind.c: Add missing include.
12652 * grub-core/lib/LzmaEnc.c: Likewise.
12653 * grub-core/script/lexer.c: Likewise.
12654 * grub-core/script/yylex.l: Likewise.
12655 * util/grub-macho2img.c: Likewise.
12656 * util/grub-menulst2cfg.c: Likewise.
12657 * util/grub-mklayout.c: Likewise.
12658 * util/grub-mkpasswd-pbkdf2.c
12659 * util/grub-mkrelpath.c: Likewise.
12660 * util/resolve.c: Likewise.
12661
dd363028
BC
126622010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12663
12664 * Makefile.util.def (example_unit_test): Add
12665 grub-core/gnulib/libgnu.a.
12666
f5a109e2
GS
126672010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12668
12669 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12670
6d0fa83c
VS
126712010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 Support xz compression on yeeloong.
12674
12675 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12676 * configure.ac: Check for LZMA.
12677 * grub-core/Makefile.core.def (xz_decompress): New target.
12678 (none_decompress): Likewise.
12679 * grub-core/boot/decompressor/minilib.c: New file.
12680 * grub-core/boot/decompressor/none.c: Likewise.
12681 * grub-core/boot/decompressor/xz.c: Likewise.
12682 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12683 * grub-core/kern/mips/cache_flush.S: Likewise.
12684 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12685 * grub-core/kern/mips/startup.S: Move first stage to ...
12686 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12687 nomacro.
12688 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12689 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12690 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12691 Allocate statically.
12692 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12693 Allocate statically or use scratch. Don't check CRC32.
12694 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12695 Allocate statically. Don't check CRC32.
12696 * include/grub/decompressor.h: New file.
12697 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12698 Removed.
12699 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12700 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12701 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12702 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12703 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12704 * util/grub-mkimage.c (grub_compression_t): New type.
12705 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12706 (image_target_desc): New field default_compression.
12707 (image_targets): Adjust yeeloong targets.
12708 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12709 (compress_kernel): New parameter comp.
12710 (generate_image): Likewise. Handle new compression case.
12711 (options): New option --compression
12712 (help): Likewise.
12713 (main): Handle new option.
12714
1b655af6
GS
127152010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12716
12717 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12718
8f03f0b5
CW
127192010-09-22 Colin Watson <cjwatson@ubuntu.com>
12720
12721 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12722 typo in __i386__ conditional.
12723
7835dfd3
VS
127242010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12727 include.
12728
e255597e
VS
127292010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12730
6d0fa83c 12731 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12732
12733 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12734 new tags as supported.
12735 (acpiv2_size): New function.
12736 (grub_multiboot_get_mbi_size): Take new tags into account.
12737 (grub_multiboot_make_mbi): Add new tags.
12738 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12739
6cc14051 127402010-09-21 Aleš Nesrsta <starous@volny.cz>
12741
12742 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12743 Added missing configuration of USB device.
12744
df7769d8
CW
127452010-09-21 Colin Watson <cjwatson@ubuntu.com>
12746
12747 * grub-core/normal/menu_entry.c (run): Make sure we always return
12748 a value.
12749
b031012d
CW
127502010-09-21 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12753 NumberOfPages is UINT64 according to the UEFI specification, not
12754 UINTN. Fix printf format.
12755
174de8f3
CW
127562010-09-21 Colin Watson <cjwatson@ubuntu.com>
12757
12758 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12759 `err' to grub_usb_err_t.
12760 Reported and tested by: KESHAV P.R.
12761
d7dbe923
CW
127622010-09-21 Colin Watson <cjwatson@ubuntu.com>
12763
12764 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12765 tpart non-const, so that we can assign to it. (Since this is a
12766 typedef, the constness refers to the pointer rather than what it
12767 points to.)
12768
8d5e2af3
CW
127692010-09-21 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12772 $(top_srcdir)/grub-core/gnulib as well as
12773 $(top_builddir)/grub-core/gnulib.
12774 Reported by: KESHAV P.R.
12775
5c527783
CW
127762010-09-21 Colin Watson <cjwatson@ubuntu.com>
12777
12778 * util/grub-install.in: Fix the bootloader ID option to be
12779 consistently --bootloader-id, not --bootloader_id.
12780 Reported by: KESHAV P.R.
12781
d309a16e
CW
127822010-09-21 Colin Watson <cjwatson@ubuntu.com>
12783
12784 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12785 check hash checksum." consistently translatable.
12786
b830cd16
YB
127872010-09-21 Yves Blusseau <blusseau@zetam.org>
12788
12789 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12790 $(top_builddir).
12791
c4fe27a8
CW
127922010-09-21 Colin Watson <cjwatson@ubuntu.com>
12793
12794 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12795 (GRUB_MOD_INIT): Register sha1sum command.
12796 (GRUB_MOD_FINI): Unregister sha1sum command.
12797
a4c1d277
YB
127982010-09-21 Yves Blusseau <blusseau@zetam.org>
12799
12800 Keep boot and grub directory names in sync with utils scripts
12801
12802 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12803 * config.h.in: Add previous macros.
12804 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12805 * util/grub-install.in: Use $bootdir and $grubdir variables.
12806
4eff79d2
CW
128072010-09-21 Colin Watson <cjwatson@ubuntu.com>
12808
12809 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12810 convert partition names to disk names if the new `convert' parameter
12811 is set.
12812 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12813 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12814 disk in its own right. This can happen with Xen disk images.
12815
934d7e44
YB
128162010-09-21 Yves Blusseau <blusseau@zetam.org>
12817
12818 * util/grub-editenv.c: Update strings to avoid warnings when generating
12819 grub.pot file.
12820 * util/grub-setup.c: Likewise.
934d7e44 12821
df3367cc
VS
128222010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * configure.ac: Change version to 1.99~beta0.
12825
77a94e98
VS
128262010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12829 Add BADRAM.
12830 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12831 Likewise.
12832 * include/multiboot.h: Resynced with specification.
12833 * include/multiboot2.h: Likewise.
12834
269004c1
CW
128352010-09-21 Colin Watson <cjwatson@ubuntu.com>
12836
12837 Fix po directory handling.
12838
12839 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12840 * grub-core/gnulib/Makefile.am: Import gettext module.
12841 * m4/gnulib-cache.m4: Likewise.
12842 * m4/gnulib-comp.m4: Likewise.
12843 * m4/gettext.m4: New file, from gnulib.
12844 * m4/glibc2.m4: Likewise.
12845 * m4/iconv.m4: Likewise.
12846 * m4/intdiv0.m4: Likewise.
12847 * m4/intl.m4: Likewise.
12848 * m4/intldir.m4: Likewise.
12849 * m4/intlmacosx.m4: Likewise.
12850 * m4/intmax.m4: Likewise.
12851 * m4/inttypes-pri.m4: Likewise.
12852 * m4/lcmessage.m4: Likewise.
12853 * m4/lib-ld.m4: Likewise.
12854 * m4/lib-link.m4: Likewise.
12855 * m4/lib-prefix.m4: Likewise.
12856 * m4/lock.m4: Likewise.
12857 * m4/nls.m4: Likewise.
12858 * m4/po.m4: Likewise.
12859 * m4/printf-posix.m4: Likewise.
12860 * m4/progtest.m4: Likewise.
12861 * m4/threadlib.m4: Likewise.
12862 * m4/uintmax_t.m4: Likewise.
12863 * m4/visibility.m4: Likewise.
12864 * po/Makefile.am: Remove.
12865 * po/Makefile.in.in: New file, from gettext.
12866 ($(DOMAIN).pot-update): Support POTFILES-shell.
12867 * po/Makevars: New file.
12868 * po/POTFILES-shell: Rename to ...
12869 * po/POTFILES-shell.in: ... this. Update.
12870 * po/POTFILES: Rename to ...
12871 * po/POTFILES.in: ... this. Update.
12872 * po/Rules-quot: New file, from gettext.
12873 * po/boldquot.sed: Likewise.
12874 * po/en@boldquot.header: Likewise.
12875 * po/en@quot.header: Likewise.
12876 * po/insert-header.sin: Likewise.
12877 * po/quot.sed: Likewise.
12878 * po/remove-potcdate.sin: Likewise.
12879
3e0fa5d0
VS
128802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12883
ade9bd66
VS
128842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 * util/grub.d/20_linux_xen.in: Use submenus.
12887
fc55cc4c
VS
128882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Support submenus.
12891
12892 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12893 parameter submenu. All users updated.
12894 * grub-core/normal/main.c (free_menu): Rename to ...
12895 (grub_normal_free_menu): ... this. Made global.
12896 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12897 if requested.
12898 * grub-core/normal/menu_entry.c (screen): New field submenu.
12899 (make_screen): Set submenu.
12900 (run): Open new context if requested.
12901 * include/grub/menu.h (grub_menu_entry): New field submenu.
12902 * include/grub/normal.h (grub_normal_free_menu): New proto.
12903
600cedf7
VS
129042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 Menu entries extractor.
12907
12908 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12909 variants.
12910 (GRUB_MOD_INIT): Register new variants.
12911 (GRUB_MOD_FINI): Unregister new variants.
12912 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12913 into grub_cmd_legacy_source.
12914 (grub_cmd_legacy_source): Implement extractor variants.
12915 (GRUB_MOD_INIT): Register new variants.
12916 (GRUB_MOD_FINI): Unregister new variants.
12917 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12918 as an extractor.
12919 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12920 search as an extractor.
12921 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12922 test as an extractor.
12923 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12924 as an extractor.
12925 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12926 (grub_env_new_context): New function.
12927 (grub_env_context_open): Likewise.
12928 (grub_env_extractor_open): Likewise.
12929 (grub_env_extractor_close): Likewise.
12930 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12931 grub_extractor_level.
12932 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12933 * include/grub/env.h (grub_env_extractor_open): New proto.
12934 (grub_env_extractor_close): Likewise.
12935 * include/grub/normal.h (grub_extractor_level): New external variable.
12936
7bda3a87
VS
129372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 Make cutmem accept a region specification.
12940 Suggested by: Samuel Thibault
12941
12942 * grub-core/mmap/mmap.c (parsemem): New function.
12943 (grub_cmd_cutmem): Handle new arguments.
12944
2ea57f88
VS
129452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 New command cutmem.
12948
12949 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12950 (GRUB_MOD_INIT): Register new command.
12951 (GRUB_MOD_FINI): Unregister new command.
12952
74342e31
VS
129532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Support some annoying BSD and Minix subpartitions.
12956
12957 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12958 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12959 Properly handle concatenation.
12960 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12961 * grub-core/normal/completion.c (iterate_partition): Likewise.
12962 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12963 contain partition. All users updated.
12964 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12965 struct.
12966 (grub_openbsdlabel_partition_map): Likewise.
12967 (bsdlabel_partition_map_iterate): Rename to ..
12968 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12969 (bsdlabel_partition_map_iterate): New function.
12970 (netopenbsdlabel_partition_map_iterate): Likewise.
12971 (netbsdlabel_partition_map_iterate): Likewise.
12972 (openbsdlabel_partition_map_iterate): Likewise.
12973 (GRUB_MOD_INIT): Register new partmaps.
12974 (GRUB_MOD_FINI): Unregister new partmaps.
12975 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12976 (grub_partition_msdos_iterate): ... this. All users updated.
12977 Don't support embedding other than in a minix partition.
12978 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12979 proto.
12980 * include/grub/partition.h (grub_partition): New field msdostype.
12981 * util/grub-install.in: Handle openbsd and netbsd types being in
12982 part_bsd module.
12983
1e8d555b
VS
129842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12987
12988 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12989 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12990 (mdraid09): ... this.
12991 (mdraid1x): New module.
12992 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12993 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12994
899d8af4
VS
129952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12998 vsprintf.
12999
40901acd
CW
130002010-09-20 Colin Watson <cjwatson@ubuntu.com>
13001
13002 * grub-core/commands/efi/lsefimmap.c: Correct header.
13003 * NEWS: Update.
13004
dfe3b247
CW
130052010-09-20 Colin Watson <cjwatson@ubuntu.com>
13006
13007 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13008 as printf format strings; the translations might contain '%' which
13009 could cause a crash.
13010 (main): Likewise.
13011 * util/grub-fstest.c (argp_parser): Likewise.
13012 * util/grub-setup.c (argp_parser): Likewise.
13013 (main): Likewise.
13014
3286a4b4
VS
130152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 Use argp in grub-fstest.
13018
13019 * util/grub-fstest.c: Don't include getopt.h.
13020 Include argp.h.
13021 (root): New variable.
13022 (args_count): Likewise.
13023 (nparm): Likewise.
13024 (num_disks): Likewise.
13025 (images): Likewise.
13026 (cmd): Likewise.
13027 (debug_str): Likewise.
13028 (args): Likewise.
13029 (options): Transformed to argp.
13030 (usage): Removed.
13031 (main): Split argument parsing into ...
13032 (argp_parser): ... this. Changed to argp format.
13033 (argp): New variable.
13034 (main): Use argp_parse.
13035
3dccbe4b
TG
130362010-09-20 Tristan Gingold <gingold@free.fr>
130372010-09-20 Robert Millan <rmh.grub@aybabtu.com>
130382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/commands/efi/lsefimmap.c: New file.
13041 * grub-core/Makefile.core.def (lsefimmap): New module.
13042 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13043
38c259a7
VS
130442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 Pause the execution (10s max) if any errors are displayed so the user
13047 has a chance to see them.
13048
13049 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13050 (grub_print_error): Increment grub_err_printed_errors.
13051 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13052 execution if any errors were displayed.
13053 (show_menu): Remove old code for pause.
13054 * grub-core/normal/menu_entry.c (run): Likewise.
13055 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13056 users updated.
13057 (grub_normal_get_char_counter): Likewise.
13058 * include/grub/err.h (grub_err_printed_errors): New external variable.
13059 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13060
f218b09c
VS
130612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Support multiboot VBE info.
13064
13065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13066 Take VBE info into account.
13067 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13068 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13069 Call fill_vbe_info when appropriate.
13070 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13071 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13072 as supported.
13073 (grub_multiboot_get_mbi_size): Take new tags into account.
13074 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13075 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13076 Call fill_vbe_tag when appropriate.
13077 (grub_multiboot_make_mbi): Properly align tags.
13078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13079 function.
13080 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13081 proto.
13082 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13083
a9cc5438
VS
130842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 Suport manual terminal geometry specification.
13087
13088 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13089 Save state in grub_ofconsole_terminfo_output.
13090 (grub_ofconsole_term): Use grub_terminfo_getwh.
13091 (grub_ofconsole_getwh): Removed.
13092 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13093 (grub_serial_term): Use grub_terminfo_getwh.
13094 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13095 (options): New struct.
13096 (OPTION_*): New enum.
13097 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13098 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13099 width and height.
13100 (grub_terminfo_getwh): New proto.
13101 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13102
1a8fed20
VS
131032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Handle legacy "terminal" command.
13106
13107 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13108 and FLAG_TERMINAL.
13109 (legacy_commands): Add terminal and title.
13110 (grub_legacy_parse): Handle terminal. Simplify title handling.
13111
41e9c57d
VS
131122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13115 parameters overflow.
13116
61c874c5
CW
131172010-09-20 Colin Watson <cjwatson@ubuntu.com>
13118
13119 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13120 widthspec.h.
13121
13122 * docs/grub.texi (Shell-like scripting): Document `!'.
13123 (Network): Simplify using new i386-pc-pxe format. Mention
13124 grub-mknetdir.
13125
13126 * NEWS: Update.
13127
943682b4
CW
131282010-09-20 Colin Watson <cjwatson@ubuntu.com>
13129
13130 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13131 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13132 when needed.
13133
6d3d698d
CW
131342010-09-20 Colin Watson <cjwatson@ubuntu.com>
13135
13136 * grub-core/commands/efi/lsefisystab.c: Correct header.
13137 * grub-core/commands/efi/lssal.c: Likewise.
13138 * grub-core/commands/testload.c: Likewise.
13139
c982589f
CW
131402010-09-20 Colin Watson <cjwatson@ubuntu.com>
13141
13142 * util/grub-mkrescue.in: Add explicit root argument to --set to
13143 prevent the UUID being interpreted as an argument to --set (matches
13144 previous change to prepare_grub_to_access_device).
13145
a63c31b6
CW
131462010-09-20 Colin Watson <cjwatson@ubuntu.com>
13147
13148 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13149 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13150 the verbosity of later #ifs.
13151 (find_partition_start): Define this function on FreeBSD too.
13152 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13153 function.
13154 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13155 on FreeBSD.
13156
6439b8ee
YB
131572010-09-20 Yves Blusseau <blusseau@zetam.org>
13158
13159 * util/grub-editenv.c: Use argp instead of getopt.
13160
c5930ec8
YB
131612010-09-20 Yves Blusseau <blusseau@zetam.org>
13162
13163 * util/grub-setup.c: Use argp instead of getopt.
13164
15c69261
YB
131652010-09-20 Yves Blusseau <blusseau@zetam.org>
13166
13167 Use gnulib-tool to create gnulib source files.
13168
13169 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13170 grub-core/gnulib directories
13171 * .bzignore: Add **/.deps and autogenerated gnulib files
13172 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13173 of gnulib macros, add grub-core/gnulib/Makefile
13174 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13175 include m4 directory to aclocal.
13176 * Makefile.util.def: Remove direct compilation of gnulib source files
13177 and use the new grub-core/gnulib/libgnu.a.
13178 * build-aux/config.rpath: move config.rpath from top directory to
13179 build-aux
13180 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13181 in gnulib headers
13182 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13183 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13184 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13185 header.
13186 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13187 string.
13188
e511c9f5
YB
131892010-09-20 Yves Blusseau <blusseau@zetam.org>
13190
13191 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13192 grub-core/genmod.sh and grub-core/gensyminfo.sh
13193
c2dede05
BC
131942010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13195
13196 Add a test for echo command options.
13197
13198 * tests/grub_cmd_echo.in: New test.
13199 * Makefile.util.def: Rules for new test.
13200
c55f5018
SJ
132012010-09-20 Szymon Janc <szymon@janc.net.pl>
13202
13203 Remove crc.mod and move crc command to hashsum.mod.
13204 Remove lib/crc.c - users updated to use gcrypt implementation.
13205
13206 * grub-core/commands/crc.c: Removed.
13207 * grub-core/Makefile.core.def (crc): Module removed.
13208 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13209 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13210 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13211 * grub-core/lib/crc.c: Removed.
13212 * include/grub/lib/crc.h: Removed.
13213 * Makefile.util.def (crc): Remove lib/crc.c
13214 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13215 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13216 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13217 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13218 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13219 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13220
e0337366
VS
132212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13224
742f9232
VS
132252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Split config.h for util and core.
13228
13229 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13230 (ADDR32): Likewise.
13231 (DATA32): Likewise.
13232 (BSS_START_SYMBOL): Likewise.
13233 (END_SYMBOL): Likewise.
13234 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13235 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13236 * config.h.in: New file.
13237 * configure.ac: Use config-util.h as config define file.
13238 Rename MACHINE into GRUB_MACHINE. All users updated.
13239 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13240 updated.
13241 (NESTED_FUNC_ATTR): Likewise.
13242 Substitue new variables.
13243 (COND_HAVE_ASM_USCORE): New conditional.
13244 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13245 (kernel_syms.lst): Use ASM_PREFIX.
13246 * grub-core/kern/emu/console.c: Include config-util.h.
13247 * grub-core/kern/emu/misc.c: Likewise.
13248 * grub-core/kern/emu/mm.c: Likewise.
13249 * include/grub/emu/misc.h: Likewise.
13250 * include/grub/libgcc.h: Likewise.
13251
39feb0e8
VS
132522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13255 constants usage.
13256 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13257 Fix GRUB_TERM_KEY_* constants usage.
13258 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13259
9af6dac3
VS
132602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13263 print pointer.
13264 * grub-core/bus/usb/uhci.c: Remove empty define.
13265 (grub_uhci_check_transfer): Add missing cast.
13266 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13267 print pointer.
13268 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13269 PRIuGRUB_SIZE.
13270 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13271
d6d94820
VS
132722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/Makefile.core.def (legacycfg): Add
13275 lib/i386/pc/vesa_modes_table.c on emu.
13276
3572f2b6
BC
132772010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13278
13279 Reduce number of temporary files generated by build system.
13280
13281 * grub-core/gencmdlist.sh: Removed.
13282 * grub-core/genfslist.sh: Removed.
13283 * grub-core/genhandlerlist.sh: Removed.
13284 * grub-core/genmodsrc.sh: Removed.
13285 * grub-core/genpartmaplist.sh: Removed.
13286 * grub-core/genparttoollist.sh: Removed.
13287 * grub-core/gentermiinallist.sh: Removed.
13288 * grub-core/genvideolist.sh: Removed.
13289
13290 * grub-core/genmod.sh.in: New file.
13291 * grub-core/gensyminfo.sh.in: New file.
13292
13293 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13294 * conf/Makefile.extra-dist: Update with new files.
13295 * gentpl.py: Remove rules related to unnecessary temporary files.
13296 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13297 and und-* files.
13298 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13299 genmod.sh scripts.
13300 * grub-core/bus/usb/uhci.c: Remove empty #define.
13301 * grub-core/genmoddep.awk: Updated with new syminfo format.
13302 * util/bash-completion.d/Makefile.am: Add config.log to
13303 CLEANFILES.
13304
c836b030
YB
133052010-09-19 Yves Blusseau <blusseau@zetam.org>
13306
13307 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13308
2f4e8053
BC
133092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13310
13311 * util/grub-mkconfig.in: Check the config script for syntax errors
13312 before saving.
13313
75831c34
CW
133142010-09-19 Colin Watson <cjwatson@ubuntu.com>
133152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13318 platforms.
13319 * util/grub-install.in: Add EFI and IEEE1275 support.
13320 * util/i386/efi/grub-install.in: Removed.
13321 * util/ieee1275/grub-install.in: Likewise.
13322
eaf41b25
VS
133232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13326 (grub_cmd_cmosclean): Likewise.
13327 (GRUB_MOD_INIT): Register command cmosclean.
13328 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13329 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13330
1a9130dd
CPE
133312010-09-18 Carles Pina i Estany <carles@pina.cat>
133322010-09-18 Aleš Nesrsta <starous@volny.cz>
133332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 Add keyboard layouts support.
13336
13337 * Makefile.util.def (grub-mklayout): New file.
13338 (grub-kbdcomp): New script.
13339 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13340 Add keyboard_layouts.h.
13341 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13342 commands/boot.c on yeeloong.
13343 (keylayouts): New module.
13344 * grub-core/bus/usb/ohci.c
13345 * grub-core/bus/usb/uhci.c
13346 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13347 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13348 (attach_root_port): Likewise.
13349 (poll_nonroot_hub): Likewise.
13350 (grub_usb_poll_devices): Likewise.
13351 (detach_device): Close transfer.
13352 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13353 function.
13354 (grub_usb_bulk_setup_readwrite): Likewise.
13355 (grub_usb_bulk_finish_readwrite): Likewise.
13356 * grub-core/commands/keylayouts.c: New file.
13357 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13358 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13359 aliases.
13360 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13361 support scancode 2.
13362 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13363 * include/grub/keyboard_layouts.h: New file.
13364 * util/grub-mklayout.c: New file.
13365 * util/grub-kbdcomp.in: Likewise.
13366
a1d84a5e
VS
133672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 Unify memory types.
13370
13371 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13372 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13373 types.
13374 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13375 (grub_upper_mem): Likewise.
13376 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13377 * include/grub/memory.h (grub_memory_type_t): New enum.
13378 All users updated.
13379
9696382e
VS
133802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * grub-core/Makefile.core.def (lsapm): New module.
13383 * grub-core/commands/i386/pc/lsapm.c: New file.
13384 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13385 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13386 Likewise.
13387 * include/grub/i386/pc/apm.h: New file.
13388 * include/multiboot.h (multiboot_apm_info): New struct.
13389
133902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 GRUB-legacy configuration file support.
13393
13394 * Makefile.util.def (grub-menulst2cfg): New util.
13395 * docs/man/grub-menulst2cfg.h2m: New file.
13396 * grub-core/Makefile.core.def (legacycfg): New module.
13397 * grub-core/commands/legacycfg.c: New file.
13398 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13399 (grub_normal_add_menu_entry): ... this.
13400 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13401 (grub_normal_set_password): ...this.
13402 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13403 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13404 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13405 * grub-core/lib/legacy_parse.c: New file.
13406 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13407 * include/grub/i386/pc/vesa_modes_table.h: New file.
13408 * include/grub/legacy_parse.h: Likewise.
13409 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13410 * util/grub-menulst2cfg.c: New file.
13411
bf8d1338
CW
134122010-09-17 Colin Watson <cjwatson@ubuntu.com>
13413
13414 * grub-core/kern/emu/hostdisk.c
13415 (convert_system_partition_to_system_disk): Initialise node.
13416
9c0bad2e
CW
134172010-09-17 Colin Watson <cjwatson@ubuntu.com>
13418
13419 * grub-core/kern/emu/hostdisk.c
13420 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13421 leak.
13422 Reported and based on patch by: Modestas Vainius.
13423
a939d135
CW
134242010-09-17 Colin Watson <cjwatson@ubuntu.com>
13425
13426 Fix DM-RAID probing with recent versions of device-mapper udev
13427 rules.
13428
13429 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13430 canonicalise device paths under /dev/mapper/.
13431 (convert_system_partition_to_system_disk): Compare the
13432 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13433 path, since device nodes under /dev/mapper/ are often symlinks.
13434
0f7ee3c9
YB
134352010-09-17 Yves Blusseau <blusseau@zetam.org>
13436
13437 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13438
10854d0d
YB
134392010-09-16 Yves Blusseau <blusseau@zetam.org>
13440
13441 * configure.ac: Avoid some annoying error messages if freetype-config
13442 program is not found.
13443
108538d8
CW
134442010-09-16 Colin Watson <cjwatson@ubuntu.com>
13445
13446 Support RAID on virtio devices, and others.
13447
13448 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13449 Rename to ...
13450 [__MINGW32__] (grub_find_device): ... this.
13451 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13452 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13453 reasonable default if dir is NULL.
13454 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13455 ...
13456 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13457 (grub_guess_root_device): Update callers.
13458 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13459
13460 * util/raid.c (grub_util_getdiskname): Remove.
13461 (grub_util_raid_getmembers): Use grub_find_device rather than
13462 grub_util_getdiskname.
13463
e5bfc130
CW
134642010-09-16 Colin Watson <cjwatson@ubuntu.com>
13465
13466 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13467 needing to be compiled with serial support.
13468 (ls): Indicate that multiple files are accepted.
13469 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13470 indicate that multiple files are accepted.
13471
be458ae2
CW
134722010-09-16 Colin Watson <cjwatson@ubuntu.com>
13473
13474 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13475 libgrub_a_init.c, and util/bash-completion.d/grub.
13476
cb731b5e
VS
134772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * util/grub-setup.c (setup): Fix incorrect container semantics.
13480
35139e8a
VS
134812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13484 misusage.
13485 Reported by: J. Nick Terry
13486
e50fca4a
VS
134872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 Move embedding routines to partmap sources files.
13490
13491 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13492 [GRUB_UTIL]: New variable.
13493 (gpt_partition_map_iterate): Set part.parent.
13494 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13495 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13496 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13497 New function.
13498 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13499 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13500 (grub_partition_map) [GRUB_UTIL]: New field embed.
13501 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13502 (setup): Use ->embed.
13503
f00478b7
VS
135042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13507 function.
13508 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13509 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13510
2b94e3ff
YB
135112010-09-15 Yves Blusseau <blusseau@zetam.org>
13512
13513 Add function to get completions from usage.
13514
13515 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13516 completions from usage. Use LC_ALL=C to get options properly.
13517
2e04a006
VS
135182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/gnulib/basename-lgpl.c: Imported.
13521 * grub-core/gnulib/basename.c: Likewise.
13522 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13523 * grub-core/gnulib/dirname.c: Likewise.
13524 * grub-core/gnulib/dirname.h: Likewise.
13525 * grub-core/gnulib/stripslash.c: Likewise.
13526
5dcdf93a
VS
135272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 * grub-core/gnulib/error.c: Resynced.
13530 * grub-core/gnulib/getopt.c: Likewise.
13531 * grub-core/gnulib/getopt_int.h: Likewise.
13532 * grub-core/gnulib/regex.h: Likewise.
13533 * grub-core/gnulib/regex_internal.c: Likewise.
13534 * grub-core/gnulib/regex_internal.h: Likewise.
13535
014f47b7
SJ
135362010-09-15 Szymon Janc <szymon@janc.net.pl>
13537
13538 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13539 CRC calculations and validity checks.
13540 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13541 calculations.
13542
dd521a4a
SJ
135432010-09-15 Szymon Janc <szymon@janc.net.pl>
13544
13545 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13546
79c4eeb9
VS
135472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 Fix incorrect echo options handling.
13550 Reported by: Yves Blusseau.
13551
13552 * include/grub/command.h (grub_command_flags_t): New flags
13553 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13554 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13555 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13556
ed80f7d5
VS
135572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13560 users updated.
13561 (GRUB_COMMAND_FLAG_MENU): Likewise.
13562 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13563 (GRUB_COMMAND_FLAG_TITLE): Removed.
13564 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13565 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13566 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13567 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13568 (grub_command_flags_t): New enum. All users updated.
13569
5fe7620a
SG
135702010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13571
13572 Fix solaris compilation.
13573
13574 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13575 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13576 (grub-emu-list): Likewise.
13577
545b752f
VS
135782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Remove deprecated root command.
13581
13582 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13583 updated.
13584
6c1a338c
VS
135852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * util/i386/pc/grub-setup.c: Merge this ...
13588 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13589 * util/grub-setup.c: ... into this.
13590 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13591 New struct.
13592
135932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13596 possible.
13597
d2ea4551
VS
135982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13601 allocate p.
13602
3c3b5040
VS
136032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13606 explicit root argument to set to prevent UUID to be interpreted as
13607 argument to set.
13608
b71c3fae
VS
136092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13612
275433e6
VS
136132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Don't export grub_gate_a20.
13616
13617 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13618 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13619 to ...
13620 (grub_gate_a20): ... this. All users updated.
13621 * include/grub/i386/pc/init.h: Removed. All users updated.
13622
a5dbb1f1
VS
136232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 Create euro.pf2 which supports most European languages.
13626
13627 * Makefile.am (grubdata_DATA): Add euro.pf2.
13628 (euro.pf2): New target.
13629 (CLEANFILES): Add euro.pf2.
13630
62a747cb
VS
136312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * configure.ac: Disable emu-usb by default to prevent inadvertent
13634 device takeover.
13635
608e43b1
VS
136362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 Disable usbserial on grub-emu since our libusb code isn't good enough
13639 yet.
13640
13641 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13642 (usbserial_pl2303): Likewise.
13643 (usbserial_ftdi): Likewise.
13644
94564f81
VS
136452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * include/grub/disk.h (grub_disk): Remove has_partitions.
13648 All users updated.
13649 * disk/loopback.c (grub_loopback): Remove has_partitions.
13650 All users updated.
13651 (options): Remove partitions. All users updated.
13652 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13653 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13654 actual partition table is found.
13655
3352800b
VS
136562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 Remove readability checks (too many false negatives).
13659
13660 * util/grub-install.in: Remove readability checks.
13661 * util/grub-mkconfig.in: Likewise.
13662 * util/grub.d/10_hurd.in: Likewise.
13663 * util/grub.d/10_kfreebsd.in: Likewise.
13664 * util/grub.d/10_linux.in: Likewise.
13665 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13666 way.
13667
2419f17a
VS
136682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 Enable acpi shutdown on all ACPI platforms.
13671
13672 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13673 on coreboo, multiboot and EFI.
13674 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13675 (grub_acpi_halt): Likewise.
13676 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13677 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13678 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13679 * grub-core/lib/i386/halt.c (grub_halt)
13680 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13681
0575c7c3
VS
136822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13685 context.
13686
54ac3cd1
VS
136872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13690 * grub-core/video/efi_uga.c: Likewise.
13691
b2a30ac5
VS
136922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Filter devaliases and never open same device twice.
13695
13696 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13697 (last_ihandle): Likewise.
13698 (ofdisk_hash_ent): New member shortest.
13699 (ofdisk_hash_add): Add canonical path too.
13700 (scan): New function.
13701 (grub_ofdisk_iterate): Iterate over hashed entries.
13702 (compute_dev_path): Don't add :0.
13703 (grub_ofdisk_open): Don't really open the disk.
13704 (grub_ofdisk_close): Avoid closing unrelated disk.
13705 (grub_ofdisk_read): Implement reopen logic.
13706 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13707 New function.
13708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13709 New proto.
13710
fb53b340
VS
137112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 Fix sparc64.
13714
13715 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13716 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13717 right address. Add sparc64_ieee1275_ldflags.
13718 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13719 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13720 to grub_host_to_target_addr
13721 (load_image): Likewise.
13722
f452b040
VS
137232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/normal/completion.c (complete_file): Handle device
13726 containing slash.
13727 Fix based on patch by Doug Nazar.
13728
9b5b2541
VS
137292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 grub-mknetdir script.
13732
13733 * Makefile.util.def (grub-mknetdir): New module.
13734 * tests/util/grub-shell.in: Support boot=net
13735 * util/grub-mknetdir.in: New file.
13736
9d2be652
VS
137372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 videoinfo on non-vbe.
13740
13741 * grub-core/Makefile.core.def (vbeinfo): Removed.
13742 (vbetest): Removed.
13743 (videoinfo): New module.
13744 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13745 * grub-core/commands/i386/pc/vbetest.c: Removed.
13746 * grub-core/commands/videoinfo.c: New file.
13747 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13748 specification.
13749 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13750 as vbetest.
13751 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13752 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13753 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13754 mode_number. New parameter mode. All users updated.
13755 (grub_video_gop_iterate): New function.
13756 (grub_video_efi_gop): New member iterate.
13757 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13758 (grub_vbe_set_video_mode): Remove setting useless fields.
13759 (vbe2videoinfo): New function.
13760 (grub_video_vbe_iterate): Likewise.
13761 (grub_video_vbe_setup): Use vbe2videoinfo.
13762 (grub_video_vbe_print_adapter_specific_info): New function.
13763 (grub_video_vbe_adapter): New fields iterate and
13764 print_adapter_specific_info.
13765 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13766 All users updated.
13767 (grub_video_mode_info): New field mode_number.
13768 (grub_video_adapter): New fields iterate and
13769 print_adapter_specific_info.
13770
179503f5
TG
137712010-09-13 Tristan Gingold <gingold@free.fr>
137722010-09-13 Robert Millan <rmh.grub@aybabtu.com>
137732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * grub-core/commands/efi/lsefisystab.c: New file.
13776 * grub-core/commands/efi/lssal.c: Likewise.
13777 * grub-core/Makefile.core.def (lsacpi): New module.
13778 (lsefisystab): Likewise.
13779 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13780 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13781 (grub_efi_sal_system_table): New struct.
13782 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13783 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13784 (grub_efi_sal_system_table_platform_features): Likewise.
13785 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13786 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13787 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13788 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13789
cf9827de
VS
137902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 Support explicit user claim that a device is BIOS-visible.
13793
13794 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13795 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13796 * grub-core/kern/emu/hostdisk.c
13797 (convert_system_partition_to_system_disk): Support mdX.
13798 (find_system_device): New parameter add. All users updated.
13799 (grub_util_biosdisk_is_present): New function.
13800 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13801 proto.
13802
53f0eb1f
VS
138032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 Search hints support.
13806
13807 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13808 All users updated.
13809
b23ffd70
YB
138102010-09-13 Yves Blusseau <blusseau@zetam.org>
13811
13812 Bash completion script for util commands
13813
13814 * Makefile.am: Add util/bash-completion.d directory
13815 * configure.ac: Likewise.
13816 * util/bash-completion.d/Makefile.am: New file.
13817 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13818
d547dc28
VS
138192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13822 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13823 Reported by: Yves Blusseau.
13824
2fc8ccb9
VS
138252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13828 partition size and offset.
13829
d8a84076
VS
138302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13833
84fb3b3d
VS
138342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13837
768ec2e2
VS
138382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13841 (grub_xvasprintf): Likewise.
13842
4870900f
VS
138432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13846
faca6bec
VS
138472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13850 args ending with NULL.
13851
138522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13853
13854 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13855 pointer.
13856
3c70f225
SJ
138572010-09-11 Szymon Janc <szymon@janc.net.pl>
13858
13859 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13860
4df7996d
VS
138612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 Shutdown using ACPI.
13864
13865 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13866 * grub-core/commands/acpihalt.c: New file.
13867 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13868 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13869 (grub_acpi_halt): New proto.
13870 (GRUB_ACPI_SLP_EN): New const.
13871 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13872 (GRUB_ACPI_OPCODE_*): New enum.
13873 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13874
126b4c32
TG
138752010-09-11 Tristan Gingold <gingold@free.fr>
138762010-09-11 Robert Millan <rmh.grub@aybabtu.com>
138772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * commands/lsacpi.c: New file.
13880 * grub-core/Makefile.core.def (lsacpi): New module.
13881 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13882 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13883 (grub_acpi_madt_entry_header): New struct.
13884 (grub_acpi_madt): Likewise.
13885 (grub_acpi_madt_entry_interrupt_override): Likewise.
13886 (grub_acpi_madt_entry_sapic): Likewise.
13887 (grub_acpi_madt_entry_lsapic): Likewise.
13888 (grub_acpi_madt_entry_platform_int_source): Likewise.
13889 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13890 (PRIuGRUB_UINT32_T): Likewise.
13891 (PRIxGRUB_UINT64_T): Likewise.
13892
1aa4fe88
VS
138932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 Implement loading palette on ieee1275_fb.
13896
13897 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13898 (have_setcolors): Likewise.
13899 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13900 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13901 (grub_video_ieee1275_set_palette): Implement.
13902
25761e13
VS
139032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
139042010-09-11 Colin Watson <cjwatson@ubuntu.com>
13905
13906 * util/grub-install.in (grub_partition): New variable.
13907 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13908 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13909 Fixes a bug reported by Yves Blusseau.
13910
050abaea
VS
139112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 Fix emu on mipsel.
13914
13915 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13916 =grub_cpu_flush_cache on all mips and not only yeeloong.
13917 * configure.ac (COND_mips): New conditional.
13918 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13919 platforms.
13920 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13921 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13922 [GRUB_LINKER_HAVE_INIT]: New function.
13923 (grub_emu_post_init): Likewise.
13924 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13925 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13926 * include/grub/cache.h (_mips): Include mips/cache.h.
13927 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13928 LVM and RAID prototypes.
13929 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13930 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13931 function.
13932
5ed7d816
CW
139332010-09-10 Colin Watson <cjwatson@ubuntu.com>
13934
13935 * util/grub-install.in: Don't try to verify core.img until after
13936 running grub-mkimage to create it.
13937
90367e04
RM
139382010-09-10 Robert Millan <rmh@gnu.org>
13939
13940 * util/grub.d/10_hurd.in: Add misc readability checks.
13941 * util/grub.d/10_kfreebsd.in: Likewise.
13942 * util/grub.d/10_linux.in: Likewise.
13943
c452fa66
CW
139442010-09-10 Colin Watson <cjwatson@ubuntu.com>
13945
13946 * util/grub-install.in: ${imgext} won't be defined here until the
13947 install branch is merged. For the meantime, only verify core.img on
13948 i386-pc and sparc64-ieee1275 platforms.
13949
c38fe9f4
RM
139502010-09-10 Robert Millan <rmh@gnu.org>
13951
13952 Solaris support in grub_find_zpool_from_dir(). Thanks
13953 Seth Goldberg for referring to getextmntent() facility.
13954
13955 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13956 `sys/mkdev.h'.
13957 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13958 `<sys/mnttab.h>'.
13959 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13960 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13961 method for finding zpool name.
13962
905f7773
CW
139632010-09-10 Colin Watson <cjwatson@ubuntu.com>
13964
13965 grub-fstest needs the host and hostfs modules while other utilities
13966 actively require those modules to be absent, so grub-fstest needs
13967 its own initialisation and finalisation code.
13968
13969 * Makefile.am (grub_fstest.pp): New target.
13970 (grub_fstest_init.lst): Likewise.
13971 (grub_fstest_init.c): Likewise.
13972 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13973
fb90b546
RM
139742010-09-10 Robert Millan <rmh@gnu.org>
13975
13976 * configure.ac: Check for `struct statfs.f_fstypename' and
13977 `struct statfs.f_mntfromname'.
13978
13979 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13980 kFreeBSD-specific code.
13981
66d4bea5
RM
139822010-09-10 Robert Millan <rmh@gnu.org>
13983
13984 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13985 on ZFS. Now non-main filesystems are supported as / too.
13986
b6a690ee
CW
139872010-09-09 Colin Watson <cjwatson@ubuntu.com>
13988
13989 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13990 and grub-core/disk/host.c to ...
13991 (grub-fstest): ... here. Having the host disk implementation
13992 present confuses grub-probe and other utility programs.
13993
13994 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13995 when writing to a file, not when writing to stdout.
13996
8901b00c 139972010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13998
13999 * tests/partmap_test.in: New test for partitions.
14000 * Makefile.util.def: Rules for new test.
14001
7bf45fdd
RM
140022010-09-09 Robert Millan <rmh@gnu.org>
14003
14004 * util/grub-probe.c (probe): Fix a pair of unhandled error
14005 conditions.
14006
4dfbc574
RM
140072010-09-09 Robert Millan <rmh@gnu.org>
14008
14009 Basic Btrfs support (detection and UUID).
14010
14011 * grub-core/fs/btrfs.c: New file.
14012 * Makefile.util.def (library): Register btrfs.c.
14013 * grub-core/Makefile.core.def: Likewise.
14014
6b8e78ae
RM
140152010-09-08 Robert Millan <rmh@gnu.org>
14016
14017 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14018 with (optional) parameters to specify device and relative path.
14019 * util/grub-install.in: Use is_path_readable_by_grub() to
14020 verify readability of a few critical files.
14021 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14022 verify readability of grub.cfg.new.
14023
27f21a8b
VS
140242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 Split minix.mod into minix.mod and minix2.mod.
14027
14028 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14029 * grub-core/Makefile.core.def (minix2): New module.
14030 * grub-core/fs/minix.c: Use definitions instead of runtime version
14031 checking.
14032 * grub-core/fs/minix2.c: New file.
14033
c0e53ea5
YB
140342010-09-08 Yves Blusseau <blusseau@zetam.org>
14035
14036 Add new --boot-directory option to replace --root-directory
14037
14038 * util/grub-install.in: Add new --boot-directory option
14039 * util/grub-reboot.in: Likewise.
14040 * util/grub-set-default.in: Likewise.
14041
b9fe6ea2
YB
140422010-09-08 Yves Blusseau <blusseau@zetam.org>
14043
14044 * util/grub-mkconfig.in: Use new variable.
14045
d87aedff
YB
140462010-09-08 Yves Blusseau <blusseau@zetam.org>
14047
14048 * configure.ac: Define some useful variables.
14049
e55e8495
VS
140502010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14053 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14054 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14055 Use terminfo and don't use cursor-on/cursor-off unless it's known
14056 to work.
14057 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14058 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14059
6fa6d675
CW
140602010-09-08 Colin Watson <cjwatson@ubuntu.com>
14061
14062 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14063 starts with "(,", fill the drive containing the loaded image in
14064 between those two characters, but expect that a full partition
14065 specification including partition map names will follow.
14066
92f2aef0
RM
140672010-09-08 Robert Millan <rmh@gnu.org>
14068
14069 * configure.ac: Remove `--enable-grub-fstest' option.
14070 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14071
14072 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14073 `grub-fstest' instead of `grub-probe' for readability verification.
14074 * util/grub-probe.c (probe): Remove readability verification kludge.
14075
99fd620d
RM
140762010-09-08 Robert Millan <rmh@gnu.org>
14077
14078 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14079 initializing `GRUB_FS'.
14080
058e30ac 140812010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14082
14083 Not command (!) support to GRUB script.
14084
14085 * tests/grub_script_not.in: New test.
14086 * Makefile.util.def: Rules for new test.
14087
14088 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14089 ! command as a special case.
14090 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14091
b61d05ed 140922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14093
058e30ac 14094 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14095 grub_free.
b61d05ed 14096
4d69c786 140972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14098
14099 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14100
aa3119c4 141012010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14102
14103 * docs/grub.texi (Shell-like scripting): Documentation for break,
14104 continue, shift and return commands.
14105
db0f7e3d
VS
141062010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 Rename CD-ROM to cd on BIOS.
14109
14110 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14111 "cd".
14112 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14113
88b87c93
VS
141142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14117 * util/grub-probe.c (main): Likewise.
14118 * util/i386/pc/grub-setup.c (main): Likewise.
14119 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14120 Reported and debugged by: alexxy
14121
294f324d
VS
141222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14125 diagnostic info.
14126
d7ee3441
JS
141272010-09-05 Jo Shields <directhex@apebox.org>
14128
14129 * util/grub.d/30_os-prober.in: Add missing classes.
14130
d7e06c1f
VS
141312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * docs/grub.texi (Theme file format): Document new position format.
14134
fc157e53
VS
141352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14138 a table. Use @code instead of @verbatim.
14139
506e9a1c
CB
141402010-09-05 Colin D Bennett <colin@gibibit.com>
14141
14142 Gfxmenu documentation.
14143
14144 * docs/grub.texi (Theme file format): New chapter.
14145
f0aff67c
SJ
141462010-09-05 Szymon Janc <szymon@janc.net.pl>
14147
14148 * grub-core/Makefile.core.def (xzio): New module.
14149 * grub-core/io/xzio.c: New file.
14150 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14151 * grub-core/lib/xzembed/xz_config.h: Likewise.
14152 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14153 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14154 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14155 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14156 * grub-core/lib/xzembed/xz_private.h: Likewise.
14157 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14158 * include/grub/file.h (grub_file_filter_id): New compression filter
14159 GRUB_FILE_FILTER_XZIO.
14160
82a85062
VS
141612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14164 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14165 size.
14166
3579415d
VS
141672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14170 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14171
5124ae6d
VS
141722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 Uncompressed checksum support.
14175
14176 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14177 (check_list): New parameter uncompress.
14178 (grub_cmd_hashsum): Handle --uncompress.
14179
9aadb3d1
VS
141802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 Reintroduce testload.
14183
14184 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14185 from here ...
14186 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14187 (GRUB_MOD_INIT): New function.
14188 (GRUB_MOD_FINI): Likewise.
14189 * grub-core/Makefile.core.def (testload): New module.
14190
a17792c3
SJ
141912010-09-05 Szymon Janc <szymon@janc.net.pl>
14192
14193 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14194 (uint8_t): New type.
14195 (uint16_t): Likewise.
14196 (uint32_t): Likewise.
14197 (uint64_t): Likewise.
14198
b81e40a3
SJ
141992010-09-05 Szymon Janc <szymon@janc.net.pl>
14200
14201 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14202
fc2ef117
VS
142032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14206 Made static.
14207 (grub_gzfile_open): Removed. All users updated.
14208 (GRUB_MOD_INIT): New function.
14209 (GRUB_MOD_FINI): Likewise.
14210 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14211 (grub_file_filters_enabled): Likewise.
14212 (grub_file_open): Handle filters.
14213 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14214 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14215 * include/grub/file.h (grub_file_filter_id_t): New type.
14216 (grub_file_filter_t): Likewise.
14217 (grub_file_filters_all): New extern variable.
14218 (grub_file_filters_enabled): Likewise.
14219 (grub_file_filter_register): New inline function.
14220 (grub_file_filter_unregister): Likewise.
14221 (grub_file_filter_disable): Likewise.
14222 (grub_file_filter_disable_compression): Likewise.
14223 * include/grub/gzio.h: Removed.
14224
35ee15e0
BC
142252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14226
14227 Filename expansion support for wildcards in GRUB script.
14228
14229 * tests/grub_script_expansion.in: New test.
14230 * Makefile.util.def: Rule for new test.
14231
14232 * grub-core/commands/wildcard.c: New file, implements filename
14233 expansion support for GRUB script.
14234 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14235 * grub-core/script/argv.c: Cosmetic changes.
14236 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14237 Refactored to perform wildcard expansion on arguments.
14238 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14239 struct.
14240
14241 * tests/util/grub-shell.in: Fix quoting for read input.
14242
5f0c4aca
BC
142432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14244
14245 Support for updating environment variables with matched substrings
14246 of regexp.
14247
14248 * tests/grub_cmd_regexp.in: New test.
14249 * Makefile.util.def: Rule for new test.
14250
14251 * grub-core/commands/regexp.c: New option -s to update environment
14252 variables with regexp matches.
14253
3759a35f
SJ
142542010-09-04 Szymon Janc <szymon@janc.net.pl>
14255
14256 * include/grub/file.h (grub_file): New member not_easly_seekable.
14257 (grub_file_seekable): New inline function.
14258 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14259 easily seekable.
14260 (grub_gzio_open): Set not_easly_seekable.
14261 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14262 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14263
ed8c6dec
BC
142642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14265
14266 Support for options to appear multiple times on cmdline.
14267
14268 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14269 * grub-core/commands/extcmd.c: Support for repeatable option.
14270 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14271 repeatable option support.
14272
14273 Refactor menuentry into a regular command.
14274
14275 * grub-core/commands/menuentry.c: New file, menuentry command
14276 implementation.
14277 * grub-core/Makefile.core.def: Rule update for normal.mod.
14278 * grub-core/normal/main.c: Moved menuentry creation to
14279 grub-core/commands/menuentry.c.
14280 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14281 (grub_menu_execute_entry_real): Removed.
14282 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14283 function.
14284 (grub_script_execute_menuentry): Removed.
14285 * grub-core/script/parser.y (menuentry): Removed.
14286 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14287 * grub-core/script/yylex.l (menuentry): Removed.
14288 * include/grub/menu.h (grub_menu_init): New prototype.
14289 (grub_menu_fini): New prototype.
14290 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14291 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14292 (grub_script_execute_sourcecode): New prototype.
14293
dacd0cf0
BC
142942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14295
14296 "return" command for GRUB script functions.
14297
14298 * tests/grub_script_return.in: New test.
14299 * Makefile.util.def: Rules for new test.
14300
14301 * grub-core/script/execute.c (grub_script_return): New function.
14302 * grub-core/script/main.c: Register/unregister return commaond.
14303 * include/grub/script_sh.h (grub_script_return): New prototype.
14304
52e72f9d
BC
143052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14306
14307 "setparams" command to update positional parameters.
14308
14309 * tests/grub_script_setparams.in: New test.
14310 * Makefile.util.def: Rules for new test.
14311
14312 * grub-core/script/argv.c (grub_script_argv_make): New function.
14313 * grub-core/script/execute.c (replace_scope): New function.
14314 (grub_script_setparams): New function.
14315 * grub-core/script/lexer.c: Remove unused variables.
14316 * grub-core/script/main.c: Register/unregister setparams command.
14317 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14318 (grub_script_setparams): New prototype.
14319
25b60c91
BC
143202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14321
14322 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14323 grub_free order.
14324
37e7bf68
BC
143252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14326
14327 Support for passing block of commands as an argument to extcmds.
14328
14329 * Makefile.util.def: Rules for new test.
14330 * tests/grub_script_blockarg.in: New test.
14331 * grub-core/tests/test_blockarg.c: New file, block argument
14332 command used in the test.
14333
14334 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14335 (grub_register_extcmd_prio): New function prototype.
14336 (grub_extcmd_dispatcher): New function prototype.
14337 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14338 type.
14339 * include/grub/script_sh.h (struct grub_script): New members
14340 `children', `next_siblings' and `refcnt' for block arguments and
14341 reference counting.
14342 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14343 (grub_script_arg): New member `script' for block argument.
14344 (grub_script_argv): New member `script' for block argument.
14345 (grub_parser_param): New member `scripts' for block argument.
14346 (grub_script_mem_free): New extern function prototype.
14347 (grub_script_ref): New function prototype.
14348 (grub_script_unref): New function prototype.
14349
14350 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14351 extcmd form to support block arguments.
14352 * grub-core/script/argv.c: Block arguments support.
14353 * grub-core/script/execute.c: Likewise.
14354 * grub-core/script/lexer.c: Likewise.
14355 * grub-core/script/main.c: Likewise.
14356 * grub-core/script/script.c: Likewise.
14357 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14358 non-terminals.
14359
14360 * grub-core/commands/acpi.c: Update extcmd implementations with
14361 grub_extcmd_context_t.
14362 * grub-core/commands/cat.c: Likewise.
14363 * grub-core/commands/echo.c: Likewise.
14364 * grub-core/commands/extcmd.c: Likewise.
14365 * grub-core/commands/hashsum.c: Likewise.
14366 * grub-core/commands/hdparm.c: Likewise.
14367 * grub-core/commands/help.c: Likewise.
14368 * grub-core/commands/hexdump.c: Likewise.
14369 * grub-core/commands/i386/cpuid.c: Likewise.
14370 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14371 * grub-core/commands/i386/pc/halt.c: Likewise.
14372 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14373 * grub-core/commands/iorw.c: Likewise.
14374 * grub-core/commands/keystatus.c: Likewise.
14375 * grub-core/commands/loadenv.c: Likewise.
14376 * grub-core/commands/ls.c: Likewise.
14377 * grub-core/commands/lspci.c: Likewise.
14378 * grub-core/commands/memrw.c: Likewise.
14379 * grub-core/commands/probe.c: Likewise.
14380 * grub-core/commands/search_wrap.c: Likewise.
14381 * grub-core/commands/setpci.c: Likewise.
14382 * grub-core/commands/sleep.c: Likewise.
14383 * grub-core/disk/loopback.c: Likewise.
14384 * grub-core/hello/hello.c: Likewise.
14385 * grub-core/loader/i386/bsd.c: Likewise.
14386 * grub-core/loader/xnu.c: Likewise.
14387 * grub-core/term/gfxterm.c: Likewise.
14388 * grub-core/term/serial.c: Likewise.
14389 * grub-core/tests/lib/functional_test.c: Likewise.
14390
888d1500
BC
143912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14392
14393 Multi-line quoted strings support.
14394
14395 * grub-core/script/lexer.c (append_newline): Removed.
14396 (grub_script_lexer_yywrap): Refactored.
14397 (grub_script_lexer_init): Refactored.
14398 * grub-core/script/yylex.l (yywrap): New function.
14399 (grub_lexer_resplit): New function.
14400 (grub_lexer_unput): New function.
14401 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14402 and resplit.
14403 * tests/grub_script_echo1.in: Added few more testcases.
14404
dda060dd
VS
144052010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/kern/misc.c: Don't add abort alias in utils.
14408 Reported by: echoline.
14409
6556eba9
BC
144102010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14411
14412 Add missing files into "make dist" tarball for other platforms.
14413
14414 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14415 * conf/Makefile.common (dist_noinst_DATA): New variable.
14416 * conf/Makefile.extra-dist: Added missing make dist files.
14417 * grub-core/Makefile.core.def: Likewise.
14418
c8e7bf5f
VS
144192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 Compress grub_prefix.
14422
14423 * grub-core/boot/i386/pc/lnxboot.S: Use
14424 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14425 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14426 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14427 GRUB_MACHINE_PREFIX_END. All users updated.
14428 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14429 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14430 + 0x40.
14431 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14432 * util/grub-mkimage.c (image_target_desc): Change data_end to
14433 prefix_end. All users updated.
14434
a7c00cdb
VS
144352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14438 value.
14439 (grub_openbsd_boot): Likewise.
14440 (grub_netbsd_boot): Likewise.
14441 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14442 (grub_xnu_boot): Likewise.
14443
9f915872
VS
144442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * configure.ac: Clean LIBS variable after tests.
14447
efa1bee7
CW
144482010-09-02 Colin Watson <cjwatson@ubuntu.com>
14449
14450 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14451
61d720e5
VS
144522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14455 echo if libdevmapper will be used.
14456
ef8e0ec8
IT
144572010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14458
14459 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14460 constant for the same file.
14461
03e261d8
VS
144622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14465
c2a4eba6
CW
144662010-09-02 Colin Watson <cjwatson@ubuntu.com>
14467
14468 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14469 grub-core/*.pp.
14470
9056cbf3
CW
144712010-09-02 Colin Watson <cjwatson@ubuntu.com>
14472
14473 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14474 required by the boot protocol.
14475
14476 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14477 ebp and edi members.
14478 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14479 state.ebp and state.edi.
14480 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14481 %ebp and %edi according to grub_relocator32_ebp and
14482 grub_relocator32_edi respectively.
14483 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14484 and state.edi.
14485
529cc99a
VS
144862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 Add i386-pc-pxe image target.
14489
14490 * util/grub-mkimage.c (image_target_desc): New enum value
14491 IMAGE_I386_PC_PXE.
14492 (image_targets): New target i386-pc-pxe.
14493 (generate_image): Handle i386-pc-pxe image.
14494
9a093920
VS
144952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 Fix grub_pxe_scan.
14498
14499 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14500 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14501 All users updated.
14502 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14503 (grub_pxe_pxenv): Correct type.
14504
f9cefc4e
CW
145052010-09-01 Colin Watson <cjwatson@ubuntu.com>
14506
14507 * NEWS: Document most of the important changes since 1.98.
14508
4066f57f
CW
145092010-09-01 Colin Watson <cjwatson@ubuntu.com>
14510
14511 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14512 generated manual page) a little.
14513
da2891f9
CW
145142010-09-01 Colin Watson <cjwatson@ubuntu.com>
14515
14516 * docs/grub.texi: Add myself as an author.
14517
ad717fae
VS
145182010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * Makefile.util.def (libgrub.a): Add missing sunpc.
14521 Reported by: Seth Goldberg.
14522
eefe8abd
VS
145232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 Interrupt wrapping and code simplifications.
14526
9494ef9a
VS
14527 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14528 x86_noieee1275 which are functionaly equivalent in this case.
14529 (grub-install): Make source on each platform explicit. Enable on
14530 all noemu.
14531 * gentpl.py (x86_efi_pc): Removed group.
14532 (x86_noefi): Likewise.
14533 (i386_noefi): Likewise.
14534 (x86_noieee1275): Likewise.
14535 (i386_noieee1275): Likewise.
14536 (i386_noefi_noieee1275): Likewise.
14537 (i386_pc_qemu_coreboot): Likewise.
14538 (i386_coreboot_multiboot): Likewise.
14539 (i386_pc_coreboot_multiboot_qemu): Likewise.
14540 (x86_noefi_mips): Likewise.
14541 (noieee1275): Likewise.
14542 (ieee1275_mips): Likewise.
14543 (noemu_noieee1275): Likewise.
14544 (cmos): New group.
14545 (usb): Likewise.
14546 (videoinkernel): Likewise.
14547 (videomodules): Likewise.
eefe8abd 14548 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14549 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14550 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14551 include/grub/loader.h, include/grub/msdos_partition.h,
14552 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14553 include/grub/machine/console.h, include/grub/machine/vga.h,
14554 include/grub/machine/vbe.h, include/grub/machine/init.h,
14555 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14556 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14557 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14558 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14559 * grub-core/Makefile.core.def (kernel): Explicit the source for
14560 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14561 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14562 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14563 Use videoinkernel tag.
14564 (usb): Enable on all usb.
14565 (usbserial_common): Likewise.
14566 (usbserial_pl2303): Likewise.
14567 (usbserial_ftdi): Likewise.
14568 (uhci): Enable on all x86.
14569 (ohci): Enable on all pci.
14570 (cmostest): Enable on all CMOS.
14571 (acpi): Include commands/acpi.c on all platforms.
14572 (halt): Add relevant lib/*/halt.c.
14573 (hdparm): Enable on all pci.
14574 (lspci): Likewise.
14575 (usbtest): Enable on all usb.
14576 (ata): Enable on all pci.
14577 (ata_pthru): Likewise.
14578 (usbms): Enable on all usb.
14579 (usb_keyboard): Likewise.
14580 (font): Use tag videomodules.
14581 (bufio): Likewise.
14582 (datetime): Use tag cmos. Enable on all noemu.
14583 (mmap): Use tags common and x86.
14584 (gfxterm): Use tag videomodules.
14585 (bitmap): Likewise.
14586 (bitmap_scale): Likewise.
14587 (video_fb): Likewise.
14588 (video): Likewise.
14589 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14590 adjust padding accordingly. All users updated.
14591 (grub_ohci_transaction): Fix bad format specification.
14592 (GRUB_MOD_INIT): Add asserts for struct size.
14593 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14594 (grub_alloc_td): Likewise.
14595 (grub_free_queue): Likewise.
14596 (grub_uhci_transfer): Likewise.
14597 (grub_uhci_transaction): Fix bad format specification.
14598 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14599 (grub_usb_bulk_readwrite): Likewise.
14600 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14601 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14602 Made static.
14603 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14604 Made static.
14605 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14606 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14607 Transformed into C.
14608 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14609 Moved from here ...
14610 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14611 ... here. Transformed into C. Made static.
14612 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14613 Moved from here ...
14614 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14615 ... here. Transformed into C. Made static.
14616 * grub-core/kern/i386/pc/startup.S
14617 (grub_biosdisk_check_int13_extensions): Moved from here ...
14618 * grub-core/disk/i386/pc/biosdisk.c
14619 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14620 Made static.
14621 * grub-core/kern/i386/pc/startup.S
14622 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14623 * grub-core/disk/i386/pc/biosdisk.c
14624 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14625 Transformed into C. Made static.
14626 * grub-core/kern/i386/pc/startup.S
14627 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14628 * grub-core/disk/i386/pc/biosdisk.c
14629 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14630 Transformed into C. Made static.
14631 * grub-core/kern/i386/pc/startup.S
14632 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14633 * grub-core/disk/i386/pc/biosdisk.c
14634 (grub_biosdisk_get_diskinfo_standard): ... here.
14635 Transformed into C. Made static.
14636 * grub-core/kern/i386/pc/startup.S
14637 (grub_biosdisk_get_num_floppies): Moved from here ...
14638 * grub-core/disk/i386/pc/biosdisk.c
14639 (grub_biosdisk_get_num_floppies): ... here.
14640 Transformed into C. Made static.
14641 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14642 New function.
14643 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14644 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14645 Transformed into C. Made static.
14646 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14647 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14648 Transformed into C. Made static.
14649 * grub-core/kern/i386/ieee1275/init.c: Removed.
14650 * grub-core/kern/i386/misc.S: Likewise.
14651 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14652 Splitted from here ...
14653 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14654 Transformed into C. Made static. All users updated.
14655 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14656 Transformed into C. Made static. All users updated.
14657 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14658 Moved from here...
14659 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14660 Transformed into C. Made static. All users updated.
14661 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14662 Moved from here...
14663 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14664 Transformed into C. Made static. All users updated.
14665 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14666 Removed (replaced by C version).
14667 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14668 Moved from here...
14669 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14670 Transformed into C. Made static.
14671 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14672 Moved from here...
14673 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14674 ... here. Transformed into C.
14675 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14676 Moved from here...
14677 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14678 ... here. Transformed into C.
14679 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14680 Moved from here...
14681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14682 ... here. Transformed into C. Made static.
14683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14684 Moved from here...
14685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14686 ... here. Transformed into C.
21ed554b
VS
14687 * grub-core/kern/i386/pc/startup.S
14688 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14689 * grub-core/video/i386/pc/vbe.c
14690 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14691 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14692 Moved from here...
14693 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14694 ... here. Transformed into C.
14695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14696 Moved from here...
14697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14698 ... here. Transformed into C.
14699 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14700 Moved from here...
14701 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14702 ... here. Transformed into C.
14703 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14704 Moved from here...
14705 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14706 ... here. Transformed into C.
14707 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14708 Moved from here...
14709 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14710 ... here. Transformed into C. Made static.
14711 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14712 Moved from here...
14713 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14714 ... here. Transformed into C. Made static.
14715 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14716 Moved from here...
14717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14718 ... here. Transformed into C. Made static.
14719 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14720 pxe_rm_entry as third argument.
14721 (grub_bios_interrupt): New function.
14722 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14723 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14724 of calling grub_stop.
14725 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14726 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14727 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14728 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14729 * grub-core/lib/i386/halt.c: Moved from here ...
14730 * grub-core/lib/i386/halt.c: ... here.
14731 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14732 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14733 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14734 grub_stop_floppy.
14735 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14736 * include/grub/i386/coreboot/init.h: Removed.
14737 * include/grub/i386/multiboot/init.h: Likewise.
14738 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14739 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14740 * include/grub/i386/pc/int.h: New file.
14741 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14742 (grub_pxe_scan): Removed.
14743 (grub_pxe_call): Update prototype.
14744 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14745 prototypes.
14746 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14747 * include/grub/i386/qemu/init.h: Removed.
14748 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14749 noreturn.
14750 (grub_halt): Likewise.
14751 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14752 (grub_reboot): Likewise.
14753 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14754 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14755 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14756
215dd471
RM
147572010-08-30 Robert Millan <rmh@gnu.org>
14758
14759 * NEWS: Document addition of ZFS support in `grub-install' and
14760 `grub-mkconfig'.
14761
ebd65b82
BC
147622010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14763
14764 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14765 dprintf output.
14766
11721d19
VS
147672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 Remove leftover embedding of font objects.
14770
14771 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14772 * util/grub-install.in (font): Removed.
14773 * util/grub-mkimage.c (generate_image): Remove font support. All users
14774 updated.
14775
37837d4e
VS
147762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 Remove leftover embedding of font objects.
14779
14780 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14781 * util/grub-install.in (font): Removed.
14782 * util/grub-mkimage.c (generate_image): Remove font support. All users
14783 updated.
14784
b4c1aae0
VS
147852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14788 Reported by: Ian Turner
b4c1aae0 14789
8920a08d
VS
147902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14793 timeout to avoid indefinite boot stalling.
14794
f21db033
VS
147952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14798 (grub_env_write_color_highlight): Likewise.
14799
9a9de209
VS
148002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 * grub-core/normal/term.c (print_more): Return to normal and not
14803 to standard state after printing "---MORE---".
14804
3dca01d7
VS
148052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14808 Mask out the bit 0x80 since it has other meaning that specifiing color.
14809
0b986c40
VS
148102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 New relocator. Allows for more kernel support and more straightforward
14813 loader writing.
14814
14815 * Makefile.am (BOOTTARGET): New variable.
14816 (QEMU32): Likewise.
14817 (linux.init.x86_64): New target.
14818 (linux.init.i386): Likewise.
14819 (multiboot.elf): Likewise.
14820 (kfreebsd.elf): Likewise.
14821 (kfreebsd.aout): Likewise.
14822 (pc-chainloader.elf): Likewise.
14823 (pc-chainloader.bin): Likewise.
14824 (ntldr.elf): Likewise.
14825 (ntldr.bin): Likewise.
14826 (multiboot2.elf): Likewise.
14827 (kfreebsd.init.x86_64): Likewise.
14828 (kfreebsd.init.i386): Likewise.
14829 (knetbsd.init.i386): Likewise.
14830 (kopenbsd.init.i386): Likewise.
14831 (knetbsd.init.x86_64): Likewise.
14832 (kopenbsd.init.x86_64): Likewise.
14833 (linux-initramfs.i386): Likewise.
14834 (linux-initramfs.x86_64): Likewise.
14835 (kfreebsd-mfsroot.i386.img): Likewise.
14836 (knetbsd.image.i386): Likewise.
14837 (kopenbsd.image.i386): Likewise.
14838 (kopenbsd.image.x86_64): Likewise.
14839 (knetbsd.miniroot-image.i386.img): Likewise.
14840 (kfreebsd-mfsroot.x86_64.img): Likewise.
14841 (knetbsd.image.x86_64): Likewise.
14842 (knetbsd.miniroot-image.x86_64.img): Likewise.
14843 (kfreebsd-mfsroot.i386.gz): Likewise.
14844 (bootcheck-kfreebsd-i386): Likewise.
14845 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14846 (bootcheck-kfreebsd-x86_64): Likewise.
14847 (knetbsd.miniroot-image.i386.gz): Likewise.
14848 (bootcheck-knetbsd-i386): Likewise.
14849 (bootcheck-kopenbsd-i386): Likewise.
14850 (bootcheck-kopenbsd-x86_64): Likewise.
14851 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14852 (bootcheck-knetbsd-x86_64): Likewise.
14853 (bootcheck-linux-i386): Likewise.
14854 (bootcheck-linux-x86_64): Likewise.
14855 (bootcheck-linux16-i386): Likewise.
14856 (bootcheck-linux16-x86_64): Likewise.
14857 (bootcheck-multiboot): Likewise.
14858 (bootcheck-multiboot2): Likewise.
14859 (bootcheck-kfreebsd-aout): Likewise.
14860 (bootcheck-pc-chainloader): Likewise.
14861 (bootcheck-ntldr): Likewise.
14862 (CLEANFILES): Add new targets.
14863 (BOOTCHECKS): New variable.
14864 (.PHONY): Add bootchecks.
14865 (SUCCESSFUL_BOOT_STRING): New variable.
14866 (BOOTCHECK_TIMEOUT): Likewise.
14867 (bootcheck): New target
14868 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14869 * configure.ac: Correct efiemu excuse.
14870 * docs/grub.texi (Supported kernels): New chapter.
14871 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14872 include/grub/mm_private.h. Simplify inclusion of
14873 include/grub/boot.h, include/grub/loader.h
14874 and include/grub/msdos_partition.h
14875 (KERNEL_HEADER_FILES) [i386_coreboot]:
14876 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14877 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14878 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14879 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14880 include/grub/machine/loader.h.
14881 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14882 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14883 extra_dist.
14884 (pci.mod): Enable on i386-multiboot.
14885 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14886 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14887 i386-qemu.
14888 (relocator.mod): Rewritten.
14889 (aout.mod): Enable on all x86.
14890 (bsd.mod): Likewise.
14891 (ntldr.mod): New module.
14892 (linux.mod): Use loader/i386/linux.c on all x86.
14893 (xnu.mod): Enable on all x86.
14894 (vga_text.mod): disable on EFI and QEMU.
14895 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14896 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14897 * grub-core/efiemu/loadcore.c: Likewise.
14898 * grub-core/efiemu/main.c: Likewise.
14899 (grub_efiemu_exit_boot_services): Removed.
14900 (grub_efiemu_finish_boot_services): Likewise.
14901 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14902 function.
14903 * grub-core/efiemu/i386/nocfgtables.c: New file.
14904 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14905 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14906 (grub_efi_finish_boot_services): Moved from here ...
14907 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14908 Fille finish memory map and related data.
14909 (finish_mmap_buf): New variable.
14910 (grub_efi_uintn_t finish_mmap_size): Likewise.
14911 (grub_efi_uintn_t finish_key): Likewise.
14912 (grub_efi_uintn_t finish_desc_size): Likewise.
14913 (grub_efi_uint32_t finish_desc_version): Likewise.
14914 (grub_efi_is_finished): Likewise.
14915 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14916 finished.
14917 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14918 (grub_elf64_phdr_iterate): Likewise.
14919 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14920 (grub_os_area_size): Likewise.
14921 (grub_machine_init): Don't reserve os area.
14922 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14923 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14924 * grub-core/kern/i386/loader.S: Removed.
14925 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14926 (grub_os_area_size): Likewise.
14927 (grub_machine_init): Don't reserve os area.
14928 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14929 Don't call grub_dl_unload_all.
14930 Don't include loader.S.
14931 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14932 Declare the memory after _end as available.
14933 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14934 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14935 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14936 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14937 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14938 * include/grub/mm_private.h (grub_mm_header): ... here.
14939 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14940 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14941 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14942 (grub_mm_region): ..here. Removed addr. Added pre_size.
14943 All users updated.
14944 * grub-core/kern/mm.c (base): Renamed to ...
14945 (grub_mm_base): ... this. Made global.
14946 (grub_real_malloc): Alloc from end of region.
14947 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14948 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14949 * grub-core/kern/powerpc/cache_flush.S: ... here.
14950 * grub-core/lib/efi/relocator.c: New file.
14951 * grub-core/lib/i386/relocator.c: Rewritten.
14952 * grub-core/lib/i386/relocator16.S: New file.
14953 * grub-core/lib/i386/relocator32.S: Likewise.
14954 * grub-core/lib/i386/relocator64.S: Likewise.
14955 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14956 * grub-core/lib/i386/relocator_common.S: New file.
14957 * grub-core/lib/ieee1275/relocator.c: Likewise.
14958 * grub-core/lib/mips/relocator.c: Rewritten.
14959 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14960 stylistic adjustments.
14961 * grub-core/lib/powerpc/relocator.c: New file.
14962 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14963 * grub-core/lib/relocator.c: Rewritten.
14964 * grub-core/lib/x86_64/relocator_asm.S: New file.
14965 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14966 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14967 (bsd_tag): New struct.
14968 (tags): New variable.
14969 (tags_last): Likewise.
14970 (netbsd_module): New struct.
14971 (netbsd_mods): New variable.
14972 (netbsd_mods_last): Likewise.
14973 (openbsd_opts): New parameter "serial".
14974 (OPENBSD_SERIAL_ARG): New definition.
14975 (netbsd_opts): New parameter "serial".
14976 (NETBSD_SERIAL_ARG): New definition.
14977 (grub_freebsd_add_meta): Reorganised into ...
14978 (grub_bsd_add_meta): ...this. All users updated.
14979 (grub_freebsd_add_mmap): Reorganised into ...
14980 (generate_e820_mmap): ...this...
14981 (grub_bsd_add_mmap): ...and this. All users updated.
14982 (grub_freebsd_list_modules): Use tags.
14983 (grub_netbsd_add_meta_module): New function.
14984 (grub_netbsd_list_modules): Likewise.
14985 (grub_freebsd_boot): Use relocator and finish EFI.
14986 (grub_openbsd_boot): Likewise.
14987 (grub_netbsd_setup_video): New function.
14988 (grub_netbsd_add_modules): Likewise.
14989 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14990 and finish EFI.
14991 (grub_bsd_unload): Unload tags.
14992 (grub_bsd_load_aout): Use relocator.
14993 (grub_bsd_elf32_size_hook): New function.
14994 (grub_bsd_elf32_hook): Use relocator.
14995 (grub_bsd_elf64_size_hook): New function.
14996 (grub_bsd_elf64_hook): Use relocator.
14997 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14998 (grub_bsd_load): Zero-out openbsd_ramdisk.
14999 (grub_bsd_load): Use relocator.
15000 (grub_cmd_openbsd): Support serial.
15001 (grub_cmd_netbsd): Support modules.
15002 (grub_cmd_freebsd_module): Use relocator.
15003 (grub_netbsd_module_load): New function.
15004 (grub_cmd_netbsd_module): Likewise.
15005 (grub_cmd_openbsd_ramdisk): Likewise.
15006 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15007 kopenbsd_ramdisk.
15008 (GRUB_MOD_FINI): Unregister new commands.
15009 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15010 (grub_freebsd_load_elfmodule_obj): Use relocator.
15011 (grub_freebsd_load_elfmodule): Likewise.
15012 (grub_freebsd_load_elf_meta): Likewise.
15013 (grub_netbsd_load_elf_meta): New function.
15014 (grub_openbsd_find_ramdisk): Likewise.
15015 * grub-core/loader/i386/bsd_helper.S: Removed.
15016 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15017 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15018 * grub-core/loader/i386/efi/linux.c: Likewise.
15019 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15020 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15021 (DEFAULT_VIDEO_MODE): Likewise.
15022 (real_mode_target): New variable.
15023 (prot_mode_target): Likewise.
15024 (initrd_mem_target): Likewise.
15025 (relocator): Likewise.
15026 (efi_mmap_buf): Likewise.
15027 (efi_mmap_size): Likewise.
15028 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15029 (free_pages): Use relocator.
15030 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15031 (grub_linux_setup_video): Return error.
15032 (grub_linux_trampoline_start): Removed.
15033 (grub_linux_trampoline_end): Likewise.
15034 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15035 andd video parameters depending on firmware.
15036 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15037 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15038 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15039 (grub_cmd_initrd): Use relocator.
15040 * grub-core/loader/i386/linux_trampoline.S: Removed.
15041 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15042 (elf_sec_entsize): Likewise.
15043 (elf_sec_shstrndx): Likewise.
15044 (elf_sections): Likewise.
15045 (grub_multiboot_load): Use relocator.
15046 (grub_multiboot_get_mbi_size): Account for sections.
15047 (grub_multiboot_make_mbi): Use relocator and support sections.
15048 (grub_multiboot_add_elfsyms): New function.
15049 (grub_multiboot_free_mbi): Free sections.
15050 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15051 (grub_linux_real_target): Likewise.
15052 (grub_linux_real_chunk): Likewise.
15053 (grub_linux16_prot_size): Likewise.
15054 (grub_linux16_boot): Use relocator.
15055 (grub_linux_unload): Unload relocator.
15056 (grub_cmd_linux): Use relocator.
15057 (grub_cmd_initrd): Likewise.
15058 * grub-core/loader/i386/pc/ntldr.c: New file.
15059 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15060 Don't try to guess CPU frequency.
15061 (grub_xnu_set_video): Stretch bitmap.
15062 (grub_xnu_boot): Use relocator.
15063 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15064 (grub_linux_unload): Free relocator.
15065 (grub_linux_load32): Use relocator.
15066 (grub_linux_load64): Likewise.
15067 (grub_cmd_initrd): Likewise.
15068 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15069 (grub_multiboot_unload): Unload relocator.
15070 (grub_cmd_multiboot): Use relocator.
15071 (grub_cmd_module): Likewise.
15072 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15073 Use relocator and support sections.
15074 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15075 (elf_sec_entsize): Likewise.
15076 (elf_sec_shstrndx): Likewise.
15077 (elf_sections): Likewise.
15078 (grub_multiboot_load): Use relocator.
15079 (grub_multiboot_get_mbi_size): Account for sections.
15080 (grub_multiboot_make_mbi): Use relocator and support sections.
15081 (grub_multiboot_add_elfsyms): New function.
15082 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15083 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15084 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15085 Prototype changed. All users updated.
15086 (grub_xnu_align_heap): Simplified.
15087 (grub_xnu_writetree_toheap): Likewise.
15088 (grub_xnu_unload): Unload relocator.
15089 (grub_cmd_xnu_kernel): Use relocator.
15090 (grub_cmd_xnu_kernel64): Likewise.
15091 (grub_xnu_register_memory): Simplified.
15092 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15093 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15094 EFI is finished.
15095 (grub_console_checkkey): Likewise.
15096 (grub_console_getkey): Likewise.
15097 (grub_console_getwh): Likewise.
15098 (grub_console_getxy): Likewise.
15099 (grub_console_gotoxy): Likewise.
15100 (grub_console_cls): Likewise.
15101 (grub_console_setcolorstate): Likewise.
15102 (grub_console_setcursor): Likewise.
15103 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15104 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15105 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15106 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15107 * grub-core/tests/boot/kernel-8086.S: Likewise.
15108 * grub-core/tests/boot/kernel-i386.S: Likewise.
15109 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15110 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15111 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15112 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15113 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15114 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15115 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15116 * grub-core/tests/boot/linux.cfg: Likewise.
15117 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15118 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15119 * grub-core/tests/boot/linux16.cfg: Likewise.
15120 * grub-core/tests/boot/multiboot.cfg: Likewise.
15121 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15122 * grub-core/tests/boot/ntldr.cfg: Likewise.
15123 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15124 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15125 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15126 New definition.
15127 * include/grub/dl.h (grub_dl_unload_all): Removed.
15128 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15129 (grub_efi_finish_boot_services): Change prototype.
15130 (grub_efi_is_finished): New variable.
15131 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15132 Changed prototype.
15133 (grub_efiemu_finish_boot_services): Removed.
15134 (grub_machine_efiemu_init_tables): New prototype.
15135 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15136 (grub_elf64_phdr_iterate): Likewise.
15137 * include/grub/i386/bsd.h: Include relocator.h.
15138 (freebsd_tag_header): New struct.
15139 (grub_openbsd_bios_mmap): Removed.
15140 (grub_unix_real_boot): Removed.
15141 (grub_freebsd_load_elfmodule32): Changed prototype.
15142 (grub_freebsd_load_elfmodule_obj64): Likewise.
15143 (grub_freebsd_load_elf_meta32): Likewise.
15144 (grub_freebsd_load_elf_meta64): Likewise.
15145 (grub_freebsd_add_meta): Removed.
15146 (grub_netbsd_load_elf_meta32): New prototype.
15147 (grub_netbsd_load_elf_meta64): Likewise.
15148 (grub_bsd_add_meta): Likewise.
15149 (grub_openbsd_ramdisk_descriptor): New struct.
15150 (grub_openbsd_find_ramdisk32): New prototype.
15151 (grub_openbsd_find_ramdisk64): Likewise.
15152 * include/grub/i386/coreboot/loader.h: Removed.
15153 * include/grub/i386/efi/loader.h: Likewise.
15154 * include/grub/i386/ieee1275/loader.h: Likewise.
15155 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15156 to grub_uint32_t.
15157 * include/grub/i386/loader.h: Removed.
15158 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15159 value.
15160 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15161 (grub_phys_addr_t): New type.
15162 (grub_vtop): New inline function.
15163 (grub_map_memory): Likewise.
15164 (grub_unmap_memory): Likewise.
15165 * include/grub/i386/multiboot/loader.h: Removed.
15166 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15167 (NETBSD_BTINFO_CONSOLE): New definition.
15168 (NETBSD_BTINFO_SYMTAB): Likewise.
15169 (NETBSD_BTINFO_MODULES): Likewise.
15170 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15171 (grub_netbsd_bootinfo): New struct.
15172 (grub_netbsd_btinfo_common): Use explicit bitsize.
15173 (grub_netbsd_btinfo_mmap_entry): Removed.
15174 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15175 (grub_netbsd_btinfo_bootdisk): New struct.
15176 (grub_netbsd_btinfo_symtab): Likewise.
15177 (grub_netbsd_btinfo_serial): Likewise.
15178 (grub_netbsd_btinfo_modules): Likewise.
15179 (grub_netbsd_btinfo_framebuf): Likewise.
15180 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15181 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15182 Likewise.
15183 (grub_openbsd_bootargs): Use explicit bitsize.
15184 (grub_openbsd_bootarg_console): New struct.
15185 (GRUB_OPENBSD_COM_MAJOR): New definition.
15186 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15187 * include/grub/i386/pc/efiemu.h: Removed.
15188 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15189 * include/grub/i386/qemu/loader.h: Removed.
15190 * include/grub/i386/relocator.h: Rewritten.
15191 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15192 * include/grub/mips/memory.h: New file.
15193 * include/grub/mips/multiboot.h: Rewritten.
15194 * include/grub/mips/relocator.h: Rewritten.
15195 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15196 (grub_vtop): New function.
15197 (grub_map_memory): Likewise.
15198 (grub_unmap_memory): Likewise.
15199 * include/grub/misc.h (ALIGN_DOWN): New definition.
15200 * include/grub/mm.h (grub_mm_check_real): New proto.
15201 (GRUB_MM_CHECK): New definition.
15202 * include/grub/mm_private.h: New file.
15203 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15204 (grub_multiboot_get_mbi_size): Removed.
15205 (grub_multiboot_make_mbi): Change prottype.
15206 (grub_multiboot_set_accepts_video): New proto.
15207 (grub_multiboot_add_elfsyms): Likewise.
15208 (grub_multiboot_payload_eip): New variable.
15209 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15210 New prototype.
15211 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15212 New definition.
15213 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15214 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15215 * include/grub/powerpc/ieee1275/loader.h: Removed.
15216 * include/grub/powerpc/memory.h: New file.
15217 * include/grub/powerpc/relocator.h: Likewise.
15218 * include/grub/relocator.h: Likewise.
15219 * include/grub/relocator_private.h: Likewise.
15220 * include/grub/sparc64/ieee1275/loader.h: Removed.
15221 * include/grub/x86_64/memory.h: New file.
15222 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15223 (grub_xnu_heap_malloc): Likewise.
15224 (grub_xnu_heap_real_start): Removed.
15225 (grub_xnu_heap_start): Likewise.
15226 (grub_xnu_relocator): New variable.
15227 (grub_xnu_heap_target_start): Likewise.
15228 * tests/util/grub-shell.in: Support non-pc.
15229 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15230
5303b85d
VS
152312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15234 on malloc error.
15235 (grub_bidi_logical_to_visual): Check that malloc succeded.
15236 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15237 puts.
15238 (grub_xputs_normal): Likewise.
15239
d768d159
VS
152402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15243 extra_dist.
15244
152452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15248
5bf84df4
VS
152492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15252
3626810e
VS
152532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15256 dprintf.
15257
a7363f53
BC
152582010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15259
15260 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15261
902f75f6
VS
152622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * grub-core/normal/term.c (print_more): Fix a memory leak.
15265 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15266 (grub_xputs_normal): Likewise.
15267
3c707967
VS
152682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15271 the begining of the string
15272
2053cc07
VS
152732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * grub-core/script/script.c (grub_script_parse): Free parsed on
15276 failure.
15277
46422ebf
VS
152782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15281 on failure.
15282
9e0fa3f6
VS
152832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15286 return.
15287
3393cf16
VS
152882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15291 (scroll_up): Fix a memory leak.
15292
b17540cb
VS
152932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15296 errors.
15297
67140446
VS
152982010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 Handle USB pendrives exposed as floppies.
15301
15302 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15303 floppy.
15304 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15305 Check for partitions on all devices.
15306
e35e46fc
VS
153072010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15310 (readkey): Likewise.
15311
d24c6190
BC
153122010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15313
15314 Multiple variable names support to "export" command.
15315
15316 * normal/context.c (grub_cmd_export): "export" command supports
15317 multiple variable names.
15318
04ddcc6a
ST
153192010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15320
15321 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15322 --target=drive output to Mach device name.
15323
0c8b61d8
BC
153242010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15325
15326 New Automake based build system for GRUB.
15327
15328 * ABOUT-NLS: New file.
15329 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15330 in Makefile.util.def file.
15331 * Makefile.util.def: New file. Autogen build definitions file for
15332 GRUB host utils.
15333 * conf/Makefile.common: New file. Common variables for GRUB host
15334 utils and target modules.
15335 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15336 * docs/Makefile.am: New file. Automake file for docs.
15337 * gentpl.py: New file. Python script to generate Autogen
15338 template.
15339 * grub-core/Makefile.am: New file. GRUB target modules' rules
15340 that doesn't fit in Makefile.core.def file.
15341 * grub-core/Makefile.core.def: New file. Autogen build
15342 definitions file for GRUB target modules.
15343 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15344 specific setjmp.S file.
15345 * po/Makefile.am: New file.
15346
15347 * .bzrignore: New ignores.
15348 * INSTALL: New requirements, without Ruby.
15349 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15350 * autogen.sh: Updated to invoke autogen as necessary.
15351 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15352 and defines for Automake conditionals.
15353 * geninit.sh: Refactoring.
15354
15355 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15356 necessary.
15357 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15358 New prototype.
15359
15360 * include/grub/test.h: Fix functional test modules' naming.
15361 * grub-core/tests/example_functional_test.c: Fix test module name.
15362
15363 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15364 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15365 * util/grub-editenv.c: Likewise.
15366 * util/grub-fstest.c: Likewise.
15367 * util/grub-mkdevicemap.c: Likewise.
15368 * util/grub-mkfont.c: Likewise.
15369 * util/grub-mkimage.c: Likewise.
15370 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15371 * util/grub-probe.c: Likewise.
15372 * util/grub-script-check.c: Likewise.
15373 * util/i386/pc/grub-setup.c: Likewise.
15374 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15375
15376 * tests/util/grub-shell.in: Fix override directory path.
15377 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15378 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15379
15380 * util/lvm.c: Update #includes.
15381 * util/raid.c: Likewise.
15382 * util/resolve.c: Likewise.
15383 * grub-core/bus/emu/pci.c: Likewise.
15384 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15385 * grub-core/lib/posix_wrap/string.h: Likewise.
15386 * grub-core/kern/emu/main.c: Likewise.
15387
15388 * grub-core/gensymlist.sh: New file. Script for generating kernel
15389 symbols file.
15390 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15391
15392 * grub-core/gentrigtables.c: Fix unused variable warnings.
15393
15394 * Makefile.in: Removed.
15395 * conf/any-emu.rmk: Removed.
15396 * conf/common.rmk: Removed.
15397 * conf/i386-coreboot.rmk: Removed.
15398 * conf/i386-efi.rmk: Removed.
15399 * conf/i386-ieee1275.rmk: Removed.
15400 * conf/i386-multiboot.rmk: Removed.
15401 * conf/i386-pc.rmk: Removed.
15402 * conf/i386-qemu.rmk: Removed.
15403 * conf/i386.rmk: Removed.
15404 * conf/mips-yeeloong.rmk: Removed.
15405 * conf/mips.rmk: Removed.
15406 * conf/powerpc-ieee1275.rmk: Removed.
15407 * conf/sparc64-ieee1275.rmk: Removed.
15408 * conf/tests.rmk: Removed.
15409 * conf/x86-efi.rmk: Removed.
15410 * conf/x86_64-efi.rmk: Removed.
15411 * gendistlist.sh: Removed.
15412 * geninitheader.sh: Removed.
15413 * genkernsyms.sh.in: Removed.
15414 * genmk.rb: Removed.
15415 * gensymlist.sh.in: Removed.
15416 * mkinstalldirs: Removed.
15417 * boot: Moved ...
15418 * grub-core/boot: ... to here.
15419 * bus: Moved ...
15420 * grub-core/bus: ... to here.
15421 * commands: Moved ...
15422 * grub-core/commands: ... to here.
15423 * disk: Moved ...
15424 * grub-core/disk: ... to here.
15425 * efiemu: Moved ...
15426 * grub-core/efiemu: ... to here.
15427 * font: Moved ...
15428 * grub-core/font: ... to here.
15429 * fs: Moved ...
15430 * grub-core/fs: ... to here.
15431 * gencmdlist.sh: Moved ...
15432 * grub-core/gencmdlist.sh: ... to here.
15433 * genemuinit.sh: Moved ...
15434 * grub-core/genemuinit.sh: ... to here.
15435 * genemuinitheader.sh: Moved ...
15436 * grub-core/genemuinitheader.sh: ... to here.
15437 * genfslist.sh: Moved ...
15438 * grub-core/genfslist.sh: ... to here.
15439 * genhandlerlist.sh: Moved ...
15440 * grub-core/genhandlerlist.sh: ... to here.
15441 * genmoddep.awk: Moved ...
15442 * grub-core/genmoddep.awk: ... to here.
15443 * genmodsrc.sh: Moved ...
15444 * grub-core/genmodsrc.sh: ... to here.
15445 * genpartmaplist.sh: Moved ...
15446 * grub-core/genpartmaplist.sh: ... to here.
15447 * genparttoollist.sh: Moved ...
15448 * grub-core/genparttoollist.sh: ... to here.
15449 * genterminallist.sh: Moved ...
15450 * grub-core/genterminallist.sh: ... to here.
15451 * gentrigtables.c: Moved ...
15452 * grub-core/gentrigtables.c: ... to here.
15453 * genvideolist.sh: Moved ...
15454 * grub-core/genvideolist.sh: ... to here.
15455 * gettext: Moved ...
15456 * grub-core/gettext: ... to here.
15457 * gfxmenu: Moved ...
15458 * grub-core/gfxmenu: ... to here.
15459 * gnulib: Moved ...
15460 * grub-core/gnulib: ... to here.
15461 * hello: Moved ...
15462 * grub-core/hello: ... to here.
15463 * hook: Moved ...
15464 * grub-core/hook: ... to here.
15465 * io: Moved ...
15466 * grub-core/io: ... to here.
15467 * kern: Moved ...
15468 * grub-core/kern: ... to here.
15469 * lib: Moved ...
15470 * grub-core/lib: ... to here.
15471 * loader: Moved ...
15472 * grub-core/loader: ... to here.
15473 * mmap: Moved ...
15474 * grub-core/mmap: ... to here.
15475 * normal: Moved ...
15476 * grub-core/normal: ... to here.
15477 * partmap: Moved ...
15478 * grub-core/partmap: ... to here.
15479 * parttool: Moved ...
15480 * grub-core/parttool: ... to here.
15481 * script: Moved ...
15482 * grub-core/script: ... to here.
15483 * term: Moved ...
15484 * grub-core/term: ... to here
15485 * tests/example_functional_test.c: Moved ...
15486 * grub-core/tests/example_functional_test.c: ... to here.
15487 * tests/lib/functional_test.c: Moved ...
15488 * grub-core/tests/lib/functional_test.c: ... to here.
15489 * tests/lib/test.c: Moved ...
15490 * grub-core/tests/lib/test.c: ... to here.
15491 * video: Moved ...
15492 * grub-core/video: ... to here.
15493
645586e6
BC
154942010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15495
15496 Replace --enable-grub-emu-modules with grub-emu-lite.
15497
15498 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15499 cache.S.
15500
15501 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15502 * kern/emu/full.c: New file. For grub-emu specific initialization.
15503 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15504 * kern/emu/main.c: Call initialization function grub_emu_init.
15505
15506 * Makefile.in: Include grub-emu-lite in install.
15507 * commands/parttool.c: Use grub_no_autoload to differentiate
15508 between grub-emu and grub-emu-lite.
15509 * include/grub/misc.h: New variable grub_no_autoload.
15510
15511 * conf/any-emu.rmk: New rules for grub-emu-lite.
15512 * configure.ac: Remove --enable-grub-emu-modules.
15513 * genmk.rb: Cleanup unnecessary rules.
15514 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15515
15516 * normal/main.c: Don't load list files on grub-emu-lite.
15517 * util/misc.c (grub_arch_sync_caches): Removed.
15518
f86a4030
CW
155192010-08-23 Colin Watson <cjwatson@ubuntu.com>
15520
15521 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15522 grub-mkimage rather than grub-mkelfimage.
15523 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15524
06776944
VS
155252010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15528 a key after CapsLock or NumLock. It's just a qemu bug.
15529
df262419
VS
155302010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15533 needed by libusb wrapper.
15534
b40ea81b
ST
155352010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15536
15537 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15538
dee50575
VS
155392010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15542 --nounzip is passed.
15543
fb1d7b79
VS
155442010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 USB hotunplugging and USB serial support.
15547
15548 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15549 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15550 (grub_uhci_transfer): Respect timeout and set *actual.
15551 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15552 non-standard length.
15553 (grub_usb_device_attach): Autoload modules.
15554 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15555 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15556 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15557 users updated.
15558 (grub_usb_add_hub): Fill nports and children.
15559 (attach_root_port): Receive hub instead of controller.
15560 All users updated. Fill hub->devices.
15561 (grub_usb_root_hub): Allocate hub->devices.
15562 (detach_device): New function.
15563 (poll_nonroot_hub): Fill children and detach devices.
15564 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15565 actual arguments. All users updated.
15566 (grub_usb_bulk_read_extended): New function.
15567 * bus/usb/serial/common.c: New file.
15568 * bus/usb/serial/ftdi.c: Likewise.
15569 * bus/usb/serial/pl2303.c: Likewise.
15570 * commands/terminal.c (handle_command): Support wildcard.
15571 * commands/usbtest.c: Output "Unknown" instead of empty string.
15572 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15573 (usbserial_common_mod_SOURCES): New variable.
15574 (usbserial_common_mod_CFLAGS): Likewise.
15575 (usbserial_common_mod_LDFLAGS): Likewise.
15576 (pkglib_MODULES): Add usbserial_pl2303.mod.
15577 (usbserial_pl2303_mod_SOURCES): New variable.
15578 (usbserial_pl2303_mod_CFLAGS): Likewise.
15579 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15580 (pkglib_MODULES): Add usbserial_ftdi.mod.
15581 (usbserial_ftdi_mod_SOURCES): New variable.
15582 (usbserial_ftdi_mod_CFLAGS): Likewise.
15583 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15584 (pkglib_MODULES): Add serial.mod.
15585 (serial_mod_SOURCES): New variable.
15586 (serial_mod_CFLAGS): Likewise.
15587 (serial_mod_LDFLAGS): Likewise.
15588 * conf/i386-pc.rmk: Likewise.
15589 * conf/mips-yeeloong.rmk: Likewise.
15590 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15591 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15592 * disk/usbms.c (first_available_slot): New variable.
15593 (grub_usbms_attach): Don't reuse free slots due to potential cache
15594 problems.
15595 * include/grub/serial.h: Moved to ..
15596 * include/grub/ns8250.h: ...this.
15597 * include/grub/serial.h: New file.
15598 * include/grub/term.h (grub_term_poll_usb): New variable.
15599 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15600 readkey. All users updated.
15601 (grub_terminfo_output_state): Pass term to put.
15602 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15603 (grub_usb_controller_dev): Add timeout and actual arguments to
15604 transfer. All users updated.
15605 (grub_usb_interface): New field detach_data.
15606 (grub_usb_device): New fields children and nports.
15607 (grub_usb_ep_type_t): New type.
15608 (grub_usb_get_ep_type): New function.
15609 (grub_usb_bulk_read_extended): Likewise.
15610 * include/grub/usbdesc.h (grub_usb_desc): New type.
15611 * include/grub/usbserial.h: New file.
15612 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15613 * kern/term.c (grub_term_poll_usb): New variable.
15614 (grub_getkey): Call grub_term_poll_usb if set.
15615 (grub_checkkey): Likewise.
15616 (grub_getkeystatus): Likewise.
15617 * term/serial.c: Moved controller-specific parts to ...
15618 * term/ns8250.c: ... here.
15619 * term/serial.c: Mostly rewritten.
15620 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15621 according to spec.
15622
21a313de
RM
156232010-08-20 Robert Millan <rmh@gnu.org>
15624
15625 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15626 a separate module and maybe other interesting combinations.
15627
15628 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15629 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15630 (kfreebsd_entry): Add generic filesystem module load routine.
15631 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15632
63c734a6
CW
156332010-08-20 Colin Watson <cjwatson@ubuntu.com>
15634
15635 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15636 "numcenter" (I misunderstood the purpose of this entry).
15637 * docs/grub.texi (sendkey): Likewise.
15638
c4d16542
CW
156392010-08-20 Colin Watson <cjwatson@ubuntu.com>
15640
15641 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15642 status flag options; simply omitting the option is equivalent and
15643 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15644 (keysym_table): Rename "num5numlock" to "numlock".
15645 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15646 can uniformly say that only the last of multiple `sendkey'
15647 invocations has any effect.
15648 * docs/grub.texi (sendkey): New section.
15649
93541d66
CW
156502010-08-19 Colin Watson <cjwatson@ubuntu.com>
15651
15652 * commands/i386/pc/sendkey.c (options): Fix three typos.
15653
b4ece5e1
VS
156542010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 Implement sendkey support.
15657
15658 * commands/i386/pc/sendkey.c: New file.
15659 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15660 (sendkey_mod_SOURCES): New variable.
15661 (sendkey_mod_CFLAGS): Likewise.
15662 (sendkey_mod_LDFLAGS): Likewise.
15663
51f1f5af
CW
156642010-08-18 Colin Watson <cjwatson@ubuntu.com>
15665
15666 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15667 fix warnings from Autoconf.
15668
9da94e05
CW
156692010-08-18 Colin Watson <cjwatson@ubuntu.com>
15670
15671 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15672 to avoid false positives with some assemblers that output things
15673 like "someprefix_func" as part of their output.
15674
729a0f2e
RM
156752010-08-15 Robert Millan <rmh@gnu.org>
15676
15677 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15678 errors.
15679 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15680 grub_get_libzfs_handle() errors.
15681
f3710e08
RM
156822010-08-14 Robert Millan <rmh@gnu.org>
15683
15684 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15685 filesystem is not ZFS.
15686
7a3c13de
BC
156872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15688
15689 Fix for misspelled color names defaulting to black/black (bug
15690 reported by Doug Nazar)
15691
15692 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15693 status to prototype.
15694 * normal/color.c (grub_parse_color_name_pair): Return failure
15695 status.
15696 (grub_env_write_color_normal): Ignore bad color names.
15697 (grub_env_write_color_highlight): Likewise.
15698 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15699
ab8ba50d
BC
157002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15701
15702 "shift" command support to GRUB script.
15703
15704 * include/grub/script_sh.h (grub_script_shift): New prototype.
15705 * script/execute.c (grub_script_shift): New function.
15706 * script/main.c (grub_script_init): Register shift command.
15707 (grub_script_fini): Unregister shift command.
15708 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15709
15710 * tests/grub_script_shift.in: New testcase.
15711 * conf/tests.rmk: Rules for new testcase.
15712
4d61999e
BC
157132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15714
15715 "continue" command support to GRUB script.
15716
15717 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15718 (grub_script_break): Continue support.
15719 * script/main.c (grub_script_init): Register continue command.
15720 (grub_script_fini): Unregister continue command.
15721
15722 * tests/grub_script_continue.in: New testcase.
15723 * conf/tests.rmk: Rules for new testcase.
15724
4df51e00
BC
157252010-08-12 BVK Chaitanya <bvk@dbook>
15726
15727 "break" command support to GRUB script.
15728
15729 * conf/common.rmk: Rule updates to grub-script-check.
15730 * include/grub/misc.h (grub_min): New function.
15731 * include/grub/script_sh.h (grub_script_init): New prototype.
15732 (grub_script_fini): New prototype.
15733 (grub_script_break): New prototype.
15734 * script/main.c (grub_script_init): New function.
15735 (grub_script_fini): New function.
15736 * script/execute.c (grub_script_break): New function.
15737 * normal/main.c: Calls to grub_script_{init,fini}.
15738 * util/grub-script-check.c (grub_script_break): New function.
15739
15740 * tests/grub_script_break.in: New testcase.
15741 * conf/tests.rmk: Rules for new test case.
15742
f12c8420
BC
157432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15744
15745 Function parameters support to GRUB script.
15746
15747 * script/yylex.l (VARIABLE): Regular expression update.
15748 * script/function.c (grub_script_function_call): Moved ...
15749 * script/execute.c (grub_script_function_call): ... to here.
15750 (grub_script_execute_arglist_to_argv): Removed.
15751 (grub_script_arglist_to_argv): New function.
15752 * script/argv.c: New file.
15753 (grub_script_argv_free): New function.
15754 (grub_script_argv_next): Likewise.
15755 (grub_script_argv_append): Likewise.
15756 (grub_script_argv_split_append): Likewise.
15757 * include/grub/script_sh.h (grub_script_argv): New struct.
15758 (grub_script_argv_free): New function.
15759 (grub_script_argv_next): Likewise.
15760 (grub_script_argv_append): Likewise.
15761 (grub_script_argv_split_append): Likewise.
15762
15763 * conf/common.rmk (normal.mod): New source script/argv.c.
15764
15765 * tests/grub_script_echo1.in: More tests.
15766 * tests/grub_script_vars1.in: Likewise.
15767 * tests/grub_script_functions.in: New test case.
15768 * conf/tests.rmk: Rules for new testcase.
15769
8022b748
BC
157702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15771
15772 Remove grub_script_cmdblock struct.
15773
15774 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15775 * script/parser.y: Likewise.
15776 * script/execute.c: Rename cmdblock suffix to cmdlist.
15777 * script/script.c: Likewise.
15778 * util/grub-script-check.c: Likewise.
15779
79a6ba61
YB
157802010-08-11 Yves Blusseau <blusseau@zetam.org>
15781
15782 * .bzrignore: add grub-macho2img
15783
d04b9414
VS
157842010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15787
f947ab49
VS
157882010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 Remove the dump of sm712 initialisation sequence.
15791
15792 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15793 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15794 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15795 (GRUB_VGA_CR_*): Added many registers.
15796 (GRUB_VGA_SR_*): Likewise.
15797 (GRUB_VGA_GR_*): Likewise.
15798 (grub_vga_write_arx): New function.
15799 (grub_video_hw_config): New struct.
15800 (grub_vga_set_geometry): New function.
15801 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15802 GRUB_PCI_CLASS_SUBCLASS_VGA.
15803 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15804 * video/sm712.c (grub_sm712_write_reg): New function
15805 (grub_sm712_read_reg): Likewise.
15806 (grub_sm712_sr_write): Likewise.
15807 (grub_sm712_gr_write): Likewise.
15808 (grub_sm712_cr_write): Likewise.
15809 (grub_sm712_write_arx): Likewise.
15810 (grub_sm712_cr_shadow_write): Likewise.
15811 (grub_sm712_write_dda_lookup): Likewise.
15812 (grub_video_sm712_setup): Initialise the video rather then
15813 blindly replay the dump.
15814 (main) [TEST]: Add a routine to be able to compile as standalone for
15815 tests.
15816 * video/sm712_init.c (sm712_init): Removed.
15817 (sm712_sr_seq1): New array.
15818 (sm712_sr_seq2): Likewise.
15819
f0206638
VS
158202010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * include/grub/vga.h: Add missing grub/pci.h include.
15823
2764da3b
YB
158242010-08-10 Yves Blusseau <blusseau@zetam.org>
15825
15826 * util/grub-macho2img.c (main): fix typo
15827
cf0c775e
VS
158282010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15831 (grub_vga_gr_read): Likewise.
15832 (grub_vga_cr_write): Likewise.
15833 (grub_vga_cr_read): Likewise.
15834 (grub_vga_sr_write): Likewise.
15835 (grub_vga_sr_read): Likewise.
15836 (grub_vga_palette_read): Likewise.
15837 (grub_vga_palette_write): Likewise.
15838 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15839 (grub_sm712_sr_read): New function.
15840 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15841 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15842
07f360e9
RM
158432010-08-09 Robert Millan <rmh@gnu.org>
15844
15845 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15846 out unused variables on non-ZFS build.
15847
346c2072
RM
158482010-08-08 Robert Millan <rmh@gnu.org>
15849
15850 Fix path generation for sub-filesystems in ZFS.
15851
15852 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15853 missing slash.
15854
71175420
RM
158552010-08-08 Robert Millan <rmh@gnu.org>
15856
15857 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15858
0d8286f3
RM
158592010-08-08 Robert Millan <rmh@gnu.org>
15860
15861 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15862 exist, issue a proper error message (rely on `ls' for translated
15863 strings).
15864
55dd2924
RM
158652010-08-08 Robert Millan <rmh@gnu.org>
15866
15867 Fix grub-probe invocation.
15868
15869 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15870
d3dd9e80
RM
158712010-08-04 Robert Millan <rmh@gnu.org>
15872
15873 * configure.ac: Remove checks for getfsstat() and getmntany().
15874 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15875 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15876 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15877 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15878 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15879 function.
15880 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15881 via find_mount_point_from_dir() and getfsstat() / getmntany().
15882
0de22aa9
RM
158832010-08-04 Robert Millan <rmh@gnu.org>
15884
15885 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15886 (grub_find_zpool_from_mount_point): Merge into ...
15887 (grub_find_zpool_from_dir): ... this.
15888 * kern/emu/misc.c: Likewise.
15889
15890 * kern/emu/misc.c
15891 (grub_make_system_path_relative_to_its_root): Replace
15892 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15893 with grub_find_zpool_from_dir().
15894 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15895
62858144
RM
158962010-08-04 Robert Millan <rmh@gnu.org>
15897
15898 Support OpenSolaris in ZFS device resolution.
15899
15900 * configure.ac: Check for getmntany().
15901 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15902 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15903 support.
15904
9dd6fd50
RM
159052010-08-03 Robert Millan <rmh@gnu.org>
15906
15907 Fix grub-emu build.
15908
15909 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15910 * include/grub/emu/misc.h: ... here.
15911
15912 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15913 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15914
15915 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15916 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15917 (grub_get_libzfs_handle): Move to ...
15918 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15919 (grub_get_libzfs_handle): ... here.
15920
c9f7ff97
BC
159212010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15922
15923 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15924 as command name case.
15925
a870a783
CW
159262010-08-02 Colin Watson <cjwatson@ubuntu.com>
15927
15928 * disk/raid.c (insert_array): Select unique numbers for named arrays
15929 as well, for use as keys in the disk cache.
15930
c7db243b
RM
159312010-08-01 Robert Millan <rmh@gnu.org>
15932
15933 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15934 kFreeBSD device name, except on ZFS where the filesystem label is
15935 used.
15936 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15937 `/boot/zfs/zpool.cache'.
15938 Set mountfrom kernel variable using ${kfreebsd_device}.
15939
f7abdefb
RM
159402010-08-01 Robert Millan <rmh@gnu.org>
15941
15942 Make it even harder to use uninitialized `libzfs_handle' (and
15943 make the interface a bit simpler).
15944
15945 * include/grub/util/misc.h (grub_util_init_libzfs)
15946 (libzfs_handle): Remove.
15947 (grub_get_libzfs_handle): New prototype.
15948
15949 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15950 attribute.
15951 (grub_util_init_libzfs): Remove.
15952 (grub_get_libzfs_handle): New function.
15953
15954 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15955 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15956 accessing `libzfs_handle' directly.
15957
c882acc0
RM
159582010-08-01 Robert Millan <rmh@gnu.org>
15959
15960 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15961 (grub_find_zpool_from_mount_point): New function prototypes.
15962
15963 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15964 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15965
15966 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15967 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15968 `static' attribute.
15969
15970 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15971 finding zpool from mount point into ...
15972 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15973
15974 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15975 requested path is part of a ZFS pool, use
15976 grub_find_zpool_from_mount_point() to detect its filesystem name,
15977 and generate a path with `/fsname@path' syntax.
15978
8bfe31d8
CW
159792010-08-01 Colin Watson <cjwatson@ubuntu.com>
15980
15981 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15982 (void) rather than () so that this is a proper prototype.
15983
553df63d
VS
159842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15987
8687cf07
VS
159882010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15991 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15992
ea9be8ea
CW
159932010-08-01 Colin Watson <cjwatson@ubuntu.com>
15994
15995 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15996
6eea041a
CW
159972010-08-01 Colin Watson <cjwatson@ubuntu.com>
15998
15999 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16000
2cfb45df
CW
160012010-08-01 Colin Watson <cjwatson@ubuntu.com>
16002
16003 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16004 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16005 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16006 disable gfxpayload.
16007 (Shell-like scripting): Add real content.
16008 (Serial terminal): Suggest `terminal_input serial; terminal_output
16009 serial' rather than putting the two commands on separate lines,
16010 since console input will be inoperative after the first command.
16011 (menuentry): Document --class, --users, and --hotkey options.
16012 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16013 Vladimir Serbinenko).
16014
7decd202
VS
160152010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
160162010-08-01 Colin Watson <cjwatson@ubuntu.com>
16017
16018 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16019
c882acc0
RM
160202010-08-01 Robert Millan <rmh@gnu.org>
16021
16022 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16023 (grub_find_zpool_from_mount_point): New function prototypes.
16024
16025 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16026 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16027
16028 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16029 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16030 `static' attribute.
16031
16032 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16033 finding zpool from mount point into ...
16034 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16035
16036 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16037 requested path is part of a ZFS pool, use
16038 grub_find_zpool_from_mount_point() to detect its filesystem name,
16039 and generate a path with `/fsname@path' syntax.
16040
deb0caa3
RM
160412010-08-01 Robert Millan <rmh@gnu.org>
16042
16043 Prevent accidental use of uninitialized libzfs_handle.
16044
16045 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16046 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16047 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16048
ce04ef47
CW
160492010-08-01 Colin Watson <cjwatson@ubuntu.com>
16050
16051 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16052 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16053
ebf53056
RM
160542010-08-01 Robert Millan <rmh@gnu.org>
16055
16056 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16057
3710bb6b
RM
160582010-07-31 Robert Millan <rmh@gnu.org>
16059
16060 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16061
8072efeb
RM
160622010-07-31 Robert Millan <rmh@gnu.org>
16063
16064 * kern/emu/misc.c: Add missing license header.
16065
3169f4c7
RM
160662010-07-31 Robert Millan <rmh@gnu.org>
16067
16068 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16069
16070 * include/grub/util/libnvpair.h: Include `<config.h>'.
16071 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16072 declaring libnvpair prototypes ourselves.
16073 * include/grub/util/libzfs.h: Include `<config.h>'.
16074 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16075 declaring libzfs prototypes ourselves.
16076
16077 (libzfs_handle): Moved to ...
16078 * include/grub/util/misc.h (libzfs_handle): ... here.
16079 Include `<grub/util/libzfs.h>'.
16080
c9a00aee
RM
160812010-07-30 Robert Millan <rmh@gnu.org>
16082
16083 * include/grub/emu/misc.h: Add missing license header.
16084
a184f9c8
RM
160852010-07-30 Robert Millan <rmh@gnu.org>
16086
16087 Enable `grub-probe -t device' resolution on ZFS.
16088
16089 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16090 * include/grub/util/libnvpair.h: New file.
16091 * include/grub/util/libzfs.h: New file.
16092
16093 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16094 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16095 `<grub/util/libnvpair.h>'.
16096 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16097
16098 (find_mount_point_from_dir): New static function.
16099 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16100 function.
16101 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16102 find_root_device_from_libzfs() before ressorting to find_root_device().
16103
16104 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16105 prototype.
16106 * util/misc.c: Include `<grub/util/libzfs.h>'.
16107 (grub_util_init_libzfs): New function.
16108 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16109 [HAVE_LIBZFS] (fini_libzfs): New static function.
16110 (grub_util_init_libzfs): New function.
16111 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16112
f7790cdd
RM
161132010-07-30 Robert Millan <rmh@gnu.org>
16114
16115 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16116 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16117 `warn_unused_result' attribute.
16118 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16119 (grub_xasprintf, grub_xvasprintf): Likewise.
16120 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16121
0806b63c
RM
161222010-07-29 Robert Millan <rmh@gnu.org>
16123
16124 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16125 (probe): Handle `PRINT_FS_LABEL'.
16126 (main): Handle `-t fs_label'.
16127
9f841f5c
RM
161282010-07-29 Robert Millan <rmh@gnu.org>
16129
16130 * configure.ac: Remove grub-mkisofs checks.
16131
46371121
VS
161322010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16135 Reported by: Lennart Sorensen.
16136
161372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16140 prior to terminal_input/terminal_output separation. It's been over 1.5
16141 years and those versions weren't widely deployed.
16142
a9600892
CW
161432010-07-22 Colin Watson <cjwatson@ubuntu.com>
16144
16145 * disk/raid.c (insert_array): Don't count named arrays when looking
16146 for unused array numbers.
697e053c 16147 Reported and tested by: Michael Guntsche.
a9600892 16148
c03507df
CW
161492010-07-20 Colin Watson <cjwatson@ubuntu.com>
16150
16151 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16152 implementation of this so that grub-emu links again, with a note
16153 that this should support hotplugging in the future.
16154
b26f1c11
CW
161552010-07-20 Colin Watson <cjwatson@ubuntu.com>
16156
16157 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16158
efc9d7f1
CW
161592010-07-20 Colin Watson <cjwatson@ubuntu.com>
16160
16161 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16162 handle on failure.
16163 (grub_loopback_close): Remove empty function.
16164 (grub_loopback_dev): Remove close method.
16165
dd8ff5c9
CW
161662010-07-20 Colin Watson <cjwatson@ubuntu.com>
16167
16168 Disable EFI cursor when the EFI console becomes inactive.
16169
16170 * term/efi/console.c (grub_efi_console_init): New function.
16171 (grub_efi_console_fini): New function.
16172 (grub_console_term_output): Register init and fini methods.
16173
5e3bec67
VS
161742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16177 sh script.
16178
afaec079
VS
161792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * disk/loopback.c (grub_loopback): Replace filename with file.
16182 (delete_loopback): Handle new semantics.
16183 (grub_cmd_loopback): Likewise.
16184 (grub_loopback_iterate): Likewise.
16185 (grub_loopback_close): Likewise.
16186
a6a11f3c
VS
161872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16190 with -p "".
16191 Reported by: Tito Keitel.
16192
64a638b0
VS
161932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 * docs/grub.texi (Naming convention): Document new naming convention.
16196
ab8ba957
VS
161972010-07-20 Vadim Solomin <vadic052@gmail.com>
161982010-07-20 Colin Watson <cjwatson@ubuntu.com>
16199
16200 Generate device.map in something closer to the old ordering.
16201
16202 * util/deviceiter.c (struct device): New declaration.
16203 (compare_file_names): Rename to ...
16204 (compare_devices): ... this. Sort by kernel name in preference to
16205 the stable by-id name, but keep the latter as a fallback comparison.
16206 Update header comment.
16207 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16208 of `struct device' rather than of plain file names.
16209
a29d6a4b
TF
162102010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16211
16212 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16213 on i386.
16214
39d824e8
VS
162152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16218 hardcoding size.
16219 (setv1table): Likewise.
16220
f058276b
FZ
162212010-07-20 Colin Watson <cjwatson@ubuntu.com>
16222
16223 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16224 removing the homehost if present.
16225 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16226 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16227 removing the homehost if present.
16228 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16229 if possible.
16230 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16231
16232 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16233 parameter. Set its pointer target to 0.
16234 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16235 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16236 `data_offset' value from the superblock for 1.x metadata.
16237 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16238 data on the device.
16239 (insert_array): Record the start sector of data on the device.
16240 (grub_raid_register): Pass start_sector parameters to
16241 grub_raid_list->detect and insert_array.
16242 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16243 member.
16244 (struct grub_raid): Add start_sector parameter to `detect'.
16245
16246 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16247 __attribute__ ((packed)), leaving a comment.
16248 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16249 (grub_mdraid_detect_09): ... here and ...
16250 (grub_mdraid_detect_1x): ... here.
16251
162522010-07-20 Peter Henn <peter.henn@web.de>
16253
16254 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16255 chunk size and disk size, which are already given as sector counts
16256 as distinct from the 0.90 units. Fetch the correct device number
16257 from the role table instead of using the table index.
16258
162592010-07-20 Felix Zielcke <fzielcke@z-51.de>
16260
16261 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16262 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16263 (WriteMostly1): New macro.
16264 Set array->name to NULL for metadata format 0.90. Add support for
16265 metadata 1.x. Fix some comments.
16266 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16267 few comments.
16268 * util/getroot.c (grub_util_get_grub_dev): Add support for
16269 /dev/md/name style devices.
16270
4b761da9
CW
162712010-07-20 Colin Watson <cjwatson@ubuntu.com>
16272
16273 * .bzrignore: Ignore 20_linux_xen.
16274
5771289a
CW
162752010-07-17 Colin Watson <cjwatson@ubuntu.com>
16276
16277 * util/import_unicode.py: Remove unnecessary imports.
16278
5dab68df
AN
162792010-07-17 Aleš Nesrsta <starous@volny.cz>
16280
16281 Hotplugging and USB hub support.
16282
16283 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16284 (grub_ohci): Likewise.
16285 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16286 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16287 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16288 (GRUB_OHCI_CTRL_EDS): Likewise.
16289 (GRUB_OHCI_BULK_EDS): Likewise.
16290 (GRUB_OHCI_TDS): Likewise.
16291 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16292 (grub_ohci_ed_phys2virt): New function.
16293 (grub_ohci_virt_to_phys): Likewise.
16294 (grub_ohci_td_phys2virt): Likewise.
16295 (grub_ohci_td_virt2phys): Likewise.
16296 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16297 attachment.
16298 (grub_ohci_find_ed): New function.
16299 (grub_ohci_alloc_td): Likewise.
16300 (grub_ohci_free_td): Likewise.
16301 (grub_ohci_free_tds): Likewise.
16302 (grub_ohci_transfer): Use previously allocated memory.
16303 (grub_ohci_portstatus): Reset status changed bit.
16304 (grub_ohci_detect_dev): Supply status changed.
16305 (grub_ohci_fini_hw): Free memory.
16306 (grub_ohci_restore_hw): Reallocate memory.
16307 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16308 Reset status change.
16309 (grub_uhci_detect_dev): Supply status_change.
16310 * bus/usb/usb.c (attach_hooks): New var.
16311 (grub_usb_device_attach): New function.
16312 (grub_usb_register_attach_hook_class): Likewise.
16313 (grub_usb_unregister_attach_hook_class): Likewise.
16314 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16315 (grub_usb_add_hub): Reset connection changed bit.
16316 (attach_root_port): New function.
16317 (grub_usb_root_hub): Likewise.
16318 (poll_nonroot_hub): Likewise.
16319 (grub_usb_poll_devices): Likewise.
16320 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16321 * disk/usbms.c (grub_usbms_open): Use device hooks.
16322 (grub_usbms_iterate) :Poll devices.
16323 (grub_usbms_finddevs): Split into ...
16324 (grub_usbms_attach): ... this ...
16325 (grub_usbms_attach): ... and this.
16326 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16327 in detect_dev.
16328 (grub_usb_interface): New fields attached and detach_hook.
16329 (grub_usb_attach_hook_class): New type.
16330 (grub_usb_attach_desc): New struct.
16331 (grub_usb_register_attach_hook_class): New function.
16332 (grub_usb_unregister_attach_hook_class): Likewise.
16333 (grub_usb_poll_devices): Likewise.
16334 (grub_usb_device_attach): Likewise.
16335 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16336 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16337
3222efaf
VS
163382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16339
16340 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16341 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16342 delta determination style. Works with most NetBSD partitions too.
16343
139b714a
VS
163442010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16347 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16348
986aad56
VS
163492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16352
99be513c
AB
163532010-07-14 Anton Blanchard <anton@samba.org>
16354
16355 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16356 ET_DYN files.
16357
18075f62
GS
163582010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16359
16360 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16361
8d9a5b15
GS
163622010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16363
16364 * kern/partition.c (grub_partition_check_containment): New function to
16365 check that a partition is physically contained in a parent. Since
16366 offsets are relative (and non-negative), this reduces to checking that
16367 the partition ends before its parent.
16368 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16369 (grub_partition_iterate): Likewise.
16370 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16371 comments.
16372 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16373 partitions that start before their parent, and add debug printfs.
16374
19563c25
CW
163752010-07-13 Colin Watson <cjwatson@ubuntu.com>
16376
16377 * Makefile.in (.SUFFIX): Spell correctly, as ...
16378 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16379 bare module name without `.mod', e.g. `test') tried to invoke a
16380 Modula-2 compiler.
16381
1a1f1e67
CW
163822010-07-13 Colin Watson <cjwatson@ubuntu.com>
16383
16384 * README: Point to the Info manual.
16385
811b0dca
JS
163862010-07-13 Jiro SEKIBA <jir@unicus.jp>
16387
16388 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16389 2nd superblock position from partition size.
16390
e4f4eafc
CW
163912010-07-10 Colin Watson <cjwatson@ubuntu.com>
16392
16393 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16394 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16395 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16396 outputs.
16397
4274c30f
VS
163982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 Restructure SCSI .id handling.
16401 Reported and tested by: Aleš Nesrsta.
16402
16403 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16404 (grub_atapi_dev): Changed .name to "ata". New field .id.
16405 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16406 (grub_usbms_dev): New field .id.
16407 * disk/scsi.c (grub_scsi_iterate): Generate name.
16408 (grub_scsi_open): Parse name.
16409 * include/grub/scsi.h (grub_make_scsi_id): New function.
16410 (grub_scsi_dev): Change iterate and open to number instead of naming
16411 busses. All users updated.
16412 (grub_scsi): Remove name. Add .bus.
16413
5bc24388
VS
164142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 * commands/help.c (grub_cmd_help): Fix a typo.
16417
249975ba
VS
164182010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16421 Reported and tested by: Colin Watson.
16422
3eaac1a1
VS
164232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16426 in this context.
16427
becce1b1
VS
164282010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16431
f7bf0918
CW
164322010-07-07 Colin Watson <cjwatson@ubuntu.com>
16433
16434 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16435 indentation.
16436
0b0f9620
CW
164372010-07-06 Colin Watson <cjwatson@ubuntu.com>
16438
16439 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16440 and disk/raid6_recover.c.
16441 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16442 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16443
1e545469
CW
164442010-07-06 Colin Watson <cjwatson@ubuntu.com>
16445
16446 * term/gfxterm.c (repaint_schedulded): Rename to ...
16447 (repaint_scheduled): ... this. Update all callers.
16448 (repaint_was_schedulded): Rename to ...
16449 (repaint_was_scheduled): ... this. Update all callers.
16450
5357687a
CW
164512010-07-06 Colin Watson <cjwatson@ubuntu.com>
16452
16453 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16454 which we expect to be handled by upper layers.
16455
29d7e783
BC
164562010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16457
16458 * bus/usb/usbhub.c: #include time.h header.
16459
37582066
CW
164602010-07-06 Colin Watson <cjwatson@ubuntu.com>
16461
16462 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16463 entry_name also for entries without stat blocks (e.g. ".."); fixes
16464 corruption of the first entry in a directory.
16465
c8c06953
CW
164662010-07-06 Colin Watson <cjwatson@ubuntu.com>
16467
16468 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16469 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16470 doesn't work otherwise.
16471
e75056f1
CW
164722010-07-05 Colin Watson <cjwatson@ubuntu.com>
16473
16474 * docs/grub.texi (Features): Update list of supported file systems.
16475 (GNU/Linux): Update for GRUB 2.
16476 (Serial terminal): Remove mention of --disable-serial, which was a
16477 GRUB Legacy configure option. Update instructions to use
16478 `terminal_input' and `terminal_output' rather than `terminal'.
16479 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16480 configuration' and `Installing GRUB using grub-install'.
16481 (Menu entry editor): Update for GRUB 2.
16482 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16483 Document new -a, -u, and -v options.
16484 (initrd): New section.
16485 (initrd16): New section.
16486 (linux): New section.
16487 (linux16): New section.
16488 (search): The `var' argument to `--set' is optional.
16489 (GRUB only offers a rescue shell): Go into a little more detail on
16490 drive ordering.
16491
5cf69151
CW
164922010-07-05 Colin Watson <cjwatson@ubuntu.com>
16493
16494 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16495
e3f90044
CW
164962010-07-05 Colin Watson <cjwatson@ubuntu.com>
16497
16498 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16499 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16500
38d8f4f3
CW
165012010-07-05 Colin Watson <cjwatson@ubuntu.com>
16502
16503 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16504 install_prefix, in line with install_dos_part and install_bsd_part.
16505 Add new prefix variable, which is copied to install_prefix after
16506 comparing core.img in memory with the one read from disk in the
16507 no-embedding case, and use that rather than overwriting
16508 install_prefix immediately when installing to a partition.
16509 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16510 Bicakci.
16511
57ebd41e
GS
165122010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16513
16514 * configure.ac: Avoid == in test command, it's not portable.
16515 * util/grub.d/30_os-prober.in: Likewise.
16516
cb7f64b2
CW
165172010-07-04 Colin Watson <cjwatson@ubuntu.com>
16518
16519 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16520
6b654bb0
GS
165212010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16522
16523 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16524 multiple (top-level) partmaps.
16525
72a2026d
VS
165262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16529 Reported by: Tino Keitel.
72a2026d 16530
df3eb88f
VS
165312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16532
16533 Bidi and diacritics support.
16534
16535 * Makefile.in (widthspec.bin): New target.
16536 (widthspec.h): Likewise.
16537 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16538 * autogen.sh: Generate unidata.c.
16539 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16540 * commands/ls.c (grub_ls_list_devices): Likewise.
16541 (grub_ls_list_files): Likewise.
16542 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16543 (grub_mini_cmd_lsmod): Likewise.
16544 * commands/read.c: Likewise.
16545 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16546 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16547 * lib/arg.c (grub_arg_show_help): Likewise.
16548 * lib/crypto.c (grub_password_get): Likewise.
16549 * normal/auth.c (grub_username_get): Likewise.
16550 * normal/misc.c (grub_normal_print_device_info): Likewise.
16551 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16552 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16553 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16554 (normal/charset.c_DEPENDENCIES): New variable.
16555 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16556 (pkglib_MODULES): Remove charset.mod.
16557 (charset_mod_SOURCES): Removed.
16558 (charset_mod_CFLAGS): Likewise.
16559 (charset_mod_LDFLAGS): Likewise.
16560 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16561 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16562 and term/tparm.c.
16563 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16564 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16565 (kernel_img_HEADERS): Add terminfo.h.
16566 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16567 Fill ->font. Reverse ascii bitmaps.
16568 (grub_font_get_xheight): New function.
16569 * font/font.c (grub_font_get_string_width): Moved from here ...
16570 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16571 * font/font.c (grub_font_draw_string): Moved from here ...
16572 * gfxmenu/font.c (grub_font_draw_string): ... here.
16573 * font/font.c (grub_font_dup_glyph): New function.
16574 (grub_font_blit_glyph): Likewise.
16575 (grub_font_blit_glyph_mirror): Likewise.
16576 (blit_comb): Likewise.
16577 (grub_font_construct_dry_run): Likewise.
16578 (grub_font_get_constructed_device_width): Likewise.
16579 (grub_font_construct_glyph): Likewise.
16580 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16581 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16582 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16583 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16584 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16585 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16586 (grub_font_get_xheight): New proto.
16587 (grub_font_get_constructed_device_width): Likewise.
16588 (grub_font_construct_glyph): Likewise.
16589 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16590 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16591 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16592 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16593 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16594 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16595 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16596 (grub_console_getcharwidth): Likewise.
16597 * include/grub/misc.h (grub_xputs): New proto.
16598 (grub_puts): Inlined.
16599 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16600 (grub_normal_get_line_counter): Removed.
16601 (grub_install_newline_hook): Likewise.
16602 (grub_normal_get_char_counter): New proto.
16603 (grub_normal_reset_more): Likewise.
16604 (grub_xputs_normal): Likewise.
16605 * include/grub/powerpc/ieee1275/console.h: Removed.
16606 * include/grub/sparc64/ieee1275/console.h: Likewise.
16607 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16608 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16609 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16610 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16611 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16612 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16613 (grub_term_input): Pass reference to self. All users updated.
16614 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16615 Pass reference to self. New fields normal_color, highlight_color and
16616 data. All users updated.
16617 (grub_putchar): Removed.
16618 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16619 (grub_unicode_estimate_width): New function.
16620 (grub_term_getcharwidth): Add defaults.
16621 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16622 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16623 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16624 (grub_cls): Remove EXPORT_FUNC.
16625 (grub_setcolorstate): Inline.
16626 (grub_newline_hook): Removed.
16627 * include/grub/terminfo.h: Rewritten. All users updated.
16628 * include/grub/unicode.h: New file.
16629 * include/grub/video.h (grub_video_signed_rect): New type.
16630 * kern/emu/console.c (grub_console_highlight_color): Removed.
16631 (grub_console_normal_color): Likewise.
16632 (grub_console_standard_color): Made static.
16633 (grub_ncurses_putchar): Remove mapping.
16634 (grub_ncurses_getcharwidth): Removed.
16635 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16636 (grub_ncurses_setcolor): Removed.
16637 (grub_ncurses_getcolor): Likewise.
16638 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16639 (grub_console_putchar): ... this.
16640 (grub_console_putchar): Handle argument difference.
16641 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16642 console_init_early and console_init_lately.
16643 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16644 * kern/misc.c (grub_puts): Removed.
16645 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16646 (grub_vsnprintf_real): Remove str = NULL support.
16647 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16648 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16649 * kern/term.c (grub_putcode): Renamed to ...
16650 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16651 (grub_putchar): Removed.
16652 (grub_xputs_dumb): New function.
16653 (grub_xputs): New variable.
16654 * lib/charset.c: Move from here ...
16655 * normal/charset.c: ... to here.
16656 (grub_ucs4_to_utf8): New function.
16657 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16658 (join_types): New variable.
16659 (unpack_join): New function.
16660 (bidi_types): New variable.
16661 (unpack_bidi): New function.
16662 (get_bidi_type): Likewise.
16663 (get_join_type): Likewise.
16664 (is_mirrored): Likewise.
16665 (grub_unicode_get_comb_type): Likewise.
16666 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16667 (is_type_after): Likewise.
16668 (grub_unicode_aglomerate_comb): Likewise.
16669 (bidi_line_wrap): Likewise.
16670 (grub_bidi_line_logical_to_visual): Likewise.
16671 (grub_bidi_logical_to_visual): Likewise.
16672 (grub_unicode_mirror_code): Likewise.
16673 (grub_unicode_shape_code): Likewise.
16674 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16675 Don't use grub_putchar.
16676 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16677 (grub_normal_reader_init): Likewise.
16678 (grub_xputs_saved): New variable.
16679 (GRUB_MOD_INIT): Set grub_xputs.
16680 (GRUB_MOD_FINI): Restore grub_xputs.
16681 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16682 (menu_init): Avoid printing gfxmenu error.
16683 (show_menu): Use grub_normal_get_char_counter.
16684 * normal/menu_entry.c (update_screen): Fix out-of-array.
16685 (complete): Avoid NULL dereferencing.
16686 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16687 * normal/menu_text.c (print_spaces): Removed.
16688 (grub_print_ucs4): Likewise.
16689 (grub_print_message_indented): Use grub_print_ucs4.
16690 (print_message): Use grub_putcode.
16691 (print_entry): Hanlde diacritics.
16692 * normal/term.c (term_state): New type.
16693 (grub_more_lines): Removed.
16694 (term_states): New variable.
16695 (grub_normal_line_counter): Renamed to ..
16696 (grub_normal_char_counter): ...this. All users updated.
16697 (grub_normal_get_line_counter): Renamed to ...
16698 (grub_normal_get_char_counter): ... this.
16699 (grub_normal_reset_more): New function.
16700 (process_newline): Removed.
16701 (print_more): New function.
16702 (grub_install_newline_hook): Removed.
16703 (map_code): New function.
16704 (grub_puts_terminal): Use grub_print_ucs4.
16705 (putglyph): New function.
16706 (putcode_real): Likewise.
16707 (grub_putcode): Use putcode_real.
16708 (get_maxwidth): New function.
16709 (get_startwidth): Likewise.
16710 (print_ucs4_terminal): Likewise.
16711 (find_term_state): Likewise.
16712 (put_glyphs_terminal): Likewise.
16713 (print_backlog): Likewise.
16714 (print_ucs4_real): Likewise.
16715 (grub_print_ucs4): Likewise.
16716 (grub_xputs_normal): Likewise.
16717 * term/efi/console.c (grub_console_putchar): Output diacritics.
16718 (grub_console_getcharwidth): Removed.
16719 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16720 * term/gfxterm.c (clear_char): Free chars.
16721 (scroll_up): Avoid leaking memory.
16722 (grub_gfxterm_putchar): Support diacritics.
16723 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16724 * term/i386/pc/console.c (grub_console_term_output): Declare as
16725 GRUB_TERM_CODE_TYPE_VGA.
16726 * term/i386/pc/vga.c (grub_vga_term): Declare as
16727 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16728 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16729 GRUB_TERM_CODE_TYPE_VGA.
16730 * term/i386/vga_common.c (map_char): Removed.
16731 (grub_console_putchar): Likewise.
16732 (grub_console_getcharwidth): Likewise.
16733 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16734 (colors): Reordered to match terminfo.
16735 (grub_ofconsole_normal_color): Removed.
16736 (grub_ofconsole_writeesc): Likewise.
16737 (grub_ofconsole_highlight_color): Likewise.
16738 (grub_ofconsole_getcharwidth): Likewise.
16739 (grub_ofconsole_setcolorstate): Likewise.
16740 (grub_ofconsole_setcolor): Likewise.
16741 (grub_ofconsole_getcolor): Likewise.
16742 (grub_ofconsole_readkey): Renamed to ...
16743 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16744 key.
16745 (grub_ofconsole_checkkey): Removed.
16746 (grub_ofconsole_getkey): Likewise.
16747 (grub_ofconsole_getxy): Likewise.
16748 (grub_ofconsole_gotoxy): Likewise.
16749 (grub_ofconsole_cls): Likewise.
16750 (grub_ofconsole_refresh): Likewise.
16751 (grub_ofconsole_terminfo_input): New struct.
16752 (grub_ofconsole_terminfo_output): Likewise.
16753 (grub_ofconsole_term_input): Use terminfo.
16754 (grub_ofconsole_term_output): Likewise.
16755 (grub_console_init): Split into ...
16756 (grub_console_init_early): ...this and ...
16757 (grub_console_init_lately): ...this. Use terminfo.
16758 (grub_ofconsole_putchar): Renamed to ...
16759 (put): ... this. Remove mapping.
16760 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16761 * term/serial.c: Simplify using terminfo.
16762 (xpos): Removed.
16763 (ypos): Likewise.
16764 (keep_track): Likewise.
16765 (registered): Likewise.
16766 (input_buf): Likewise.
16767 (npending): Likewise.
16768 (serial_translate_key_sequence): Likewise.
16769 (fill_input_buf): Likewise.
16770 (grub_serial_checkkey): Likewise.
16771 (grub_serial_getkey): Likewise.
16772 (grub_serial_getxy): Likewise.
16773 (grub_serial_gotoxy): Likewise.
16774 (grub_serial_putchar): Likewise.
16775 (grub_serial_cls): Likewise.
16776 (grub_serial_setcolorstate): Likewise.
16777 (grub_serial_setcursor): Likewise.
16778 (serial_hw_init): Use serial_hw_fetch.
16779 (grub_serial_terminfo_input): New variable.
16780 (grub_serial_terminfo_output): Likewise.
16781 (grub_serial_term_input): Use terminfo.
16782 (grub_serial_term_output): Likewise.
16783 * term/terminfo.c (putstr): Use put.
16784 (grub_terminfo_all_free): New function
16785 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16786 (grub_terminfo_output_register): New function.
16787 (grub_terminfo_output_unregister): Likewise.
16788 (grub_terminfo_getxy): Likewise.
16789 (grub_terminfo_readkey): Likewise.
16790 (grub_terminfo_checkkey): Likewise.
16791 (grub_terminfo_getkey): Likewise.
16792 (grub_terminfo_input_init): Likewise.
16793 (print_terminfo): Likewise.
16794 (grub_cmd_terminfo): Handle encoding.
16795 (grub_terminfo_gotoxy): Track position.
16796 (grub_terminfo_cls): Likewise.
16797 (grub_terminfo_putchar): Likewise.
16798 (grub_terminfo_setcolorstate): Handle colors
16799 (grub_terminfo_cursor_on): This ...
16800 (grub_terminfo_cursor_off): ... and this merged into ...
16801 (grub_terminfo_setcursor): ... this.
16802 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16803 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16804 * unicode/BidiMirroring.txt: Likewise.
16805 * unicode/UnicodeData.txt: Likewise.
16806 * unicode/COPYING: Likewise.
16807 * util/grub-editenv.c (grub_putchar): Removed.
16808 (grub_xputs_real): New function.
16809 (grub_xputs): New variable.
16810 * util/grub-fstest.c (grub_putchar): Removed.
16811 (grub_xputs_real): New function.
16812 (grub_xputs): New variable.
16813 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16814 (grub_xputs_real): New function.
16815 (grub_xputs): New variable.
16816 * util/grub-probe.c (grub_putchar): Removed.
16817 (grub_xputs_real): New function.
16818 (grub_xputs): New variable.
16819 * util/grub-script-check.c (grub_putchar): Removed.
16820 (grub_xputs_real): New function.
16821 (grub_xputs): New variable.
16822 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16823 (grub_xputs_real): New function.
16824 (grub_xputs): New variable.
16825 * util/import_unicode.py: New file.
16826 * util/grub-mkfont.c (ft_errmsgs): New array.
16827 (grub_glyph_info): Make bitmap a pointer.
16828 (file_formats): New type WIDTH_SPEC.
16829 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16830 (options): Add width-spec.
16831 (help): Likewise.
16832 (add_char): Renamed to ...
16833 (add_glyph): ... this.
16834 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16835 (glyph_replace): New type.
16836 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16837 (add_char): New function.
16838 (add_subst): Likewise.
16839 (process_cursive): Likewise.
16840 (add_font): Handle GSUB.
16841 (write_font_width_spec): New function.
16842 (main): Sort glyphs.
16843 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16844 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16845 * kern/term.c (grub_cls): Moved from here...
16846 * normal/term.c (grub_cls): ... here.
16847
50f0bcda
CW
168482010-07-02 Colin Watson <cjwatson@ubuntu.com>
16849
16850 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16851 suitable for using within the format argument of printf when
16852 converting grub_size_t.
16853 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16854 "x" to convert grub_size_t arguments.
16855
40372103
VS
168562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16859 too long captions.
16860 (list_get_minimal_size): Take selection box into account.
16861
942a10c7
VS
168622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16865 NULL font.
16866
2bdb2892
CW
168672010-07-02 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16870 devices when iterating over /dev/disk/by-id; they will be handled
16871 later if appropriate, which they aren't always (e.g. LVM).
16872
e03ed6c1
CW
168732010-07-02 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16876 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16877 fails.
16878 (grub_halt): Likewise.
16879 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16880 reset-all fails.
16881 (grub_halt): Don't return, even if all of shut-down, power-off, and
16882 poweroff fail.
16883
47695765
CW
168842010-07-02 Colin Watson <cjwatson@ubuntu.com>
16885
16886 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16887 arguments, not three.
16888
507736c8
CW
168892010-07-02 Colin Watson <cjwatson@ubuntu.com>
16890
16891 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16892 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16893 LVM-on-RAID is handled correctly.
16894
e3c8cd37
CW
168952010-07-02 Colin Watson <cjwatson@ubuntu.com>
16896
16897 * docs/grub.texi (Changes from GRUB Legacy): New section.
16898 (Future): Fix typo.
16899
8d4a2fec
CW
169002010-07-02 Colin Watson <cjwatson@ubuntu.com>
16901
16902 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16903 grub.d/README accidentally ends up executable for one reason or
16904 another. Ignore it.
16905
1c4827be
VS
169062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16909 (gpt_partition_map_iterate): Support non-512B sectors.
16910
d9a0c941
VS
169112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16914 Tested by: Seth Goldberg.
16915
48f27e87
VS
169162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16919 Properly align mbi.
16920 Reported by: Seth Goldberg.
16921
b0c4f956
VS
169222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * util/grub-mkrescue.in: Avoid module duplication.
16925
105a2e8c
SF
169262010-07-01 Sean Finney <seanius@seanius.net>
16927
16928 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16929
5944958c
SF
169302010-07-01 Sean Finney <seanius@seanius.net>
16931
16932 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16933
169342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * disk/lvm.c (grub_lvm_checkvalue): New function.
16937 (grub_lvm_check_flag): Likewise.
16938
b79889ba
RM
169392010-07-01 Robert Millan <rmh@gnu.org>
16940
16941 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16942 Support 'p' as partition separator on kernel of FreeBSD (used
16943 with GPT labels).
16944 (grub_util_biosdisk_get_grub_dev): Likewise.
16945
ec1d04f1
VS
169462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 Yeeloong firmware port.
16949
16950 * boot/mips/yeeloong/fwstart.S: New file.
16951 * bus/cs5536.c (gpiodump): New const.
16952 (set_io_space): New function.
16953 (set_iod): Likewise.
16954 (set_p2d): Likewise.
16955 (grub_cs5536_init_geode): Likewise.
16956 * commands/mips/yeeloong/lsspd.c: New file.
16957 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16958 (serial_mod_SOURCES): New variable.
16959 (serial_mod_CFLAGS): Likewise.
16960 (serial_mod_LDFLAGS): Likewise.
16961 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16962 term/terminfo.c and term/tparm.c.
16963 (pkglib_IMAGES): Add fwstart.img.
16964 (fwstart_img_SOURCES): New variable.
16965 (fwstart_img_CFLAGS): Likewise.
16966 (fwstart_img_ASFLAGS): Likewise.
16967 (fwstart_img_LDFLAGS): Likewise.
16968 (fwstart_img_FORMAT): Likewise.
16969 (pkglib_MODULES): Add lsspd.mod.
16970 (lsspd_mod_SOURCES): New variable.
16971 (lsspd_mod_CFLAGS): Likewise.
16972 (lsspd_mod_LDFLAGS): Likewise.
16973 (pkglib_MODULES): Add halt.mod.
16974 (halt_mod_SOURCES): New variable.
16975 (halt_mod_CFLAGS): Likewise.
16976 (halt_mod_LDFLAGS): Likewise.
16977 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16978 (serial_mod_SOURCES): Removed.
16979 (serial_mod_CFLAGS): Likewise.
16980 (serial_mod_LDFLAGS): Likewise.
16981 * disk/ata.c (check_device): New function.
16982 (grub_ata_device_initialize): Use check_device.
16983 (grub_ata_iterate): Recheck devices.
16984 (grub_ata_open): Likewise.
16985 (grub_atapi_iterate): Likewise.
16986 (grub_atapi_open): Likewise.
16987 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16988 (GRUB_ATA_CH1_PORT1): Likewise.
16989 (GRUB_ATA_CH0_PORT2): Likewise.
16990 (GRUB_ATA_CH1_PORT2): Likewise.
16991 * include/grub/mips/loongson.h: New file.
16992 * include/grub/mips/yeeloong/ec.h: Likewise.
16993 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16994 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16995 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16996 * include/grub/misc.h (grub_halt): Declare as noreturn.
16997 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16998 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16999 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17000 (UART_ENABLE_DTRRTS): Likewise.
17001 (UART_ENABLE_MODEM): Removed.
17002 (UART_ENABLE_OUT2): New const.
17003 * include/grub/term.h (grub_term_register_input_active): New function.
17004 (grub_term_register_output_active): Likewise.
17005 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17006 argument.
17007 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17008 (init_pci): New function.
17009 (grub_machine_init): Execute platform init when firmware. Init serial.
17010 (grub_halt): Implement.
17011 (grub_exit): Likewise.
17012 (grub_reboot): Likewise.
17013 * term/serial.c (serial_hw_init): Update macros.
17014 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17015 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17016 (image_targets): New target mipsel-yeeloong-flash.
17017 (generate_image): Support IMAGE_YEELOONG_FLASH.
17018 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17019 (grub_video_sm712_setup): Init card.
17020 (grub_video_sm712_set_palette): Removed.
17021 * video/sm712_init.c: New file.
17022
ff4a70d2
CW
170232010-06-30 Colin Watson <cjwatson@ubuntu.com>
17024
17025 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17026 PATH when running help2man and then run it on the unadorned
17027 executable names, rather than passing $(builddir)/* paths to
17028 help2man. This avoids the build directory ending up in generated
17029 manual pages.
17030
1246efeb
CW
170312010-06-29 Colin Watson <cjwatson@ubuntu.com>
17032
17033 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17034 to avoid accidents when debugging with 'sh -x'.
17035 * util/grub-mkrescue.in: Likewise.
17036 * util/grub.d/00_header.in: Likewise.
17037 * util/grub.d/10_hurd.in: Likewise.
17038 * util/grub.d/10_kfreebsd.in: Likewise.
17039 * util/grub.d/10_linux.in: Likewise.
17040 * util/grub.d/10_netbsd.in: Likewise.
17041 * util/grub.d/10_windows.in: Likewise.
17042 * util/grub.d/20_linux_xen.in: Likewise.
17043 * util/grub.d/30_os-prober.in: Likewise.
17044 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17045
1ba9b889
CW
170462010-06-29 Colin Watson <cjwatson@ubuntu.com>
17047
17048 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17049 last character in the buffer.
17050 Reported by: Vladimir Serbinenko.
17051
dccaf99d
RM
170522010-06-29 Robert Millan <rmh@gnu.org>
17053
17054 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17055 (Command-line and menu entry commands): Document `badram' command.
17056
d500ed12
RM
170572010-06-28 Robert Millan <rmh@gnu.org>
17058
17059 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17060 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17061 command using ${GRUB_BADRAM} as parameter.
17062
20bc84a6
CW
170632010-06-28 Colin Watson <cjwatson@ubuntu.com>
17064
17065 * docs/grub.texi (Device map): New section.
17066 (Themes): New section (stub).
17067 * Makefile.in (docs/grub.info): The info documentation now builds
17068 without errors. Make sure it stays that way.
17069
4045dee1
VS
170702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 Use normal parser for menu entries.
17073 Reported by: Thomas Frauendorfer
17074
17075 * include/grub/parser.h (grub_parser_execute): Don't export.
17076 * normal/menu.c (grub_menu_execute_entry_real): New function.
17077 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17078
bca58c7b
CW
170792010-06-28 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * docs/grub.texi (Embedded configuration): New section (replacing
17082 old "Preset Menu" stub).
17083 (Images): New section.
17084 (configfile): Note that any menu entries defined in `file' are shown
17085 immediately.
17086
dec53e63
JT
170872010-06-28 Josh Triplett <josh@joshtriplett.org>
17088
17089 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17090
c06e40f7
CW
170912010-06-28 Colin Watson <cjwatson@ubuntu.com>
17092
17093 * util/grub-install.in: Add --debug-image= option.
17094
cb88052b
CW
170952010-06-28 Colin Watson <cjwatson@ubuntu.com>
17096
17097 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17098 possible on Linux.
17099
17100 * util/deviceiter.c (check_device): Rename to ...
17101 (check_device_readable_unique): ... this. Update all callers.
17102 Maintain and check a list of which devices (by canonicalized name)
17103 have already been seen.
17104 (clear_seen_devices): New function.
17105 (compare_file_names) [__linux__]: New function.
17106 (grub_util_iterate_devices): Clear the list of seen devices on exit
17107 and (just in case) on entry.
17108 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17109 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17110 seen-devices list, superseded by general code in check_device.
17111
bbe34652
CW
171122010-06-28 Colin Watson <cjwatson@ubuntu.com>
17113
17114 * commands/cat.c (options): New variable.
17115 (grub_cmd_cat): Parse options. If the --dos option is given, print
17116 DOS-style "\r\n" line endings as simple newlines (Debian bug
17117 #586358).
17118 (GRUB_MOD_INIT): Use extcmd.
17119 (GRUB_MOD_FINI): Likewise.
17120 * docs/grub.texi (cat): Document --dos.
17121
412e09f3
VS
171222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 XEN with Linux grub-mkconfig support.
17125
17126 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17127 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17128 GRUB_CMDLINE_XEN_DEFAULT.
17129 * util/grub.d/20_linux_xen.in: New file.
17130
53f3ef38 171312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17132
17133 Initialise VGA video on qemu ourselves.
17134
17135 * boot/i386/qemu/boot.S: Don't call 0xc000.
17136 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17137 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17138 (kernel_img_HEADERS): Add pci.h.
17139 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17140 * configure.ac: Force unifont on qemu and yeeloong.
17141 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17142 (grub_vga_palette_write): Use correct register.
17143 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17144 Call grub_qemu_init_cirrus.
17145 * kern/i386/qemu/init.c: New file.
17146 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17147
17148 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17149
c75be4fb
PR
171502010-06-26 Pavel Roskin <proski@gnu.org>
17151
17152 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17153 13.
17154
d8034603
CW
171552010-06-26 Colin Watson <cjwatson@ubuntu.com>
17156
17157 * docs/grub.texi (Simple configuration): Explain that
17158 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17159 set to `true' to disable their respective recovery entries, not
17160 merely set.
17161
3fa06487
CW
171622010-06-26 Colin Watson <cjwatson@ubuntu.com>
17163
17164 Make the `source' command slightly faster.
17165
17166 * normal/main.c (grub_normal_execute): Don't re-read list files when
17167 nested.
17168
e9b29642
CW
171692010-06-23 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17172 field position and mask size to red fields from mode_info, not
17173 green.
17174 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17175 Remove redundant tag->common.framebuffer_type assignment.
17176 Reported by: Seth Goldberg.
17177
e726542f
CW
171782010-06-23 Colin Watson <cjwatson@ubuntu.com>
17179
17180 Sync up other versions of the Linux loader with Robert Millan's
17181 change of 2010-01-09, "Make loader output a bit more user-friendly".
17182
17183 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17184 grub_dprintf().
17185 (grub_cmd_linux): Likewise.
17186 (grub_cmd_initrd): Likewise.
17187 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17188 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17189
d6e98a17
CW
171902010-06-21 Colin Watson <cjwatson@ubuntu.com>
17191
17192 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17193 larger than MEMORY_MAP_SIZE.
17194
14d3f08e
BC
171952010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17196
17197 Fix parallel build.
17198
17199 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17200 dependency.
17201 * script/parser.y: #include grub_script.tab.h header.
17202
4f9613a3
VS
172032010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 Support >3GiB and <16MiB RAM in i386-qemu.
17206
17207 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17208 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17209 (grub_lower_mem): Removed.
17210 (grub_upper_mem): Likewise.
17211 (mem_size): Made static.
17212 (above_4g): New variable.
17213 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17214 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17215 support.
17216
05e51879
VS
172172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 Cirrus 5446 and Bochs video cards support.
17220
17221 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17222 video_bochs.mod
17223 (video_cirrus_mod_SOURCES): New variable.
17224 (video_cirrus_mod_CFLAGS): Likewise.
17225 (video_cirrus_mod_LDFLAGS): Likewise.
17226 (video_bochs_mod_SOURCES): Likewise.
17227 (video_bochs_mod_CFLAGS): Likewise.
17228 (video_bochs_mod_LDFLAGS): Likewise.
17229 * include/grub/vga.h: New file.
17230 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17231 (grub_video_fb_set_page_t): New type.
17232 (grub_video_fb_setup): New prototype.
17233 (grub_video_fb_swap_buffers): Likewise.
17234 (grub_video_fb_get_info_and_fini): Likewise.
17235 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17236 (CRTC_DATA_PORT): Likewise.
17237 (CRTC_CURSOR): Likewise.
17238 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17239 (CRTC_CURSOR_ADDR_LOW): Likewise.
17240 (CRTC_CURSOR_DISABLE): Likewise.
17241 (update_cursor): Use grub_vga_cr_write.
17242 (grub_vga_text_setcursor): Likewise.
17243 * video/bochs.c: New file.
17244 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17245 (palette): Likewise.
17246 (palette_size): Likewise.
17247 (framebuffer): New variable.
17248 (grub_video_fb_init): Use 'framebuffer'.
17249 (grub_video_fb_fini): Likewise.
17250 (grub_video_fb_get_info): Likewise.
17251 (grub_video_fb_get_palette): Likewise.
17252 (grub_video_fb_set_palette): Likewise.
17253 (grub_video_fb_set_viewport): Likewise.
17254 (grub_video_fb_get_viewport): Likewise.
17255 (grub_video_fb_map_color): Likewise.
17256 (grub_video_fb_map_rgb): Likewise.
17257 (grub_video_fb_map_rgba): Likewise.
17258 (grub_video_fb_unmap_color): Likewise.
17259 (grub_video_fb_unmap_color_int): Likewise.
17260 (grub_video_fb_fill_rect): Likewise.
17261 (grub_video_fb_blit_bitmap): Likewise.
17262 (grub_video_fb_blit_render_target): Likewise.
17263 (grub_video_fb_scroll): Likewise.
17264 (grub_video_fb_create_render_target): Likewise.
17265 (grub_video_fb_doublebuf_blit_init): Likewise.
17266 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17267 (doublebuf_pageflipping_update_screen): New function.
17268 (doublebuf_pageflipping_init): Likewise.
17269 (grub_video_fb_setup): Likewise.
17270 (grub_video_fb_swap_buffers): Likewise.
17271 (grub_video_fb_get_info_and_fini): Likewise.
17272 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17273 All users updated.
17274 (doublebuf_pageflipping_commit): Restructured into ...
17275 (doublebuf_pageflipping_set_page): ... this.
17276 (doublebuf_pageflipping_update_screen): Removed.
17277 (doublebuf_pageflipping_init): Likewise.
17278 (double_buffering_init): Likewise.
17279 (grub_video_vbe_setup): Use grub_video_fb_setup.
17280 (grub_video_vbe_swap_buffers): Removed.
17281 (grub_video_vbe_set_active_render_target): Likewise.
17282 (grub_video_vbe_get_active_render_target): Likewise.
17283 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17284 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17285 grub_video_fb_set_active_render_target and
17286 grub_video_fb_get_active_render_target.
17287 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17288 (SEQUENCER_DATA_PORT): Likewise.
17289 (MAP_MASK_REGISTER): Likewise.
17290 (CRTC_ADDR_PORT): Likewise.
17291 (CRTC_DATA_PORT): Likewise.
17292 (START_ADDR_HIGH_REGISTER): Likewise.
17293 (START_ADDR_LOW_REGISTER): Likewise.
17294 (GRAPHICS_ADDR_PORT): Likewise.
17295 (GRAPHICS_DATA_PORT): Likewise.
17296 (READ_MAP_REGISTER): Likewise.
17297 (INPUT_STATUS1_REGISTER): Likewise.
17298 (INPUT_STATUS1_VERTR_BIT): Likewise.
17299 (get_map_mask): Use grub_vga_sr_read.
17300 (set_map_mask): Use grub_vga_sr_write.
17301 (set_read_map): Use grub_vga_gr_write.
17302 (set_start_address): Use grub_vga_cr_write.
17303 * video/sm712.c (framebuffer): Remove leftover fields.
17304
4321c64a
CW
173052010-06-20 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17308 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17309 instead. Replace the gfxterm backend check with a check that
17310 ${GRUB_PREFIX}/video.lst is non-empty.
17311 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17312 again.
17313 (load_video): New generated function. Call it before loading
17314 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17315 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17316 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17317 * docs/grub.texi (Simple configuration): Document
17318 GRUB_VIDEO_BACKEND.
17319
173202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 Use video functions in linux and xnu loaders.
17323
17324 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17325 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17326 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17327 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17328 loader/i386/pc/linux.c.
17329 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17330 (find_line_len): Removed.
17331 (find_framebuf): Likewise.
17332 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17333 * loader/i386/efi/xnu.c: Removed.
17334 * loader/i386/pc/xnu.c: Moved from here...
17335 * loader/i386/xnu.c: ...here.
17336
17337 Enable priorities in video drivers.
17338
17339 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17340 (grub_video_adapter): New field prio.
17341 (grub_video_register): Respect prio when inserting.
17342 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17343 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17344 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17345 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17346 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17347 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17348 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17349
17350 Fix SDL driver ID.
17351
17352 * include/grub/video.h (grub_video_driver_id_t): New value
17353 GRUB_VIDEO_DRIVER_SDL.
17354 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17355
7d24e434
CW
173562010-06-17 Colin Watson <cjwatson@ubuntu.com>
17357
17358 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17359 argument to printf.
17360 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17361
c88a83f6
CW
173622010-06-17 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17365 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17366
094dfb69
CW
173672010-06-17 Colin Watson <cjwatson@ubuntu.com>
17368
17369 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17370 directly, and recommend grub-install instead.
17371 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17372
2164da6b
CW
173732010-06-17 Colin Watson <cjwatson@ubuntu.com>
17374
17375 Fix i386-pc prefix handling with nested partitions (Debian bug
17376 #585068). Note that the case where the core image is booted using
17377 multiboot and relocated from its original location still requires
17378 more work.
17379
17380 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17381 with "(,", fill the boot drive in between those two characters, but
17382 expect that a full partition specification including partition map
17383 names will follow.
17384 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17385 specified, write a prefix without the drive name but including a
17386 full partition specification.
17387
044e2e60
CW
173882010-06-16 Colin Watson <cjwatson@ubuntu.com>
17389
17390 * util/grub-mkconfig.in: Ignore non-option arguments, for
17391 compatibility with older versions (before 2010-06-12) which did the
17392 same. In particular, this makes it easier to ship an update-grub
17393 wrapper which is compatible with that used with GRUB Legacy (Debian
17394 bug #586056).
17395
5591324f
GS
173962010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17397
17398 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17399 for manual page generation.
17400
662e24d5
GS
174012010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17402
17403 * po/POTFILES: Remove leftover commands/handler.c.
17404
8d70754e
CW
174052010-06-14 Colin Watson <cjwatson@ubuntu.com>
17406
17407 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17408 left this script non-functional.
17409
41160e2e
CW
174102010-06-14 Colin Watson <cjwatson@ubuntu.com>
17411
17412 * docs/man/grub-emu.h2m: New file.
17413
b5309cc1
CW
174142010-06-13 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * docs/grub.texi (Commands): Document reduced command set in rescue
17417 mode.
17418 (cpuid): New section.
17419
fcb2d090
GS
174202010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17421
17422 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17423 new partition naming style.
17424 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17425
96e5c556
BC
174262010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17427
17428 Add "-o grub.iso" like cmdline options support.
17429
17430 * util/grub-install.in: Improve cmdline option parsing.
17431 * util/grub-mkconfig.in: Likewise.
17432 * util/grub-mkrescue.in: Likewise.
17433 * util/grub-reboot.in: Likewise.
17434 * util/grub-set-default.in: Likewise.
17435 * util/i386/efi/grub-install.in: Likewise.
17436 * util/ieee1275/grub-install.in: Likewise.
17437 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17438
c16be99b
CW
174392010-06-12 Colin Watson <cjwatson@ubuntu.com>
17440
17441 * .bzrignore: Ignore 41_custom.
17442
ce08a9fb
TS
174432010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17444
17445 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17446
7beac90c
CW
174472010-06-12 Colin Watson <cjwatson@ubuntu.com>
17448
17449 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17450 prototype declarations.
17451
17452 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17453 generating fs, partmap, and video lists.
17454 * include/grub/fs.h (grub_fs_register): Omit prototype if
17455 GRUB_LST_GENERATOR is defined.
17456 * include/grub/partition.h (grub_partition_map_register): Likewise.
17457 * include/grub/video.h (grub_video_register): Likewise.
17458
1c8f0f8d
JM
174592010-06-12 Javier Martín <lordhabbit@gmail.com>
17460
17461 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17462
a6085973
TS
174632010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17464
17465 * util/grub-mkrescue.in: Support --xorriso argument.
17466
25c56d29
VS
174672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17470 Suggested by: Thomas Schmitt.
17471
e03e4b24
VS
174722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17475 Suggested by: Thomas Schmitt.
17476
57711df6
VS
174772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 custom.cfg support.
17480
17481 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17482 * util/grub.d/41_custom.in: New file.
17483
ee62c427
CW
174842010-06-12 Colin Watson <cjwatson@ubuntu.com>
17485
17486 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17487 been merged back into normal.
17488
283af07a
CW
174892010-06-11 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17492 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17493
56a0d956
CW
174942010-06-11 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17497 when generating manual pages.
17498 * docs/man/grub-bin2h.h2m: New file.
17499 * docs/man/grub-editenv.h2m: New file.
17500 * docs/man/grub-fstest.h2m: New file.
17501 * docs/man/grub-install.h2m: New file.
17502 * docs/man/grub-macho2img.h2m: New file.
17503 * docs/man/grub-mkconfig.h2m: New file.
17504 * docs/man/grub-mkdevicemap.h2m: New file.
17505 * docs/man/grub-mkfont.h2m: New file.
17506 * docs/man/grub-mkimage.h2m: New file.
17507 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17508 * docs/man/grub-mkrelpath.h2m: New file.
17509 * docs/man/grub-mkrescue.h2m: New file.
17510 * docs/man/grub-ofpathname.h2m: New file.
17511 * docs/man/grub-pe2elf.h2m: New file.
17512 * docs/man/grub-probe.h2m: New file.
17513 * docs/man/grub-reboot.h2m: New file.
17514 * docs/man/grub-script-check.h2m: New file.
17515 * docs/man/grub-set-default.h2m: New file.
17516 * docs/man/grub-setup.h2m: New file.
17517
3a37e322
VS
175182010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 Use FOR_* macros instead of *_iterate whenever possible.
17521
17522 * commands/handler.c: Removed.
17523 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17524 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17525 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17526 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17527 (grub_probe_SOURCES): Remove kern/parser.c.
17528 (util/grub-script-check.c_DEPENDENCIES): Removed.
17529 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17530 and grub_script_check_init.c.
17531 (grub_script_check_init.lst): Removed.
17532 (grub_script_check_init.h): Likewise.
17533 (grub_script_check_init.c): Likewise.
17534 (pkglib_MODULES): Remove handler.mod and sh.mod.
17535 (handler_mod_SOURCES): Removed.
17536 (handler_mod_CFLAGS): Likewise.
17537 (handler_mod_LDFLAGS): Likewise.
17538 (normal_mod_SOURCES): Remove normal/handler.c.
17539 Add script/main.c, script/script.c, script/execute.c,
17540 script/function.c, script/lexer.c, grub_script.tab.c
17541 and grub_script.yy.c.
17542 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17543 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17544 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17545 (grub_setup_SOURCES): Remove kern/parser.c.
17546 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17547 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17548 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17549 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17550 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17551 (grub_setup_SOURCES): Remove kern/parser.c.
17552 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17553 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17554 * include/grub/command.h (grub_command_iterate): Removed.
17555 (FOR_COMMANDS): New macro.
17556 * include/grub/dl.h (grub_dl): New member next.
17557 (grub_dl_iterate): Removed.
17558 (grub_dl_head): New variable declaration.
17559 (FOR_DL_MODULES): New macro.
17560 * include/grub/fs.h: Include list.h.
17561 (grub_fs): Make next first element.
17562 (grub_fs_list): New variable declaration.
17563 (grub_fs_register): Make inline.
17564 (grub_fs_unregister): Likewise.
17565 (grub_fs_iterate): Removed.
17566 (FOR_FILESYSTEMS): New macro.
17567 * include/grub/handler.h: Removed.
17568 * include/grub/list.h (grub_list_hook_t): Removed.
17569 (grub_list_test_t): Likewise.
17570 (grub_list_pop): Likewise.
17571 (grub_list_iterate): Likewise.
17572 (grub_list_insert): Likewise.
17573 (FOR_LIST_ELEMENTS): New macro.
17574 * include/grub/parser.h (grub_parser_class): Removed.
17575 (grub_parser_register): Likewise.
17576 (grub_parser_unregister): Likewise.
17577 (grub_parser_get_current): Likewise.
17578 (grub_parser_set_current): Likewise.
17579 (grub_register_rescue_parser): Likewise.
17580 (grub_rescue_parse_line): New function.
17581 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17582 * include/grub/script_sh.h (grub_script_function_list): New variable
17583 declaration.
17584 (FOR_SCRIPT_FUNCTIONS): New macro.
17585 (grub_script_function_iterate): Removed.
17586 (grub_normal_parse_line): New prototype.
17587 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17588 (FOR_DISABLED_TERM_INPUTS): Likewise.
17589 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17590 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17591 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17592 element.
17593 (grub_video_register): Inline.
17594 (grub_video_unregister): Likewise.
17595 (grub_video_adapter_list): New variable declaration.
17596 (grub_video_iterate): Removed.
17597 (FOR_VIDEO_ADAPTERS): New macro.
17598 * kern/dl.c (grub_dl_list): Removed. All users updated.
17599 (grub_dl_iterate): Removed.
17600 * kern/fs.c (grub_fs_list): Make global.
17601 (grub_fs_register): Removed.
17602 (grub_fs_unregister): Likewise.
17603 (grub_fs_iterate): Likewise.
17604 * kern/handler.c: Removed.
17605 * kern/list.c (grub_list_pop): Removed.
17606 (grub_list_iterate): Likewise.
17607 (grub_list_insert): Likewise.
17608 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17609 (grub_prio_list_insert): Don't use grub_list_insert.
17610 * kern/main.c (grub_register_rescue_parser): Don't call
17611 grub_register_rescue_parser.
17612 * kern/parser.c (grub_parser_class): Removed.
17613 (grub_parser_execute): Use grub_rescue_parse_line.
17614 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17615 (grub_rescue_parser): Removed.
17616 (grub_register_rescue_parser): Likewise.
17617 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17618 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17619 (grub_auth_check_authentication): Likewise.
17620 * normal/completion.c (iterate_command): Removed.
17621 (grub_normal_do_completion): Use FOR_COMMANDS.
17622 * normal/handler.c: Removed.
17623 * normal/main.c (read_config_file): Remove parser changing.
17624 (grub_normal_execute): Don't call read_handler_list.
17625 (grub_normal_read_line_real): Statically allocate prompt.
17626 (grub_cmdline_run): Use grub_normal_parse_line.
17627 (GRUB_MOD_FINI): Don't call free_handler_list.
17628 * normal/menu_entry.c (run): Likewise.
17629 * script/function.c (grub_script_function_list): Make global.
17630 (grub_script_function_iterate): Removed.
17631 * script/main.c (grub_normal_parse_line): Make global.
17632 (grub_sh_parser): Removed.
17633 (GRUB_MOD_INIT): Likewise.
17634 (GRUB_MOD_FINI): Likewise.
17635 * tests/lib/functional_test.c (grub_functional_test): Use
17636 FOR_LIST_ELEMENTS.
17637 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17638 (grub_test_run): Use FOR_LIST_ELEMENTS.
17639 * tests/lib/unit_test.c (main): Likewise.
17640 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17641 grub_list_pop.
17642 * util/grub-fstest.c (grub_term_input_class): Removed.
17643 (grub_term_output_class): Likewise.
17644 * util/grub-probe.c: Likewise.
17645 * util/i386/pc/grub-setup.c: Likewise.
17646 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17647 * util/grub-script-check.c (main): Don't call grub_init_all and
17648 grub_fini_all.
17649 * video/video.c (grub_video_adapter_list): Make global.
17650 (grub_video_register): Removed.
17651 (grub_video_unregister): Likewise.
17652 (grub_video_iterate): Likewise.
17653
6289c3a7
VS
176542010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17657 reported by Henrique Ferreiro.
17658
91460247
RM
176592010-06-09 Robert Millan <rmh@gnu.org>
17660
17661 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17662 ones, when both are available.
17663
0ea7c4f9
GS
176642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17665
17666 Make --version uniform and avoid hard-coded program name.
17667
17668 * util/grub-mkimage.c (main): Use `program_name' instead of
17669 hard-coded string.
17670 * util/i386/pc/grub-setup.c (main): Likewise.
17671 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17672 * util/grub-install.in: Save the basename of $0 in $self, and use the
17673 latter in informational messages. Use the same format for --version
17674 as the binary programs.
17675 * util/grub-mkconfig.in: Likewise.
17676 * util/grub-mkrescue.in: Likewise.
17677 * util/grub-reboot.in: Likewise.
17678 * util/grub-set-default.in: Likewise.
17679 * util/i386/efi/grub-install.in: Likewise.
17680 * util/ieee1275/grub-install.in: Likewise.
17681 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17682
e8a6f3b6
GS
176832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17684
17685 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17686 embedding area. Use <= instead of == when checking for non-emptiness.
17687
f4d095d7
GS
176882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17689
17690 * configure.ac: Add `.' to the directories searched for unifont.
17691
50e532ca
CW
176922010-06-08 Colin Watson <cjwatson@ubuntu.com>
17693
17694 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17695 grub_script.yy.h.
17696
d39f3dec
CW
176972010-06-08 Colin Watson <cjwatson@ubuntu.com>
17698
17699 * docs/grub.texi (History): Expand to cover GRUB 2.
17700 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17701 commands, not `terminal'.
17702 (serial): Likewise.
17703 (terminal_input): New section.
17704 (terminal_output): New section.
17705 (uppermem): New section (stub).
17706 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17707
6ef0ddb4
CW
177082010-06-08 Colin Watson <cjwatson@ubuntu.com>
17709
17710 * docs/grub.texi (Security): Menu entries are unrestricted by
17711 default, not restricted to superusers as I had previously thought.
17712 Reword to account for this.
17713
e0f4c438
CW
177142010-06-07 Colin Watson <cjwatson@ubuntu.com>
17715
17716 * kern/emu/misc.c (device_mapper_null_log): New function.
17717 (grub_device_mapper_supported): New function.
17718 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17719 prototype.
17720 * kern/emu/hostdisk.c (find_partition_start): Check whether
17721 device-mapper is supported before trying to use it.
17722 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17723
da908200
CW
177242010-06-07 Colin Watson <cjwatson@ubuntu.com>
17725
17726 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17727 (File name syntax): Likewise.
17728 (help): --all is no longer supported in GRUB 2. Be more precise
17729 about pattern matching.
17730
fb55c3ac
CW
177312010-06-07 Colin Watson <cjwatson@ubuntu.com>
17732
17733 * normal/completion.c (grub_normal_do_completion): When completing
17734 arguments to "set" and the current word contains an equals sign,
17735 skip to after the equals sign before starting completion.
17736
258c2573
CW
177372010-06-07 Colin Watson <cjwatson@ubuntu.com>
17738
17739 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17740
ee75515e
CW
177412010-06-07 Colin Watson <cjwatson@ubuntu.com>
17742
17743 * docs/grub.texi (Network): New section.
17744 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17745 `(nd)' as in GRUB Legacy.
17746 (pxe_unload): New section.
17747
a6a700aa
CW
177482010-06-07 Colin Watson <cjwatson@ubuntu.com>
17749
17750 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17751 in the rescue shell, so recommend using `set' instead. Thanks,
17752 Jordan Uggla.
17753
4003dd38
CW
177542010-06-07 Colin Watson <cjwatson@ubuntu.com>
17755
17756 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17757 (password): New section.
17758 (password_pbkdf2): New section.
17759 (search): New section.
17760 (Security): New section.
17761 (Troubleshooting): New section, currently very incomplete.
17762 (Invoking grub-mkpasswd-pbkdf2): New section.
17763 (Internals): New section, currently very incomplete.
17764
e1cbcc40
CW
177652010-06-07 Colin Watson <cjwatson@ubuntu.com>
17766
17767 * util/grub.d/00_header.in: Add some more quoting (of
17768 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17769 work again.
17770 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17771
db8fa1ad
CW
177722010-06-07 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17775 to `count', fixing variable shadowing that broke the -c option.
17776
177772010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17778
17779 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17780 in case they contain spaces.
17781
f28a9212
CW
177822010-06-04 Colin Watson <cjwatson@ubuntu.com>
17783
17784 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17785 "part_" to partmap module names, in line with grub-install.
17786 Reported by: Jindřich Makovička (Debian bug #584426).
17787
9cdfe32f
CW
177882010-06-04 Colin Watson <cjwatson@ubuntu.com>
17789
17790 * util/grub-mkimage.c: Make target-related error messages slightly
17791 more helpful; -O talks about "format". Explicitly point to the use
17792 of -O if no target is specified.
17793 Reported by: Didier Raboud (Debian bug #584415).
17794
795b593a
CW
177952010-06-03 Colin Watson <cjwatson@ubuntu.com>
17796
17797 * INSTALL: Document several build requirements for optional features
17798 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17799
9d9b5833
GS
178002010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17801
17802 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17803 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17804 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17805
0819fec8
CW
178062010-06-02 Colin Watson <cjwatson@ubuntu.com>
17807
17808 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17809 Thanks to Jordan Uggla for spotting this.
17810
49396b4f
VS
178112010-06-02 Aleš Nesrsta <starous@volny.cz>
17812
17813 Finally make USB usable.
17814
17815 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17816 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17817 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17818 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17819 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17820 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17821 (GRUB_OHCI_FSMPS): Likewise.
17822 (GRUB_OHCI_PERIODIC_START): Likewise.
17823 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17824 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17825 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17826 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17827 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17828 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17829 (grub_ohci_transaction): Likewise.
17830 (grub_ohci_transfer): Improve condition detection algorithms.
17831 Handle toggle property. Program the transactions correctly.
17832 Improve error handling. Various important fixups.
17833 (grub_ohci_portstatus): Put register writes in right order.
17834 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17835 (grub_uhci_transfer): Don't show "failed" message on success.
17836 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17837 array.
17838 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17839 determine its size.
17840 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17841 before initialization is completed. Use IN direction for empty
17842 transfers. Use last_trans and compute toggle.
17843 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17844 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17845 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17846 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17847 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17848 (grub_usb_device): Increase toggle to 256.
17849 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17850 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17851 GRUB_USBMS_SUBCLASS_SFF8070.
17852 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17853 (grub_scsi_inquiry): New member page and alloc_length.
17854 (grub_scsi_request_sense): New structure.
17855 (grub_scsi_request_sense_data): Likewise.
17856 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17857 control.
17858 * disk/scsi.c (grub_scsi_request_sense): New function.
17859 (grub_scsi_test_unit_ready): Likewise.
17860 (grub_scsi_inquiry): Fill new fields.
17861 (grub_scsi_read_capacity): Likewise.
17862 (grub_scsi_read10): Add request sense at the end.
17863 (grub_scsi_read12): Likewise.
17864 (grub_scsi_write10): Likewise.
17865 (grub_scsi_write12): Likewise.
17866 (grub_scsi_open): Add Test Unit Ready.
17867 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17868 Support additional subclasses. Con't clear halt yet. Activate the
17869 proper config. Calculate LUNs correctly.
17870 (grub_usbms_transfer): Various important fixups.
17871
178722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17875 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17876 (grub_ohci_fini_hw): New function.
17877 (grub_ohci_restore_hw): Likewise.
17878 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17879 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17880 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17881
178822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 Dedicated DMA allocations.
17885
17886 * bus/pci.c (grub_memalign_dma32): New function
17887 (grub_dma_free): Likewise.
17888 (grub_dma_get_virt): Likewise.
17889 (grub_dma_get_phys): Likewise.
17890 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17891 (grub_ohci_pci_iter): Use dma32_alloc.
17892 (grub_ohci_transfer): Likewise.
17893 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17894 (grub_usb_bulk_readwrite): Likewise.
17895 * include/grub/pci.h: Add declarations.
17896
178972010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 CS5536 support.
17900
17901 * bus/cs5536.c: New file.
17902 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17903 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17904 (cs5536_mod_SOURCES): New variable.
17905 (cs5536_mod_CFLAGS): Likewise.
17906 (cs5536_mod_LDFLAGS): Likewise.
17907 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17908 machine/pci.h.
17909 (kernel_img_SOURCES): Add bus/cs5536.c.
17910 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17911 usb_keyboard.mod.
17912 (usb_mod_SOURCES): New variable.
17913 (usb_mod_CFLAGS): New variable.
17914 (usb_mod_LDFLAGS): New variable.
17915 (usbtest_mod_SOURCES): New variable.
17916 (usbtest_mod_CFLAGS): New variable.
17917 (usbtest_mod_LDFLAGS): New variable.
17918 (ohci_mod_SOURCES): New variable.
17919 (ohci_mod_CFLAGS): New variable.
17920 (ohci_mod_LDFLAGS): New variable.
17921 (usbms_mod_SOURCES): New variable.
17922 (usbms_mod_CFLAGS): New variable.
17923 (usbms_mod_LDFLAGS): New variable.
17924 (usb_keyboard_mod_SOURCES): New variable.
17925 (usb_keyboard_mod_CFLAGS): New variable.
17926 (usb_keyboard_mod_LDFLAGS): New variable.
17927 * include/grub/smbus.h: New file.
17928 * include/grub/cs5536.h: New file.
17929
0b35b2a9
CW
179302010-06-02 Colin Watson <cjwatson@ubuntu.com>
17931
17932 * util/grub.d/00_header.in: Add safety check to make sure that
17933 ${locale_dir} exists before trying to probe it.
17934
ca0afd5b
CW
179352010-06-02 Colin Watson <cjwatson@ubuntu.com>
17936
17937 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17938 per the GNU Coding Standards; this is now too obscure to be worth
17939 documenting.
17940 (QNX): Likewise.
17941 (chainloader): Remove cross-reference to `SCO UnixWare'.
17942
1c41aa78
CW
179432010-06-02 Colin Watson <cjwatson@ubuntu.com>
17944
17945 * docs/grub.texi (Chain-loading): New section.
17946 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17947 adjusted for GRUB 2.
17948 (SCO UnixWare): Likewise.
17949 (QNX): Likewise.
17950 (chainloader): Add reference to `Block list syntax'.
17951 (drivemap): New section.
17952 (parttool): New section.
17953
bb8ea0f5
CW
179542010-06-02 Colin Watson <cjwatson@ubuntu.com>
17955
17956 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17957 the grub shell'.
17958 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17959 (Installing GRUB using grub-install): Remove reference to the grub
17960 shell; mention `grub-mkimage' and `grub-setup' instead.
17961 (Invoking grub-install): Likewise.
17962 (Interface): Add reference to `Menu entry editor'.
17963 (serial): Remove `--device' option.
17964
288dd6ed
CW
179652010-06-02 Colin Watson <cjwatson@ubuntu.com>
17966
17967 * docs/grub.texi (Configuration): New section, documenting
17968 configuration file generation using grub-mkconfig. I've left a slot
17969 for documenting the full shell scripting format but have not yet
17970 started on writing that up.
17971 (Invoking grub-mkconfig): New section.
17972
34c9f0e9
CW
179732010-06-02 Colin Watson <cjwatson@ubuntu.com>
17974
17975 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17976 (GNU GRUB manual): Likewise.
17977 (General commands): Update description of `terminfo' for GRUB 2.
17978
9121567e
CW
179792010-06-02 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17982 (GRUB_MOD_INIT): Fix capitalisation.
17983 * docs/grub.texi (Command-line and menu entry commands): Document
17984 gettext and gptsync commands.
17985
ab631611
CW
179862010-06-02 Colin Watson <cjwatson@ubuntu.com>
17987
17988 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17989 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17990
bde4a9ac
CW
179912010-06-01 Colin Watson <cjwatson@ubuntu.com>
17992
17993 Add btrfs probing support, currently only in the single-device case.
17994
17995 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17996 function.
17997 (grub_guess_root_device): Call find_root_device_from_mountinfo
17998 before looking in /dev.
17999
b1d17e10
VS
180002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18003 GRUB_DISK_SIZE_UNKNOWN.
18004 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18005
dfbfe004
JS
180062010-05-31 Jiro SEKIBA <jir@unicus.jp>
18007
18008 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18009 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18010 corrupted or not synced properly.
18011
c2ffc8e9
VS
180122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18015 Reported by: Seth Goldberg.
18016
56293166
VS
180172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18020 addition of dest.
18021 Reported by: Seth Goldberg.
18022
7620e7de
VS
180232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18026 Reported by: Seth Goldberg.
18027
c837af3f
VS
180282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18031 64-bit address as signed on MIPS.
18032
c7c75cf4
CW
180332010-05-28 Colin Watson <cjwatson@ubuntu.com>
18034
18035 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18036 to the empty string.
18037
fa4b8490
BC
180382010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18039
18040 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18041
18042 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18043 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18044 * kern/misc.c (__enable_execute_stack): Disable on
18045 GRUB_MACHINE_EMU.
18046
a33075b9
CW
180472010-05-28 Colin Watson <cjwatson@ubuntu.com>
18048
18049 Make grub-probe work with symbolic links under /dev/mapper as well
18050 as with real block devices. The Linux world seems to be (at best)
18051 in transition here, and GRUB shouldn't get caught in the middle.
18052
18053 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18054 /dev/mapper.
18055
d8708134
CW
180562010-05-27 Colin Watson <cjwatson@ubuntu.com>
18057
18058 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18059 input files (in which case exit zero).
18060
db2102a0
CW
180612010-05-27 Colin Watson <cjwatson@ubuntu.com>
18062
18063 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18064 return NULL for various reasons even if it has a maximum-length
18065 buffer: for example, there might be a symlink loop, or the path
18066 might exceed PATH_MAX. If this happens, return NULL.
18067
5fdba519
RM
180682010-05-27 Robert Millan <rmh@gnu.org>
18069
18070 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18071 partmap module to handle cross-partmap setups.
18072 Reported by Orestes Mas. Gràcies!
18073
d1d368e4
CW
180742010-05-27 Colin Watson <cjwatson@ubuntu.com>
18075
18076 * util/grub-mkrescue.in: Initialise override_dir rather than
18077 assuming that it's unset or empty in the environment.
18078
95ac3c73
GS
180792010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18080
18081 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18082 variable index into p_index to suppress a warning with -Wshadow.
18083
7d8c0213
BC
180842010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18085
18086 * INSTALL: Added flex >= 2.5.35 requirement.
18087
db4d5813
VS
180882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18091
f24f4300
VS
180922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 cmostest support.
18095
18096 * commands/i386/cmostest.c: New file.
18097 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18098 (cmostest_mod_SOURCES): New variable.
18099 (cmostest_mod_CFLAGS): Likewise.
18100 (cmostest_mod_LDFLAGS): Likewise.
18101 * conf/i386-pc.rmk: Likewise.
18102 * docs/grub.texi (Vendor power-on keys): New section.
18103 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18104 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18105 and GRUB_BUTTON_CMOS_ADDRESS.
18106 * util/grub.d/00_header.in: Handle powering-on by separate button.
18107
ad603f61
VS
181082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18111 Removed drawing_scrollbar argument. All users updated
18112 Fixes #29792.
18113 Reported by Jo Shields
18114
3ecb080a
VS
181152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18118 buffer since gfxterm handles double repaint.
18119
5f2316c1
VS
181202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18123 * term/gfxterm.c (real_scroll): Likewise.
18124
9a25f885
VS
181252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18128 before calling BIOS.
18129
39fbb79a
VS
181302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * include/grub/i18n.h: Always enable grub_gettext.
18133
228cfa97
VS
181342010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18137 partition naming style.
18138
21717c8f
CW
181392010-05-21 Colin Watson <cjwatson@ubuntu.com>
18140
18141 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18142 not the first option.
18143
c0f48e65
CW
181442010-05-20 Colin Watson <cjwatson@ubuntu.com>
18145
18146 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18147
96779aec
CW
181482010-05-20 Colin Watson <cjwatson@ubuntu.com>
18149
18150 * util/misc.c: Move inclusion of <limits.h> to ...
18151 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18152
fa9d256e
GS
181532010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18154
18155 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18156 Fix merge error in NetBSD code.
18157 (find_partition_start) [__NetBSD__]: Likewise.
18158
123b7a85
BC
181592010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18160
18161 Fix grub-mkrescue usage unit testing.
18162
18163 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18164
74276c0d
CF
181652010-05-18 Christian Franke <franke@computer.org>
18166
18167 * util/grub.d/10_windows.in: Use path names instead of
18168 drive letters to prevent warning from Cygwin 1.7.
18169 Add drivemap command to menuentry if needed.
18170
c4f7b523
ST
181712010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18172
18173 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18174 gnumach and gnumach.gz.
18175
95b97950
VS
181762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * include/grub/i18n.h (gettext): Inline instead of using #define.
18179 (grub_gettext): Likewise.
18180 (_): Likewise.
18181
01b8d2d7
VS
181822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18185 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18186 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18187 (main): Add a slash after pkglibdirroot.
18188
654e1d1e
VS
181892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * util/grub-install.in: Add missing "in" keyword.
18192
26966aeb
VS
181932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18196 Reported by: Seth Goldberg.
18197
75006747
VS
181982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18201
74cbf5bd
CW
182022010-05-18 Colin Watson <cjwatson@ubuntu.com>
18203
18204 * configure.ac: Check for Linux device-mapper support.
18205
18206 * util/hostdisk.c (device_is_mapped): New function.
18207 (find_partition_start): New function, partly broken out from
18208 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18209 device-mapper support added.
18210 (linux_find_partition): Use find_partition_start.
18211 (convert_system_partition_to_system_disk): Add `st' argument.
18212 Support Linux /dev/mapper/* devices if device-mapper support is
18213 available; only DM-RAID devices are understood at present.
18214 (find_system_device): Add `st' argument. Pass it to
18215 convert_system_partition_to_system_disk.
18216 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18217 find_system_device and convert_system_partition_to_system_disk. Use
18218 find_partition_start.
18219
18220 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18221 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18222 * util/deviceiter.c [__linux__]: Define MINOR.
18223 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18224 * util/mkdevicemap.c (grub_putchar): New function.
18225 (grub_getkey): New function.
18226 (grub_refresh): New function.
18227 (main): Set debug=all if -v -v is used.
18228
355b51e9
CW
182292010-05-18 Colin Watson <cjwatson@ubuntu.com>
18230
18231 Fix build with non-GNU libcs.
18232
18233 * util/misc.c (canonicalize_file_name): Move to ...
18234 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18235 grub_make_system_path_relative_to_its_root.
18236
7fb5c25f
CW
182372010-05-18 Colin Watson <cjwatson@ubuntu.com>
18238
18239 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18240 we handle finding grub-mkimage. Default to finding grub-mkimage in
18241 ${bindir} with program_transform_name applied, and provide a
18242 --grub-mkimage option to override this.
18243
1d3293d6
VS
182442010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Remove grub-mkisofs.
18247
18248 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18249 (grub_mkisofs_SOURCES): Removed.
18250 (grub_mkisofs_CFLAGS): Removed.
18251 * util/mkisofs/defaults.h: Removed.
18252 * util/mkisofs/eltorito.c: Likewise.
18253 * util/mkisofs/exclude.h: Likewise.
18254 * util/mkisofs/hash.c: Likewise.
18255 * util/mkisofs/include/: Likewise.
18256 * util/mkisofs/include/fctldefs.h: Likewise.
18257 * util/mkisofs/include/mconfig.h: Likewise.
18258 * util/mkisofs/include/prototyp.h: Likewise.
18259 * util/mkisofs/include/statdefs.h: Likewise.
18260 * util/mkisofs/iso9660.h: Likewise.
18261 * util/mkisofs/joliet.c: Likewise.
18262 * util/mkisofs/match.c: Likewise.
18263 * util/mkisofs/match.h: Likewise.
18264 * util/mkisofs/mkisofs.c: Likewise.
18265 * util/mkisofs/mkisofs.h: Likewise.
18266 * util/mkisofs/msdos_partition.h: Likewise.
18267 * util/mkisofs/multi.c: Likewise.
18268 * util/mkisofs/name.c: Likewise.
18269 * util/mkisofs/rock.c: Likewise.
18270 * util/mkisofs/tree.c: Likewise.
18271 * util/mkisofs/write.c: Likewise.
18272
5dde9afe
VS
182732010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 Unify grub-mkimage accross platforms.
18276
18277 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18278 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18279 (grub_mkelfimage_SOURCES): Removed.
18280 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18281 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18282 (bin_UTILITIES): Add grub-mkimage.
18283 (grub_mkimage_SOURCES): New variable.
18284 (kernel_img_HEADERS): Remove machine/kernel.h.
18285 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18286 (pkglib_PROGRAMS): Add kernel.img.
18287 (kernel_img_HEADERS): Add machine/kernel.h.
18288 (kernel_img_FORMAT): Removed.
18289 (bin_UTILITIES): Remove grub-mkimage.
18290 (grub_mkimage_SOURCES): Removed.
18291 (grub_mkimage_CFLAGS): Likewise.
18292 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18293 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18294 (pkglib_PROGRAMS): Add kernel.img.
18295 (bin_UTILITIES): Remove grub-mkimage.
18296 (grub_mkimage_SOURCES): Removed.
18297 (grub_mkimage_CFLAGS): Likewise.
18298 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18299 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18300 (pkglib_PROGRAMS): Add kernel.img.
18301 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18302 (pkglib_PROGRAMS): Add kernel.img.
18303 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18304 (grub_mkimage_SOURCES): Removed.
18305 (grub_mkimage_CFLAGS): Likewise.
18306 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18307 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18308 (pkglib_PROGRAMS): Add kernel.img.
18309 (bin_UTILITIES): Remove grub-mkimage.
18310 (grub_mkimage_SOURCES): Removed.
18311 (grub_mkimage_CFLAGS): Likewise.
18312 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18313 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18314 (grub_mkimage_SOURCES): Removed.
18315 (grub_mkimage_CFLAGS): Likewise.
18316 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18317 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18318 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18319 (grub_pe32_optional_header): ... this.
18320 (grub_pe64_optional_header): ... and this. All users updated.
18321 (GRUB_PE32_PE32_MAGIC): Split into ..
18322 (GRUB_PE32_PE32_MAGIC): .. this.
18323 (GRUB_PE32_PE64_MAGIC): .. and this.
18324 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18325 * include/grub/elf.h (PT_GNU_STACK): New definition.
18326 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18327 * include/grub/i386/efi/kernel.h: Likewise.
18328 * include/grub/i386/kernel.h: Likewise.
18329 * include/grub/i386/pc/kernel.h: Likewise.
18330 * include/grub/i386/qemu/boot.h: Likewise.
18331 * include/grub/mips/kernel.h: Likewise.
18332 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18333 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18334 * include/grub/powerpc/kernel.h: Likewise.
18335 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18336 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18337 * include/grub/sparc64/kernel.h: Likewise.
18338 * include/grub/x86_64/efi/kernel.h: Likewise.
18339 * include/grub/x86_64/kernel.h: Likewise.
18340 * include/grub/offsets.h: New file.
18341 * include/grub/kernel.h (grub_module_info): Split into ...
18342 (grub_module_info32): ... this.
18343 (grub_module_info64): ... and this.
18344 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18345 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18346 (grub_boot_blocklist): Moved from here ...
18347 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18348 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18349 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18350 * include/grub/types.h (grub_target_to_host16): Removed.
18351 (grub_target_to_host32): Likewise.
18352 (grub_target_to_host64): Likewise.
18353 (grub_host_to_target16): Likewise.
18354 (grub_host_to_target32): Likewise.
18355 (grub_host_to_target64): Likewise.
18356 (grub_host_to_target_addr): Likewise.
18357
18358 Support grub-mkrescue for efi, coreboot and qemu.
18359
18360 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18361 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18362 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18363 * util/grub-mkrawimage.c: Moved from here ...
18364 * util/grub-mkimage.c: ... here. All users updated.
18365 (ALIGN_ADDR): Use image_target.
18366 (TARGET_NO_FIELD): New const.
18367 (image_target_desc): New type.
18368 (image_targets): New array.
18369 (grub_target_to_host64): Use image_target.
18370 (grub_target_to_host32): Likewise.
18371 (grub_target_to_host16): Likewise.
18372 (grub_host_to_target64): Likewise.
18373 (grub_host_to_target32): Likewise.
18374 (grub_host_to_target16): Likewise.
18375 (grub_host_to_target_addr): Likewise.
18376 (generate_image): Handle multiimage.
18377 (main): Require -O parameter. All users updated.
18378 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18379 util/efi/grub-mkimage.c
18380 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18381 New option --rom-directory.
18382 Use xorriso.
18383 * util/i386/efi/grub-mkimage.c: Removed.
18384 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18385 (grub_target_to_host32): Likewise.
18386 (grub_target_to_host64): Likewise.
18387 (grub_host_to_target16): Likewise.
18388 (grub_host_to_target32): Likewise.
18389 (grub_host_to_target64): Likewise.
18390 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18391 (grub_target_to_host32): Likewise.
18392 (grub_target_to_host64): Likewise.
18393 (grub_host_to_target16): Likewise.
18394 (grub_host_to_target32): Likewise.
18395 (grub_host_to_target64): Likewise.
18396
f4fc97d0
BC
183972010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18398
18399 Source tree is reorganized for emu build.
18400
18401 * include/grub/util/console.h: Move from here...
18402 * include/grub/emu/console.h: ...to here.
18403 * include/grub/util/getroot.h: Move from here...
18404 * include/grub/emu/getroot.h: ...to here.
18405 * include/grub/util/hostdisk.h: Move from here...
18406 * include/grub/emu/hostdisk.h: ...to here.
18407 * util/console.c: Move from here...
18408 * kern/emu/console.c: ...to here.
18409 * util/getroot.c: Move from here...
18410 * kern/emu/getroot.c: ...to here.
18411 * util/grub-emu.c: Move from here...
18412 * kern/emu/main.c: ...to here.
18413 * util/hostdisk.c: Move from here...
18414 * kern/emu/hostdisk.c: ...to here.
18415 * util/hostfs.c: Move from here...
18416 * kern/emu/hostfs.c: ...to here.
18417 * util/mm.c: Move from here...
18418 * kern/emu/mm.c: ...to here.
18419 * util/pci.c: Move from here...
18420 * bus/emu/pci.c: ...to here.
18421 * util/sdl.c: Move from here...
18422 * video/emu/sdl.c: ...to here.
18423 * util/time.c: Move from here...
18424 * kern/emu/time.c: ...to here.
18425 * util/usb.c: Move from here...
18426 * bus/usb/emu/usb.c: ...to here.
18427
18428 * include/grub/emu/misc.h: New header for grub-emu functions.
18429 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18430
18431 * conf/any-emu.rmk: Rule updates for above renames.
18432 * conf/common.rmk: Likewise.
18433 * conf/i386-pc.rmk: Likewise.
18434 * conf/i386-qemu.rmk: Likewise.
18435 * conf/mips.rmk: Likewise.
18436 * conf/sparc64-ieee1275.rmk: Likewise.
18437 * conf/x86-efi.rmk: Likewise.
18438
18439 * disk/lvm.h: #include updates for above renames.
18440 * util/grub-mkrelpath.c: Likewise.
18441 * util/grub-probe.c: Likewise.
18442 * util/i386/pc/grub-setup.c: Likewise.
18443 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18444 * kern/emu/console.c: Likewise.
18445 * kern/emu/getroot.c: Likewise.
18446 * kern/emu/hostdisk.c: Likewise.
18447 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18448
18449 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18450 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18451 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18452 * util/misc.c: Remove grub-emu functions.
18453
cced9145
VS
184542010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 Fix gfxmenu crash.
18457 Reported by: Thorsten Grützmacher.
18458
18459 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18460 timeout hook.
18461 (circprog_set_property): Register and unregister timeout hook.
18462 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18463 (label_destroy): Free template. and unregister hook.
18464 (label_set_state): New function.
18465 (label_set_property): Handle templates and hooks.
18466 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18467 timeout hook.
18468 (progress_bar_set_property): Register and unregister timeout hook.
18469 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18470 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18471 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18472 (update_timeout_visit): Removed.
18473 (update_timeouts): New function.
18474 (redraw_timeouts): Likewise.
18475 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18476 (grub_gfxmenu_clear_timeout): Likewise.
18477 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18478 (grub_gfxmenu_timeout_notify): Likewise.
18479 (grub_gfxmenu_timeout_notifications): New external variable.
18480 (grub_gfxmenu_timeout_register): New function.
18481 (grub_gfxmenu_timeout_unregister): Likewise.
18482
c6e5caab
VS
184832010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 Transform (broken) vga terminal into (working) vga video driver.
18486
18487 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18488 video/i386/pc/vga.c.
18489 * include/grub/video.h (grub_video_driver_id):
18490 Add GRUB_VIDEO_DRIVER_VGA.
18491 * term/i386/pc/vga.c: Renamed to ...
18492 * video/i386/pc/vga.c: ...this
18493 (DEBUG_VGA): Removed.
18494 (CHAR_WIDTH): Likewise.
18495 (CHAR_HEIGHT): Likewise.
18496 (TEXT_WIDTH): Likewise.
18497 (TEXT_HEIGHT): Likewise.
18498 (DEFAULT_FG_COLOR): Likewise.
18499 (DEFAULT_BG_COLOR): Likewise.
18500 (colored_char): Likewise.
18501 (xpos): Likewise.
18502 (ypos): Likewise.
18503 (cursor_state): Likewise.
18504 (fg_color): Likewise.
18505 (bg_color): Likewise.
18506 (text_buf): Likewise.
18507 (page): Likewise.
18508 (font): Likewise.
18509 (framebuffer): New variable.
18510 (set_read_map): Disabled.
18511 (setup): New variable.
18512 (is_target): Likewise.
18513 (grub_vga_mod_init): Likewise.
18514 (grub_vga_mod_fini): Likewise.
18515 (check_vga_mem): Likewise.
18516 (write_char): Likewise.
18517 (write_cursor): Likewise.
18518 (scroll_up): Likewise.
18519 (grub_vga_putchar): Likewise.
18520 (grub_vga_getcharwidth): Likewise.
18521 (grub_vga_getwh): Likewise.
18522 (grub_vga_getxy): Likewise.
18523 (grub_vga_gotoxy): Likewise.
18524 (grub_vga_cls): Likewise.
18525 (grub_vga_setcolorstate): Likewise.
18526 (grub_vga_setcursor): Likewise.
18527 (grub_video_vga_init): New function.
18528 (grub_video_vga_setup): Likewise.
18529 (grub_video_vga_fini): Likewise.
18530 (update_target): Likewise.
18531 (grub_video_vga_blit_bitmap): Likewise.
18532 (grub_video_vga_blit_render_target): Likewise.
18533 (grub_video_vga_set_active_render_target): Likewise.
18534 (grub_video_vga_get_active_render_target): Likewise.
18535 (grub_video_vga_swap_buffers): Likewise.
18536 (grub_video_vga_set_palette): Likewise.
18537 (grub_video_vga_get_info_and_fini): Likewise.
18538 (grub_vga_term): Removed.
18539 (grub_video_vga_adapter): New variable.
18540 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18541 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18542
2bf61a98
VS
185432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * video/readers/jpeg.c: Indented.
18546
09ddcd11
VS
185472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 Various jpeg cleanups.
18550
18551 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18552 (grub_jpeg_decode_quan_table): Use sizeof.
18553 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18554
e5507505
PH
185552010-05-05 Peter Hurley <No e-mail available> (tiny change)
18556
18557 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18558 tables. Ignore non-last ac bit.
18559 (grub_jpeg_decode_quan_table): Likewise.
18560
7e720a9b
VS
185612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18564 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18565 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18566 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18567 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18568 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18569
a7fc080b
VS
185702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18573 error.
18574
2bf6012d
VS
185752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18578
265d68cd
VS
185792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18582 condition.
18583
185842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18585
18586 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18587 part.
18588
265d68cd 185892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18590
18591 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18592 pointers.
18593
265d68cd 185942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18595
18596 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18597
d1b61374
CF
185982010-05-01 Christian Franke <franke@computer.org>
18599
18600 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18601 Remove broken Cygwin path conversion.
18602 * util/misc.c: [__CYGWIN__] Add include and define.
18603 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18604 for Cygwin 1.7.
18605 (make_system_path_relative_to_its_root): Simplify loop, replace early
18606 return by break.
18607 [__CYGWIN__] Add conversion to win32 path.
18608 Include "/" case in trailing slash removal.
18609
3558c6e9
VS
186102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18613 Reported by: Seth Goldberg
18614
f5f3ff93
VS
186152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 * commands/help.c (grub_cmd_help): Fix a typo.
18618 Reported by: Seth Goldberg
18619
d8b5cd40
VS
186202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18623 name and add N_.
18624 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18625 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18626 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18627 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18628 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18629 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18630 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18631 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18632 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18633 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18634 * normal/context.c (GRUB_MOD_INIT): Likewise.
18635 * normal/main.c (GRUB_MOD_INIT): Likewise.
18636 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18637 * term/serial.c (GRUB_MOD_INIT): Likewise.
18638 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18639
88c14915
VS
186402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18643 extra == 0.
18644
165134bc
VS
186452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * commands/iorw.c: New file.
18648 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18649 (iorw_mod_SOURCES): New variable.
18650 (iorw_mod_CFLAGS): Likewise.
18651 (iorw_mod_LDFLAGS): Likewise.
18652
c5ac9b32
VS
186532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 Hotkey support
18656
18657 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18658 * normal/main.c (hotkey_aliases): New variable.
18659 (grub_normal_add_menu_entry): Parse "--hotkey".
18660 * normal/menu_text.c (run_menu): Handle hotkeys.
18661
ce60689c
VS
186622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * kern/i386/coreboot/init.c (grub_machine_init): Call
18665 grub_machine_mmap_init on qemu.
18666
0359d006
VS
186672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 * boot/i386/qemu/boot.S: Add a missing .code16.
18670
7819a456
VS
186712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18672
18673 Use LBIO on coreboot.
18674
18675 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18676 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18677 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18678 New declaration.
18679 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18680 grub_machine_mmap_init on coreboot.
18681 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18682 GRUB_LINUXBIOS_MEMBER_LINK.
18683 (grub_machine_mmap_iterate): Fix declaration.
18684 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18685
7210dca9
VS
186862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 Split coreboot and multiboot ports.
18689
18690 * conf/i386-multiboot.rmk: New file.
18691 * configure.ac: Add multiboot port.
18692 * include/grub/i386/multiboot/boot.h: New file.
18693 * include/grub/i386/multiboot/console.h: Likewise.
18694 * include/grub/i386/multiboot/init.h: Likewise.
18695 * include/grub/i386/multiboot/kernel.h: Likewise.
18696 * include/grub/i386/multiboot/loader.h: Likewise.
18697 * include/grub/i386/multiboot/memory.h: Likewise.
18698 * include/grub/i386/multiboot/serial.h: Likewise.
18699 * include/grub/i386/multiboot/time.h: Likewise.
18700 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18701 * loader/multiboot.c: Likewise.
18702 * loader/multiboot_mbi2.c: Likewise.
18703 * util/grub-mkrescue.in: Generate multiboot rescue.
18704
6f8aaf68
VS
187052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18706
3080f7a7
VS
18707 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18708
187092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18712
18713 * commands/terminal.c (abstract_terminal): New struct.
18714 (handle_command): New function. Based on grub_cmd_terminal_input.
18715 (grub_cmd_terminal_input): Use handle_command.
18716 (grub_cmd_terminal_output): Use handle_command.
18717
a8ebb841
BC
187182010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18719
18720 Fix comment handling.
18721
18722 * tests/grub_script_comments.in: New testcase.
18723 * conf/tests.rmk: Rules for new testcase.
18724 * script/yylex.l: Updated flex rules.
18725
bb06ba08
ST
187262010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18727
18728 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18729 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18730 if argc is 1.
bb06ba08 18731
cc9d2425
VS
187322010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18735 autogen issues.
18736
460d8402
CF
187372010-04-26 Christian Franke <franke@computer.org>
18738
18739 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18740 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18741 (grub_get_prefix): Remove function.
18742 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18743 make_system_path_relative_to_its_root ().
18744 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18745
553c01f9
CF
187462010-04-24 Christian Franke <franke@computer.org>
18747
18748 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18749 (kernel_img_LDFLAGS): Remove -static-libgcc.
18750
2aec1692
CF
187512010-04-24 Christian Franke <franke@computer.org>
18752
18753 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18754 and CHECK_END_SYMBOL if grub-emu is built.
18755 Unset TARGET_OBJ2ELF if grub-emu is built
18756 without module support.
18757
f67dc308
JS
187582010-04-24 Jiro SEKIBA <jir@unicus.jp>
18759
18760 Nilfs2 support.
18761
18762 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18763 (grub_fstest_SOURCES): Likewise.
18764 (pkglib_MODULES): Add nilfs2.mod.
18765 (nilfs2_mod_SOURCES): New variable.
18766 (nilfs2_mod_CFLAGS): Likewise.
18767 (nilfs2_mod_LDFLAGS): Likewise.
18768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18769 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18770 * fs/nilfs2.c: New file.
18771
4ba8d354
VS
187722010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18775 is not supported.
18776
0d2c20c6
GS
187772010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18778
18779 Add grub-mkconfig support for NetBSD.
18780
18781 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18782 * util/grub-mkconfig.in: export new NetBSD specific variables.
18783 * po/POTFILES-shell: added 10_netbsd.in.
18784 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18785
bc4a2d83
BC
187862010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18787
18788 Fix emu build with grub-emu-pci and grub-emu-modules.
18789
18790 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18791 functions.
18792 * include/grub/libpciaccess.h: New file.
18793 * conf/any-emu.rmk: Update kernel headers for emu build.
18794
f48c87aa
VS
187952010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18798
18959385
VS
187992010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18802
0037de3f
VS
188032010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18806 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18807 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18808 util/ieee1275/ofpath.c.
18809 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18810 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18811 * include/grub/sparc64/ieee1275/boot.h
18812 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18813 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18814 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18815 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18816 const char *.
18817 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18818 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18819 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18820 install.
18821
38e55e90
GS
188222010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18823
18824 * util/grub-mkconfig.in: Corrected two == equality tests.
18825 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18826 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18827 expect a number appended to it.
18828 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18829 expects a number appended to it.
18830
a9e6ff28
VS
188312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18834
0b830b8f
VS
188352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 * util/hostdisk.c (make_device_name): Change to new partition naming.
18838
0973daeb
VS
188392010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18842
460d8402 188432010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18844
18845 * Makefile.in: Add missing localedir setting.
18846
0b456309
CW
188472010-04-14 Colin Watson <cjwatson@ubuntu.com>
18848
18849 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18850 mistake in r2156. Noticed by Anthony Fok.
18851
18852 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18853 @localedir@.
18854 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18855
08f46d62
BC
188562010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18857
18858 Fix a spurious, uninitialized variable warning.
18859
18860 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18861 Initialize variable, shdr.
18862 (grub_freebsd_load_elfmodule): Likewise.
18863 (grub_freebsd_load_elf_meta): Likewise.
18864
8c4a72d4
BC
188652010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18866
18867 Fix for escaped dollar in double quoted strings.
18868
18869 * script/yylex.l: Updated flex rules.
18870 * conf/tests.rmk: Rule for new testcase.
18871 * tests/grub_script_dollar.in: New testcase.
18872
ce44826e
CPE
188732010-04-13 Carles Pina i Estany <carles@pina.cat>
188742010-04-13 Colin Watson <cjwatson@ubuntu.com>
18875
18876 Enclose all translated strings in grub.cfg in single quotes, and
18877 escape them appropriately (Ubuntu bug #552921).
18878
18879 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18880 * util/grub.d/10_hurd.in: Use it.
18881 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18882 * util/grub.d/10_linux.in (linux_entry): Likewise.
18883
4b0cd8f8
VS
188842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 Fix cygwin compilation.
18887
18888 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18889 * include/grub/misc.h (__register_frame_info)
18890 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18891 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18892 * kern/misc.c (__register_frame_info)
18893 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18894 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18895
01fcf061
VS
188962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18899
5d04b11e
VS
189002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 Unify libgcc processing.
18903
18904 * Makefile.in (kernel_img_LDFLAGS): New variable.
18905 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18906 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18907 overwriting.
18908 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18909 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18910 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18911 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18912 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18913 overwriting. Remove -lgcc and -static-libgcc
18914 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18915 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18916 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18917 (kernel_img_LDFLAGS): Append instead of overwriting.
18918 Remove -lgcc and -static-libgcc
18919 * conf/sparc64-ieee1275.rmk: Likewise.
18920 * include/grub/powerpc/libgcc.h: Move to ...
18921 * include/grub/libgcc.h: .. this.
18922 * include/grub/libgcc.h: Don't export most of the function on x86.
18923 (__bswapsi2): New export.
18924 (__bswapdi2): Likewise.
18925 * include/grub/mips/libgcc.h: Removed.
18926 * include/grub/sparc64/libgcc.h: Likewise.
18927
b7f3ac29
VS
189282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18931 disk_info_msg (conflicts with gettexting into languages with cases).
18932
2c7031b1
GS
189332010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18934
18935 Add grub-probe support for NetBSD.
18936
18937 * util/getroot.c (find_root_device): Convert block device to
18938 character device on NetBSD.
18939 * util/probe.c (probe): Require character device on NetBSD.
18940 * util/hostdisk.c: NetBSD specific headers.
18941 (configure_device_driver): new function to tune device driver
18942 parameters (currently only for NetBSD floppy driver).
18943 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18944 via disklabel ioctl).
18945 (open_device): call configure_device_driver on NetBSD.
18946 (convert_system_partition_to_system_disk): NetBSD specific code.
18947 (device_is_wholedisk): Likewise.
18948 (grub_util_biosdisk_get_grub_dev): Likewise.
18949 (make_device_name): Fixed a typo in bsd_part_str.
18950 * configure.ac: check for opendisk() and getrawpartition() on
18951 NetBSD and set LIBUTIL.
18952 * Makefile.in: add LIBUTIL to LIBS.
18953
f516290c
BC
189542010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18955
18956 Documentation fix.
18957
18958 * util/grub-script-check.c: Better help message.
18959
d8dcc0df
BC
189602010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18961
18962 Fix FreeBSD build.
18963
18964 * configure.ac: Flex version check.
18965 * conf/common.rmk: Add -Wno-error to sh.mod.
18966 * script/yylex.l: Remove all #pragma.
18967
6734334a
VS
189682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18971 prototype.
18972 Reported by: Seth Goldberg.
18973
daea6abd
VS
189742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18977 Rename "module" to "module2".
18978 Reported by: Seth Goldberg.
18979
f2fd9d2b
VS
189802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18983 EXPORT_FUNC.
18984 Reported by: Seth Goldberg.
18985
be124579
VS
189862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * lib/posix_wrap/locale.h: Add missing file.
18989 Reported by: Seth Goldberg.
18990
ef5da797
VS
189912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 grub-emu module load support.
18994
18995 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18996 NO_DYNAMIC_MODULES switched to this.
18997 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18998 (CFLAGS): Likewise.
18999 * conf/any-emu.rmk: Generate symlist.
19000 (kernel_img_HEADERS): Add util/datetime.h.
19001 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19002 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19003 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19004 kern/$(target_cpu)/cache.S.
19005 * configure.ac (grub-emu-modules): New option.
19006 * genmk.rb: Handle multiple source lists.
19007 * include/grub/sdl.h: New file.
19008 * include/grub/libusb.h: Likewise.
19009 * util/grub-emu.c (main): Hanle (host) root.
19010 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19011 GRUB_ERR_UNKNOWN_DEVICE.
19012 * util/misc.c: Move mm functions to ...
19013 * util/mm.c: ... here. All users updated.
19014
47822096
VS
190152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19018 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19019 missing files.
19020 (maintainer-clean): Remove libgcrypt-grub.
19021
5d7e7445
VS
190222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19023
19024 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19025
25f4e252
EC
190262010-04-09 EFI Coder <eficoder@hotmail.com>
19027
19028 * normal/menu_text.c (print_message): Clean up the message and show
19029 the Fn information when on EFI
19030 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19031
027de555
VS
190322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19035 All users updated.
19036 * normal/crypto.c (read_crypto_list): Likewise.
19037 * normal/dyncmd.c (read_command_list): Likewise.
19038 * normal/term.c (read_terminal_list): Likewise.
19039 * normal/main.c (read_lists): Use explicit prefix.
19040 (read_lists_hook): Use read_lists.
19041 (grub_normal_execute): Likewise.
19042
47779711
VS
190432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19046 Reported by: Thomas Schmitt.
19047 Add -no-emul-boot to grub-mkisofs parameters.
19048
1118c32e
VS
190492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * font/font.c: Indented.
19052
7d652447
BC
190532010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19054
19055 Elif support to GRUB script (by Deepak Vankadaru).
19056
19057 * tests/grub_script_if.in: New testcase.
19058 * conf/tests.rmk: Rule for new testcase.
19059 * script/parser.y: Grammar rules for elif.
19060
34bb22df
BC
190612010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19062
19063 While and until loops support to GRUB script.
19064
19065 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19066 (grub_script_create_cmdwhile): New function prototype.
19067 (grub_script_execute_cmdwhile): New function prototype.
19068 * script/execute.c (grub_script_execute_cmdwhile): New function.
19069 * script/parser.y (command): New commands.
19070 (whilecmd): New grammar rule.
19071 (untilcmd): New grammar rule.
19072 * script/script.c (grub_script_create_cmdwhile): New function.
19073 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19074 function.
19075
19076 * tests/grub_script_while1.in: New testcase.
19077 * conf/tests.rmk: Rule for new testcase.
19078
e215d8e0
VS
190792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19082 as *.jpg.
19083
d7c43ba1
MV
190842010-04-09 Mario Vazquez <mariovazq@gmail.com>
19085
19086 GRUB_BACKGROUND support.
19087
19088 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19089 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19090
d64795c0
VS
190912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19094 Idea by: Mario Vazquez
d64795c0
VS
19095
19096 * util/grub.d/00_header.in: Load pf2 and image modules.
19097
f267f83a
VS
190982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 grub-mkconfig multiple terminal support.
19101
19102 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19103 * util/grub.d/00_header.in: Likewise.
19104
b7841ceb
VS
191052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19108 we use cd $(srcdir).
19109
df60998c
CW
191102010-04-08 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * util/grub.d/10_linux.in: Only use the first word of
19113 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19114 spaces in GRUB_DISTRIBUTOR.
19115 * util/grub.d/10_kfreebsd.in: Likewise.
19116 * util/grub.d/10_hurd.in: Likewise.
19117
fa09c82e
BC
191182010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19119
14e18ae3 19120 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19121
19122 * tests/util/grub-shell.in: Remove -serial stdio option.
19123
daf892b3
BC
191242010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 POSIX header file wrappers.
19127
19128 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19129 equivalents.
19130 * lib/posix_wrap/ctype.h: Likewise.
19131 * lib/posix_wrap/errno.h: Likewise.
19132 * lib/posix_wrap/langinfo.h: Likewise.
19133 * lib/posix_wrap/limits.h: Likewise.
19134 * lib/posix_wrap/localcharset.h: Likewise.
19135 * lib/posix_wrap/stdint.h: Likewise.
19136 * lib/posix_wrap/stdio.h: Likewise.
19137 * lib/posix_wrap/stdlib.h: Likewise.
19138 * lib/posix_wrap/string.h: Likewise.
19139 * lib/posix_wrap/sys/types.h: Likewise.
19140 * lib/posix_wrap/unistd.h: Likewise.
19141 * lib/posix_wrap/wchar.h: Likewise.
19142 * lib/posix_wrap/wctype.h: Likewise.
19143 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19144 (grub_script.yy.h): Likewise.
19145 * script/yylex.l: Remove POSIX emulation #defines.
19146 * Makefile.in (POSIX_CFLAGS): New variable.
19147 (GNULIB_UTIL_CFLAGS): Likewise.
19148
19149 Regexp support.
19150
19151 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19152 (regexp_mod_SOURCES): New variable.
19153 (regexp_mod_CFLAGS): Likewise.
19154 (regexp_mod_LDFLAGS): Likewise.
19155 * commands/regexp.c: New file.
19156 * gnulib/regcomp.c: New file. Imported from gnulib.
19157 * gnulib/regex.c: Likewise.
19158 * gnulib/regex_internal.c: Likewise.
19159 * gnulib/regex_internal.h: Likewise.
19160 * gnulib/regexec.c: Likewise.
19161 * gnulib/regex.h: Likewise.
19162
974ac4f7
VS
191632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19166 unsupported video mode types.
19167
2622c3ff
VS
191682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19171
064cb524
VS
191722010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19175 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19176
a8c3b552
VS
191772010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 Remove unused grub_vga_get_font.
19180
19181 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19182 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19183
187bbe3d
GS
191842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19185
19186 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19187 * include/grub/misc.h: Likewise.
19188
b9396631
GS
191892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19190
19191 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19192 for which failure is fatal.
19193
50479feb
GS
191942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19195
19196 * util/grub-install.in: Use mkdir -p to create grub directory.
19197 * util/i386/efi/grub-install.in: Likewise.
19198 * util/ieee1275/grub-install.in: Likewise.
19199
b1654fdf
GS
192002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19201
19202 * Makefile.in (LEX): new variable.
19203
bd5a6415
GS
192042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19205
19206 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19207 `=' and added double quotes on operands of this equality test.
19208
3db3a82b
VS
192092010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * Makefile.in (uninstall): Remove a leftover debug echo.
19212 Reported by: Grégoire Sutre
19213
38023412
VS
192142010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 MIPS multiboot2 support.
19217
19218 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19219 (multiboot2_mod_SOURCES): New variable.
19220 (multiboot2_mod_CFLAGS): Likewise.
19221 (multiboot2_mod_LDFLAGS): Likewise.
19222 (multiboot2_mod_ASFLAGS): Likewise.
19223 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19224 definition.
19225 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19226 (MULTIBOOT_MBI_REGISTER): Likewise.
19227 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19228 (MULTIBOOT_ELF32_MACHINE): Likewise.
19229 (MULTIBOOT_ELF64_MACHINE): Likewise.
19230 * include/grub/mips/multiboot.h: New file.
19231 * include/grub/video.h (grub_video_driver_id): New type
19232 GRUB_VIDEO_DRIVER_SM712.
19233 (grub_video_get_info_and_fini): Export.
19234 (grub_video_get_palette): Likewise.
19235 (grub_video_get_driver_id): Likewise.
19236 * include/multiboot2.h: Resynced with spec.
19237 * loader/i386/multiboot.c: Moved from here ...
19238 * loader/multiboot.c: ... here. All users updated.
19239 (grub_multiboot_boot): Use platform-specific macros.
19240 * loader/i386/multiboot_elfxx.c: Moved from here ...
19241 * loader/multiboot_elfxx.c: ... here. All users updated.
19242 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19243 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19244 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19245
47674667
VS
192462010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 Import gnulib argp module.
19249
19250 * gnulib/argp-ba.c: New file.
19251 * gnulib/argp-eexst.c: Likewise.
19252 * gnulib/argp-fmtstream.c: Likewise.
19253 * gnulib/argp-fmtstream.h: Likewise.
19254 * gnulib/argp-fs-xinl.c: Likewise.
19255 * gnulib/argp-help.c: Likewise.
19256 * gnulib/argp-namefrob.h: Likewise.
19257 * gnulib/argp-parse.c: Likewise.
19258 * gnulib/argp-pin.c: Likewise.
19259 * gnulib/argp-pv.c: Likewise.
19260 * gnulib/argp-pvh.c: Likewise.
19261 * gnulib/argp-version-etc.c: Likewise.
19262 * gnulib/argp-version-etc.h: Likewise.
19263 * gnulib/argp-xinl.c: Likewise.
19264 * gnulib/argp.h: Likewise.
19265
495442ed
VS
192662010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * kern/device.c (grub_device_iterate): Clear errors after failed
19269 opening device.
19270
f9fd65df
VS
192712010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19274 returned by firmware.
19275
af09641e
VS
192762010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19279 compilation on coreboot and qemu
19280
016883a5
VS
192812010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * include/multiboot2.h: Resync with spec.
19284
f97e1f7d
VS
192852010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 Multiboot2 tag support
19288
19289 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19290 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19291 Remove loader/multiboot_loader.c.
19292 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19293 (grub_multiboot2_real_boot): Likewise.
19294 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19295 (grub_get_multiboot_mmap_count): New proto.
19296 (grub_fill_multiboot_mmap): Likewise.
19297 (grub_multiboot_set_video_mode): Likewise.
19298 (grub_multiboot_set_console): Likewise.
19299 (grub_multiboot_load): Likewise.
19300 (grub_multiboot_load_elf): Likewise.
19301 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19302 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19303 * include/multiboot.h: Resynced with specification.
19304 * include/multiboot2.h: Resynced with specification.
19305 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19306 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19307 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19308 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19309 users updated.
19310 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19311 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19312 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19313 Removed.
19314 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19315 Moved from here...
19316 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19317 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19318 Moved from here...
19319 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19320 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19321 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19322 All users updated.
19323 * loader/i386/multiboot_mbi2.c: New file.
19324
3506b90b
VS
193252010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 Resync with gnulib.
19328
19329 * Makefile.in (GNULIB_CFLAGS): New variable.
19330 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19331 (grub_script_check_CFLAGS): New variable.
19332 * gnulib/alloca.h: Resync with gnulib.
19333 * gnulib/error.c: Likewise.
19334 * gnulib/error.h: Likewise.
19335 * gnulib/fnmatch.c: Likewise.
19336 * gnulib/fnmatch_loop.c: Likewise.
19337 * gnulib/getdelim.c: Likewise.
19338 * gnulib/getline.c: Likewise.
19339 * gnulib/getopt.c: Likewise.
19340 * gnulib/getopt1.c: Likewise.
19341 * gnulib/getopt_int.h: Likewise.
19342 * gnulib/gettext.h: Likewise.
19343 * gnulib/progname.c: Likewise.
19344 * gnulib/progname.h: Likewise.
19345
394a3120
GS
193462010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19347
19348 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19349 which is the case with --disabled-nls.
19350
19351 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19352 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19353 * util/misc.c: Likewise.
19354 * util/mkisofs/mkisofs.c: Likewise.
19355 * util/mkisofs/mkisofs.h: Likewise.
19356
969d1c78
VS
193572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 Simplify Apple CC support.
19360
19361 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19362 Add 0 byte at the end not to have a symbol with empty target.
19363 * mmap/i386/pc/mmap_helper.S: Likewise.
19364 * genmk.rb: Ignore errors 2030 and 2050.
19365 * kern/i386/pc/startup.S: Use LOCAL when possible.
19366
8d2977bb
BC
193672010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19368
19369 Testcase and the fix for final semicolon on cmdline.
19370
19371 * tests/grub_script_final_semicolon.in: New testcase.
19372 * conf/tests.rmk: Rules for the new testcase.
19373 * script/parser.y: Grammar fix.
19374
a7bd6915
BC
193752010-03-26 BVK Chaitanya <bvk@localhost>
19376
19377 Blank lines testcase for GRUB script.
19378
19379 * tests/grub_script_blanklines.in: New testcase.
19380 * conf/tests.rmk: Rules for the new testcase.
19381
e4ff6628
VS
193822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 Don't use __FILE__.
19385
19386 * genmk.rb: Add -DGRUB_FILE to all C targets.
19387 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19388 * include/grub/list.h: Likewise.
19389 * include/grub/misc.h: Likewise.
19390 * include/grub/mm.h: Likewise.
19391 * include/grub/test.h: Likewise.
19392 * kern/mm.c: Likewise.
19393 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19394
6a5cf6b6
VS
193952010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 Sunpc partitions support.
19398
19399 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19400 (grub_fstest_SOURCES): Likewise.
19401 (pkglib_MODULES): Add part_sunpc.mod.
19402 (part_sunpc_mod_SOURCES): New variable.
19403 (part_sunpc_mod_CFLAGS): Likewise.
19404 (part_sunpc_mod_LDFLAGS): Likewise.
19405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19406 * partmap/sunpc.c: New file.
19407
746d9045
BC
194082010-03-26 BVK Chaitanya <bvk@localhost>
19409
19410 For loop support to GRUB script.
19411
19412 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19413 (grub_script_create_cmdfor): New function prototype.
19414 (grub_script_execute_cmdfor): New function prototype.
19415 * script/execute.c (grub_script_execute_cmdfor): New function.
19416 * script/parser.y (command): New for command.
19417 (forcmd): New grammar rule.
19418 * script/script.c (grub_script_create_cmdfor): New function.
19419 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19420 function.
19421 * tests/grub_script_for1.in: New testcase.
19422 * conf/tests.rmk: Rules for new testcase.
19423
18486b18
VS
194242010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19425
19426 Nested partitions
19427
19428 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19429 'partition' is NULL, grub_partition_get_start already does that.
19430 * commands/loadenv.c (check_blocklists): Likewise.
19431 (write_blocklists): Likewise.
19432 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19433 (grub_fstest_SOURCES): Likewise.
19434 (pkglib_MODULES): Add part_bsd.mod.
19435 (part_bsd_mod_SOURCES): New variable.
19436 (part_bsd_mod_CFLAGS): Likewise.
19437 (part_bsd_mod_LDFLAGS): Likewise.
19438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19439 (grub_emu_SOURCES): Likewise.
19440 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19441 * include/grub/bsdlabel.h: New file.
19442 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19443 'get_name'.
19444 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19445 (grub_partition_map_list): New variable.
19446 (grub_partition_map_register): Inline.
19447 (grub_partition_map_unregister): Likewise.
19448 (FOR_PARTITION_MAPS): New macro.
19449 (grub_partition_map_iterate): Removed.
19450 (grub_partition_get_start): Handle nested partitions.
19451 * include/grub/msdos_partition.h: Remove bsd-related entries.
19452 (grub_pc_partition): Remove.
19453 * kern/disk.c (grub_disk_close): Free partition data.
19454 (grub_disk_adjust_range): Handle nested partitions.
19455 * kern/partition.c (grub_partition_map_probe): New function.
19456 (grub_partition_probe): Parse name to number, handle subpartitions.
19457 (get_partmap): New function.
19458 (grub_partition_iterate): Handle subpartitions.
19459 (grub_partition_get_name): Likewise.
19460 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19461 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19462 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19463 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19464 Set 'number'.
19465 (acorn_partition_map_probe): Remove.
19466 (acorn_partition_map_get_name): Likewise.
19467 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19468 Set 'number'.
19469 Set 'index' to 0 since there can be only one partition entry per sector.
19470 (amiga_partition_map_probe): Remove.
19471 (amiga_partition_map_get_name): Likewise.
19472 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19473 Set 'number'.
19474 Set 'offset' and 'index' to real positions of partitions.
19475 (apple_partition_map_probe): Remove.
19476 (apple_partition_map_get_name): Likewise.
19477 * partmap/bsdlabel.c: New file.
19478 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19479 Set 'number'.
19480 Allocate 'data' so it can be correctly freed.
19481 Set 'index' to offset inside sector.
19482 (gpt_partition_map_probe): Remove.
19483 (gpt_partition_map_get_name): Likewise.
19484 * partmap/msdos.c (grub_partition_parse): Remove.
19485 (pc_partition_map_iterate): Don't force raw access.
19486 Set 'number'.
19487 Make 'ext_offset' a local variable.
19488 (pc_partition_map_probe): Remove.
19489 (pc_partition_map_get_name): Remove.
19490 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19491 Set 'number'.
19492 (sun_partition_map_probe): Remove.
19493 (sun_partition_map_get_name): Likewise.
19494 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19495 (grub_pcpart_type): Likewise.
19496 * util/hostdisk.c (open_device): Handle new numbering scheme.
19497 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19498 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19499 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19500 * util/grub-install.in: Insert all subpartition modules.
19501 * util/ieee1275/grub-install.in: Likewise.
19502
a3940f88
AG
195032010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19504
19505 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19506 grammar.
19507
21b99926 195082010-03-24 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19511
bed1d352
CW
195122010-03-21 Colin Watson <cjwatson@ubuntu.com>
19513
19514 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19515 match where 'make install' puts them.
19516 * util/i386/efi/grub-install.in: Likewise.
19517
c9f58427
CW
195182010-03-19 Colin Watson <cjwatson@ubuntu.com>
19519
19520 * .bzrignore: Add gentrigtables, grub-script-check,
19521 grub_script_check_init.c, grub_script_check_init.h, and
19522 trigtables.c.
19523
f84afb27
VS
195242010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * kern/parser.c: Indented.
19527
ed0e3d30
VS
195282010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19531
0ea81d98
VS
195322010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19535 alpha_mask_size == 0 case.
19536
0cdc2a09
BC
195372010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19538
19539 GRUB shell lexer and parser improvements.
19540
19541 * conf/any-emu.rmk: Build rule updates.
19542 * conf/common.rmk: Likewise.
19543 * conf/i386-coreboot.rmk: Likewise.
19544 * conf/i386-efi.rmk: Likewise.
19545 * conf/i386-ieee1275.rmk: Likewise.
19546 * conf/i386-pc.rmk: Likewise.
19547 * conf/powerpc-ieee1275.rmk: Likewise.
19548 * conf/x86_64-efi.rmk: Likewise.
19549
19550 * configure.ac: Configure check for flex.
19551
19552 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19553 types.
19554 (grub_lexer_param): Struct member updates.
19555 (grub_parser_param): Likewise.
19556 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19557 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19558 (grub_script_lexer_init): Prototype update.
19559 (grub_script_lexer_record_start): Likewise.
19560 (grub_script_lexer_record_stop): Likewise.
19561 (grub_script_lexer_yywrap): New function prototype.
19562 (grub_script_lexer_fini): Likewise.
19563 (grub_script_execute_argument_to_string): Removed by...
19564 (grub_script_execute_argument_to_argv): ...better version.
19565
19566 * script/execute.c (ROUND_UPTO): New macro.
19567 (grub_script_execute_cmdline): Out of memory fixes.
19568 (grub_script_execute_menuentry): Likewise.
19569 (grub_script_execute_argument_to_string): Removed. Update all
19570 users by...
19571 (grub_script_execute_argument_to_argv): ...better version.
19572 * script/function.c (grub_script_function_create): Use
19573 grub_script_execute_argument_to_argv instead of
19574 grub_script_execute_argument_to_string.
19575
19576 * script/lexer.c (check_varstate): Removed.
19577 (check_textstate): Removed.
19578 (grub_script_lexer_record_start): Likewise.
19579 (grub_script_lexer_record_stop): Likewise.
19580 (recordchar): Replaced with...
19581 (grub_script_lexer_record): ...new function.
19582 (nextchar): Removed.
19583 (grub_script_lexer_init): Rewritten.
19584 (grub_script_yylex): Rewritten.
19585 (append_newline): New function.
19586 (grub_script_lexer_yywrap): New function.
19587 (grub_script_lexer_fini): New function.
19588 (grub_script_yyerror): Sets error flag.
19589
19590 * script/yylex.l: New file.
19591 (grub_lexer_yyfree): Wrapper for flex yyffre.
19592 (grub_lexer_yyalloc): Likewise.
19593 (grub_lexer_yyrealloc): Likewise.
19594 * script/parser.y: Refactored.
19595
19596 * script/script.c (grub_script_arg_add): Out of memory fixes.
19597 (grub_script_add_arglist): Likewise.
19598 (grub_script_create_cmdline): Likewise.
19599 (grub_script_create_cmdmenu): Likewise.
19600 (grub_script_add_cmd): Likewise.
19601 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19602 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19603 unnecessary code.
19604
19605 * tests/grub_script_echo1.in: New testcase.
19606 * tests/grub_script_vars1.in: New testcase.
19607 * tests/grub_script_echo_keywords.in: New testcase.
19608
1d63a066
VS
196092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Remove some redundancy in build system.
19612
19613 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19614 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19615 (TARGET_LDFLAGS): Add -nostdlib.
19616 (TARGET_IMG_LDFLAGS): Likewise.
19617 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19618 anything since mmap isn't available.
19619 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19620 Add util/time.c.
19621 (pkglib_MODULES): Remove reboot.mod.
19622 (reboot_mod_SOURCES): Removed.
19623 (reboot_mod_CFLAGS): Likewise.
19624 (reboot_mod_LDFLAGS): Likewise.
19625 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19626 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19627 (DEFSYMFILES): Add kernel_syms.lst.
19628 (kernel_img_HEADERS): Add common headers.
19629 (symlist.c): New target.
19630 (kernel_syms.lst): Likewise.
19631 (pkglib_MODULES): Add memdisk.mod.
19632 (memdisk_mod_SOURCES): New variable.
19633 (memdisk_mod_CFLAGS): Likewise.
19634 (memdisk_mod_LDFLAGS): Likewise.
19635 (pkglib_MODULES): Add reboot.mod.
19636 (reboot_mod_SOURCES): New variable.
19637 (reboot_mod_CFLAGS): Likewise.
19638 (reboot_mod_LDFLAGS): Likewise.
19639 (pkglib_MODULES): Add date.mod.
19640 (date_mod_SOURCES): New variable.
19641 (date_mod_CFLAGS): Likewise.
19642 (date_mod_LDFLAGS): Likewise.
19643 (pkglib_MODULES): Add datehook.mod.
19644 (datehook_mod_SOURCES): New variable.
19645 (datehook_mod_CFLAGS): Likewise.
19646 (datehook_mod_LDFLAGS): Likewise.
19647 (pkglib_MODULES): Add lsmmap.mod.
19648 (lsmmap_mod_SOURCES): New variable.
19649 (lsmmap_mod_CFLAGS): Likewise.
19650 (lsmmap_mod_LDFLAGS): Likewise.
19651 (pkglib_MODULES): Add boot.mod.
19652 (boot_mod_SOURCES): New variable.
19653 (boot_mod_CFLAGS): Likewise.
19654 (boot_mod_LDFLAGS): Likewise.
19655 * conf/i386-coreboot.rmk: Removed redundant parts.
19656 * conf/i386-ieee1275.rmk: Likewise.
19657 * conf/i386-pc.rmk: Likewise.
19658 * conf/mips-yeeloong.rmk: Likewise.
19659 * conf/mips.rmk: Likewise.
19660 * conf/powerpc-ieee1275.rmk: Likewise.
19661 * conf/sparc64-ieee1275.rmk: Likewise.
19662 * conf/x86_64-efi.rmk: Likewise.
19663 * conf/i386-coreboot.rmk: Moved qemu parts ..
19664 * conf/i386-qemu.rmk: ... here
19665 * conf/i386-efi.rmk: Moved common parts to...
19666 * conf/x86-efi.rmk: ... here.
19667 * conf/i386.rmk: Added modules common to all x86 variants.
19668 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19669 * disk/memdisk.c: Remove grub/machine/kernel.h.
19670 * gensymlist.sh.in: Include symbol.h.
19671 * hook/datehook.c: Correct module name.
19672 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19673 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19674 * include/grub/i386/efi/serial.h: New file.
19675 * include/grub/x86_64/efi/serial.h: Likewise.
19676 * util/time.c: Likewise.
19677 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19678
463ac55f
CK
196792010-03-14 Colin King <colin.king@ubuntu.com>
196802010-03-14 Colin Watson <cjwatson@ubuntu.com>
19681
19682 Shrink the pre-partition-table part of boot.img by eight bytes.
19683
19684 * boot/i386/pc/boot.S (ERR): New macro.
19685 (chs_mode): Use ERR.
19686 (geometry_error): Likewise.
19687 (hd_probe_error): Remove. This is only used once, so we wrwite
19688 it inline instead.
19689 (read_error): Instead of printing read_error_string, just set up
19690 %si and fall through to ...
19691 (error_message): ... this new function, also used by ERR.
19692
08e46ede
CW
196932010-03-14 Colin Watson <cjwatson@ubuntu.com>
19694
19695 Speed up consecutive hostdisk operations on the same device.
19696
19697 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19698 (grub_util_biosdisk_open): Initialise disk->data.
19699 (struct linux_partition_cache): New structure.
19700 (linux_find_partition): Cache partition start positions; these are
19701 expensive to compute on every read and write.
19702 (open_device): Cache open file descriptor in disk->data, so that we
19703 don't have to reopen it and flush the buffer cache for consecutive
19704 operations on the same device.
19705 (grub_util_biosdisk_close): New function.
19706 (grub_util_biosdisk_dev): Set `close' member.
19707
19708 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19709 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19710 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19711 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19712 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19713
4a6d2d06
VS
197142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 Compile parts of grub-emu as modules.
19717
19718 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19719 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19720 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19721 (all-local): Add $(GRUB_EMU).
19722 (install-local): Install $(GRUB_EMU).
19723 (uninstall): Uninstall $(GRUB_EMU).
19724 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19725 * kern/dl.c: Likewise.
19726 * commands/sleep.c: Not include machine/time.h.
19727 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19728 (COMMON_CFLAGS): Likewise.
19729 (sbin_UTILITIES): Remove grub-emu.
19730 (grub_emu_SOURCES): Removed.
19731 (kernel_img_RELOCATABLE): New variable.
19732 (pkglib_PROGRAMS): Add kernel.img.
19733 (kernel_img_SOURCES): New variable
19734 (kernel_img_CFLAGS): Likewise.
19735 (kernel_img_LDFLAGS): Likewise.
19736 (TARGET_NO_STRIP): Likewise.
19737 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19738 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19739 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19740 (grub-emu): New target.
19741 (GRUB_EMU): New variable.
19742 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19743 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19744 * loader/xnu.c: Likewise.
19745 * include/grub/pci.h: Likewise.
19746 * genemuinit.sh: New file.
19747 * genemuinitheader.sh: Likewise.
19748 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19749 Support TARGET_NO_DYNAMIC_MODULES.
19750 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19751 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19752 * disk/loopback.c: Likewise.
19753 * font/font_cmd.c: Likewise.
19754 * partmap/acorn.c: Likewise.
19755 * partmap/amiga.c: Likewise.
19756 * partmap/apple.c: Likewise.
19757 * partmap/gpt.c: Likewise.
19758 * partmap/msdos.c: Likewise.
19759 * partmap/sun.c: Likewise.
19760 * parttool/msdospart.c: Likewise.
19761 * term/gfxterm.c: Likewise.
19762 * video/bitmap.c: Likewise.
19763 * video/readers/jpeg.c: Likewise.
19764 * video/readers/png.c: Likewise.
19765 * video/readers/tga.c: Likewise.
19766 * video/video.c: Likewise.
19767 * util/grub-emu.c (read_command_list): Removed.
19768 (main): Don't call util_init_nls.
19769 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19770 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19771
91fdd2ed
VS
197722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19775 date.mod, datehook.mod.
19776 (datetime_mod_SOURCES): New variable.
19777 (datetime_mod_CFLAGS): Likewise.
19778 (datetime_mod_LDFLAGS): Likewise.
19779 (date_mod_SOURCES): Likewise.
19780 (date_mod_CFLAGS): Likewise.
19781 (date_mod_LDFLAGS): Likewise.
19782 (datehook_mod_SOURCES): Likewise.
19783 (datehook_mod_CFLAGS): Likewise.
19784 (datehook_mod_LDFLAGS): Likewise.
19785 * conf/sparc64-ieee1275.rmk: Likewise.
19786 * lib/ieee1275/datetime.c: New file.
19787
873ccae6
VS
197882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19791 (ieee1275_fb_mod_SOURCES): New variable.
19792 (ieee1275_fb_mod_CFLAGS): Likewise.
19793 (ieee1275_fb_mod_LDFLAGS): Likewise.
19794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19795 New proto.
19796 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19797 (HEAP_MAX_ADDR): Likewise.
19798 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19799 type.
19800 Correct stop condition.
19801 (grub_ieee1275_devices_iterate): New function.
19802 * video/ieee1275.c: New file.
19803
601c97c0
VS
198042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19807
19808 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19809 as scratch.
19810 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19811 SCRATCH_PAD_DISKBOOT as scratch.
19812 (bootit): Pass Openfirmware pointer in %o4.
19813 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19814 of 0x200000.
19815 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19816 with util/grub-mkrawimage.c.
19817 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19818 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19819 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19820 (grub_aout_load) [GRUB_UTIL]: Likewise.
19821 * include/grub/kernel.h (grub_modules_get_end): New proto.
19822 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19823 (SCRATCH_PAD_BOOT): New definition.
19824 (SCRATCH_PAD_DISKBOOT): Likewise.
19825 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19826 * include/grub/sparc64/ieee1275/ieee1275.h
19827 (grub_ieee1275_original_stack): New variable
19828 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19829 New definition
19830 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19831 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19832 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19833 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19834 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19835 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19836 (grub_platform_image_format_t): New type.
19837 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19838 * kern/main.c (grub_modules_get_end)
19839 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19840 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19841 (codestart): Switch stacks.
19842 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19843 variable.
19844 (grub_heap_init): Use grub_modules_get_end.
19845 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19846 stack.
19847 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19848 (main): Likewise.
19849 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19850
d68b491e
TG
198512010-03-14 Thorsten Glaser <tg@mirbsd.org>
19852
19853 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19854
4e02ed50
MK
198552010-03-08 Matt Kraai <kraai@ftbfs.org>
19856
19857 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19858 bug #559005).
19859
1f15fc1e
VS
198602010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * genmoddep.awk: Output all missing symbols and not only first.
19863
fce5d8ff
VS
198642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19865
19866 * NEWS: Put the date of 1.98 release.
19867
d1e8a02f
VS
198682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19871 ft2build.h.
19872
696fd607
VS
198732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19876 completition in the middle of string.
19877
33e2e6f3
VS
198782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * util/grub-mkrescue.in: Use mktemp with explicit template.
19881
b1f6d291
VS
198822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19885
2ac227c7
VS
198862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19889 right pointer.
19890
8f9a632b
VS
198912010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 Fix FreeBSD compilation.
19894
19895 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19896 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19897
60b03859
VS
198982010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19901
48a5a769
VS
199022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19905
3ab4bd77
VS
199062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19909
d116e0d8
RM
199102010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19911
19912 Support relative image path in theme file.
19913
19914 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19915 (image_set_property): Handle theme_dir and relative path.
19916
c7ef54aa
VS
199172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19918
19919 * configure.ac: Alias amd64 to x86_64.
19920
fcee14ed
VS
199212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * NEWS: mention multiboot on EFI.
19924
d0780363
VS
199252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * kern/main.c (grub_load_modules): Handle errors from init functions of
19928 embeded modules.
19929
41168ea4
VS
199302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * normal/autofs.c (autoload_fs_module): Handle errors.
19933
b54d93ac
VS
199342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19935
19936 Disable linux.mod on qemu-mips since it's not functional and leads
19937 to compilation failure.
19938
19939 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19940 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19941 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19942 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19943 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19944 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19945 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19946 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19947 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19948 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19949 Reported by: BVK Chaitanya
19950
fc8345da
JU
199512010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19952
19953 * INSTALL: Add gettext as a dependency and add qemu to a new section
19954 "Prerequisites for make-check".
19955
4760f979
CF
199562010-03-04 Christian Franke <franke@computer.org>
19957
19958 * util/grub-pe2elf.c: Add missing include "progname.h".
19959
f209b5b2
VS
199602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * normal/crypto.c (read_crypto_list): Fix a typo.
19963 Reported by: Seth Goldberg.
19964
b4b7be98
VS
199652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19968 Reported by: Seth Goldberg.
b4b7be98 19969
c0ee0385
VS
199702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19973 ascii.bitmaps.
19974
a8efbf64
VS
199752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19978 Reported by: Seth Goldberg.
a8efbf64 19979
08dcd913
VS
199802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 * util/i386/efi/grub-install.in: Copy gettext files.
19983
c4d0b332
VS
199842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19987
c6f2fe52
VS
199882010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 Wait for user entry basing on presence of output rather than on errors.
19991
19992 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19993 (grub_install_newline_hook): Likewise.
19994 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19995 * normal/menu.c (show_menu): Check line_counter to determine presence
19996 of output.
19997 * normal/term.c (grub_normal_line_counter): New variable.
19998 (grub_normal_get_line_counter): New function.
19999 (grub_install_newline_hook): Likewise.
20000
5382b1e4
VS
200012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20004
5519963b
VS
200052010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * configure.ac: Update version to 1.98.
20008
72b28631
VS
200092010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * util/grub.d/10_linux.in (linux_entry): Don't default to
20012 gfxpayload=keep if Linux doesn't support video handover.
20013
c140a180
VS
200142010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 Don't compile video modules on yeeloong since video subsystem is part
20017 of kernel.
20018
20019 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20020 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20021 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20022 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20023 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20024 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20025 * include/grub/bitmap_scale.h: Likewise.
20026 * include/grub/bufio.h: Likewise.
20027 * include/grub/font.h: Likewise.
20028 * include/grub/gfxterm.h: Likewise.
20029 * include/grub/video.h: Likewise.
20030 * include/grub/vbe.h: Don't include video_fb.h.
20031 * video/i386/pc/vbe.c: Include video_fb.h.
20032 * commands/i386/pc/vbetest.c: Include video.h.
20033
a0ca21c2
CW
200342010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20035
20036 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20037 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20038 default entry if GRUB_SAVEDEFAULT=true. This allows using
20039 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20040 saving a new default on every boot.
20041
4a8a763c
VS
200422010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20045 * normal/term.c (read_terminal_list): Likewise.
20046 * normal/main.c (grub_normal_init_page): Likewise.
20047 (grub_normal_read_line_real): Likewise.
20048
607ffde2
VS
200492010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20050
20051 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20052 memory leak.
20053 Reported by: Seth Goldberg.
20054
2b8fa975
CW
200552010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20056
20057 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20058 duplicate declaration of `start'.
20059
618307dd
VS
200602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20063 filename.
20064 Reported by: Georgy Buranov
20065
7dd05b96 200662010-02-20 Carles Pina i Estany <carles@pina.cat>
20067
20068 * util/grub-mkrawimage.c (usage): Change string formatting to
20069 improve gettext.
20070
d1484a42
MRA
200712010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20072
20073 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20074 backspace keys.
20075
42b1d186
VS
200762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20079 Reported by: Michael Suchanek.
20080
200812010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20082
20083 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20084 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20085
d9f31a41
VS
200862010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 Remove any reference to non-free fonts.
20089
20090 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20091 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20092 uses non-free components.
20093 * font/font.c (grub_font_get_name): Remove example name.
20094 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20095 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20096 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20097 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20098
2793c71e
GB
200992010-02-16 Georgy Buranov <gburanov@gmail.com>
20100
20101 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20102
402e3779
VS
201032010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20104
20105 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20106 Double divisor.
20107 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20108 features.
20109 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20110
0dd1e0dd
VS
201112010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20114
6fa7cfce
ST
201152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20116
20117 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20118 * docs/grub.texi (Command-line and menu entry commands): Document play
20119 command.
20120
37c8483b
ST
201212010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20122
20123 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20124 parse arguments as inline tempo and notes. Move code for playing notes
20125 to...
20126 (play): ... new function.
20127
14da0fb7
ST
201282010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20129
20130 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20131 grub_uint16_t instead of short.
20132 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20133 disk from little endian to cpu endianness.
20134
04459e70
ST
201352010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20136
20137 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20138 GRUB_TICKS_PER_SECOND instead of 120.
20139
a0876943
VS
201402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20143 escape sequence after \e.
20144
e29f95dc
VS
201452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20148 non-ASCII characters.
20149
d27859b2
VS
201502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20153 set root in single quotes to prevent \, from being unescaped.
20154
bc028f2f
VS
201552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20156
20157 Prevent unknown commands from stopping menuentry execution.
20158
20159 * script/execute.c (grub_script_execute_cmdline): Print error after
20160 unknown command.
20161
095f5f82
VS
201622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20165 Reported by: Pavel Pisa.
20166
8c717950
VS
201672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20170
904935c3
VS
201712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 Merge grub_ieee1275_map_physical into grub_map and rename to
20174 grub_ieee1275_map
20175
20176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20177 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20178 Remove.
20179 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20180 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20181 necessary.
20182 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20183
5b59a4e3
VS
201842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20187 opening and not after.
20188
69e137e8
VS
201892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20192 constants.
20193
2c0fcc36
VS
201942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20197 (alloc_phys): Use ALIGN_UP instead of align_addr.
20198
8c6052ce
VS
201992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20202
17cec782
VS
202032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20206
e0128bbd
VS
202072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20208
20209 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20210 verbose dprintf.
20211
ca62070b
VS
202122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 Fix over-4GiB seek on sparc64.
20215
20216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20217 Replace pos_i and pos_lo with pos. All users updated.
20218 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20219 New constant.
20220 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20221 Likewise.
20222 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20223 and pos_lo.
20224
bdca2607
VS
202252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * util/grub-mkrawimage.c (main): Call set_program_name.
20228
da278c4d
VS
202292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 Properly align 64-bit targets.
20232
20233 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20234 (generate_image): Use ALIGN_ADDR.
20235
b274d734
VS
202362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 Properly create cross-endian images.
20239
20240 * include/grub/types.h (grub_host_to_target_addr): New macro
20241 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20242
82da2062
VS
202432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20246
7cae4377
VS
202472010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20250
20251 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20252 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20253 (grub_linux_boot): Divide by 64K when on VESA.
20254
65a533e7
VS
202552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20256
20257 Support GRUB_GFXPAYLOAD_LINUX.
20258
20259 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20260 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20261
dd01d397
VS
202622010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20265 to show messages instead of discarding them.
20266 Process errors after executing command and not before. Keep old method
20267 too as precaution.
20268
660960d6
VS
202692010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 * configure.ac: Check for ft2build.h.
20272
62509f04
VS
202732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20276
473df63d
VS
202772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * genkernsyms.sh.in: Use TARGET_CC.
20280
c98d2a13
CW
202812010-02-07 Colin Watson <cjwatson@ubuntu.com>
20282
20283 * NEWS: Update.
20284
6e14234c
VS
202852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20288 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20289 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20290
b255e9cf
YB
202912010-02-07 Yves Blusseau <blusseau@zetam.org>
20292
6e14234c 20293 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20294
98e6959d
VS
202952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 Fix warnings in grub-emu when compiling with maximum warning options.
20298
20299 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20300 (grub_arch_modules_addr): Return 0 and not NULL.
20301 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20302 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20303 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20304 of disk to dsk to avoid shadowing.
74e4934e
VS
20305 (find_free_slot): Fix prototype.
20306 * util/getroot.c (grub_util_is_dmraid): Make static.
20307 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20308 Add missing prototype.
20309 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20310
74e31b5c
VS
203112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20314 appropriately.
20315
6b2ad14b
VS
203162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20319 code out.
20320
8f891adc
VS
203212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20324 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20325 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20326 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20327 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20328 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20329
74b45184
VS
203302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * include/grub/err.h (grub_err_printf): Don't export.
20333
a4bced77
VS
203342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20337
007d0695
VS
203382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20341 * kern/misc.c (grub_gettext_dummy): Make static.
20342
b6c0d9c2
VS
203432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20346 by non-valid ones.
20347 * kern/term.c (grub_putchar): Likewise.
20348
f51a90d0
VS
203492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20352 buggy hook call and memory leak.
20353
6846cec5
VS
203542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20357
468d69fe
VS
203582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20361
51906b8c
VS
203622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20365 modevar.
20366 Return grub_errno on allocation error.
20367
09706ce5
VS
203682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20371
911df80c
YB
203722010-02-06 Yves Blusseau <blusseau@zetam.org>
20373
20374 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20375 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20376
3746a6bc
VS
203772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20378
20379 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20380 non-pxe disk.
20381 (grub_pxefs_open): Likewise.
20382
09706ce5
VS
203832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20384
20385 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20386 * util/grub.d/10_kfreebsd.in: Likewise.
20387 * util/grub.d/10_linux.in: Likewise.
20388
7cc192d9
VS
203892010-02-06 Colin D Bennett <colin@gibibit.com>
20390
20391 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20392 (gfxmenu_mod_SOURCES): New variable.
20393 (gfxmenu_mod_CFLAGS): Likewise.
20394 (gfxmenu_mod_LDFLAGS): Likewise.
20395 * include/grub/term.h (grub_term_set_current_output): Declare
20396 argument as const.
20397 * docs/gfxmenu-theme-example.txt: New file.
20398 * gfxmenu/gfxmenu.c: Likewise.
20399 * gfxmenu/gui_box.c: Likewise.
20400 * gfxmenu/gui_canvas.c: Likewise.
20401 * gfxmenu/gui_circular_progress.c: Likewise.
20402 * gfxmenu/gui_image.c: Likewise.
20403 * gfxmenu/gui_label.c: Likewise.
20404 * gfxmenu/gui_list.c: Likewise.
20405 * gfxmenu/gui_progress_bar.c: Likewise.
20406 * gfxmenu/gui_string_util.c: Likewise.
20407 * gfxmenu/gui_util.c: Likewise.
20408 * gfxmenu/icon_manager.c: Likewise.
20409 * gfxmenu/model.c: Likewise.
20410 * gfxmenu/named_colors.c: Likewise.
20411 * gfxmenu/theme_loader.c: Likewise.
20412 * gfxmenu/view.c: Likewise.
20413 * gfxmenu/widget-box.c: Likewise.
20414 * include/grub/gfxmenu_model.h: Likewise.
20415 * include/grub/gfxmenu_view.h: Likewise.
20416 * include/grub/gfxwidgets.h: Likewise.
20417 * include/grub/gui.h: Likewise.
20418 * include/grub/gui_string_util.h: Likewise.
20419 * include/grub/icon_manager.h: Likewise.
20420
204212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 Agglomerate scrolling in gfxterm.
20424
20425 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20426 (grub_virtual_screen_setup): Initialise 'total_screen'.
20427 (write_char): Split to ...
20428 (paint_char): ... this ...
20429 (write_char): ... and this.
20430 (paint_char): Handle delayed scrolling.
20431 (draw_cursor): Likewise.
20432 (scroll_up): Split to ...
20433 (real_scroll): ... this ...
20434 (scroll_up): ... and this.
20435 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20436 characters.
20437 (grub_gfxterm_refresh): Call real_scroll.
20438
204392010-02-06 Colin D Bennett <colin@gibibit.com>
20440
20441 * include/grub/misc.h (grub_iscntrl): New inline function.
20442 (grub_isalnum): Likewise.
20443 (grub_strtol): Likewise.
20444
204452010-02-06 Colin D Bennett <colin@gibibit.com>
20446
20447 * normal/menu_text.c (get_entry_number): Move from here ...
20448 * normal/menu.c (get_entry_number): ... moved here.
20449 * include/grub/menu.h (grub_menu_get_default_entry_index):
20450 New prototype.
20451 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20452 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20453 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20454 (grub_menu_viewer_should_return): Likewise.
20455 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20456 * normal/menu_text.c (run_menu): Enable menu switching.
20457 * normal/menu_viewer.c (should_return): New variable.
20458 (menu_viewer_changed): Likewise.
20459 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20460 (grub_menu_viewer_should_return): New function.
20461 (menuviewer_write_hook): Likewise.
20462 (grub_menu_viewer_init): Likewise.
20463
204642010-02-06 Colin D Bennet <colin@gibibit.com>
204652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 Support for gfxterm in a window.
20468
20469 * include/grub/gfxterm.h: New file.
20470 * include/grub/video.h (struct grub_video_rect): New declaration.
20471 (grub_video_rect_t): Likewise.
20472 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20473 (refcount): New variable.
20474 (render_target): Likewise.
20475 (window): Likewise.
20476 (repaint_callback): Likewise.
20477 (grub_virtual_screen_setup): Use 'render_target'.
20478 (init_window): New function.
20479 (grub_gfxterm_init_window): Likewise.
20480 (grub_gfxterm_init): Check reference counter.
20481 Use init_window.
20482 (destroy_window): New function.
20483 (grub_gfxterm_destroy_window): Likewise.
20484 (grub_gfxterm_fini): Check reference counter.
20485 Use destroy_window.
20486 (redraw_screen_rect): Restore viewport.
20487 Use 'render_target' and 'window'.
20488 Call 'repaint_callback'.
20489 (write_char): Use 'render_target'.
20490 (draw_cursor): Likewise.
20491 (scroll_up): Restore viewport.
20492 Use 'render_target' and 'window'.
20493 Call 'repaint_callback'.
20494 (grub_gfxterm_cls): Likewise.
20495 (grub_gfxterm_refresh): Use 'window'.
20496 (grub_gfxterm_set_repaint_callback): New function.
20497 (grub_gfxterm_background_image_cmd): Use 'window'.
20498 (grub_gfxterm_get_term): New function.
20499 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20500
205012010-02-06 Colin D Bennett <colin@gibibit.com>
20502
20503 Bitmap scaling support.
20504
20505 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20506 (bitmap_scale_mod_SOURCES): New variable.
20507 (bitmap_scale_mod_CFLAGS): Likewise.
20508 (bitmap_scale_mod_LDFLAGS): Likewise.
20509 * include/grub/bitmap_scale.h: New file.
20510 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20511 (background_image_cmd_options): New variable.
20512 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20513 (cmd): Rename and change type to ...
20514 (background_image_cmd_handle): ... this. All users updated.
20515 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20516 * video/bitmap_scale.c: New file.
20517
205182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 SDL support.
20521
20522 * Makefile.in (LIBSDL): New variable.
20523 (enable_grub_emu_sdl): Likewise.
20524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20525 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20526 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20527 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20528 * util/sdl.c: New file.
20529
205302010-02-06 Colin D Bennett <colin@gibibit.com>
205312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20532
20533 Double buffering support.
20534
20535 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20536 * include/grub/video.h: Update comment.
20537 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20538 New type.
20539 (grub_video_fb_doublebuf_blit_init): New prototype.
20540 * term/gfxterm.c (scroll_up): Support double buffering.
20541 (grub_gfxterm_refresh): Likewise.
20542 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20543 (grub_video_fb_doublebuf_blit_init): Likewise.
20544 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20545 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20546 'displayed_page', 'render_page' and 'update_screen'.
20547 (grub_video_vbe_fini): Free offscreen buffer.
20548 (doublebuf_pageflipping_commit): New function.
20549 (doublebuf_pageflipping_update_screen): Likewise.
20550 (doublebuf_pageflipping_init): Likewise.
20551 (double_buffering_init): Likewise.
20552 (grub_video_vbe_setup): Enable doublebuffering.
20553 (grub_video_vbe_swap_buffers): Implement.
20554 (grub_video_vbe_set_active_render_target): Handle double buffering.
20555 (grub_video_vbe_get_active_render_target): Likewise.
20556 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20557 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20558 (grub_video_vbe_enable_double_buffering): Likewise.
20559 (grub_video_vbe_swap_buffers): Use update_screen.
20560 (grub_video_set_mode): Use double buffering.
20561
205622010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20563
20564 * maintainance/gentrigtables.py: Remove.
20565 * lib/trig.c: Likewise.
20566
20567 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20568
20569 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20570 `trigtables.c'.
20571 (trigtables.c): New rule.
20572 (gentrigtables): Likewise.
20573 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20574
205752010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20576
20577 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20578 integer constants.
20579
205802010-02-06 Colin D Bennet <colin@gibibit.com>
20581
20582 Trigonometry support.
20583
20584 * include/grub/trig.h: New file.
20585 * lib/trig.c: Likewise.
20586 * maintainance/gentrigtables.py: Likewise.
20587 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20588 (trig_mod_SOURCES): New variable.
20589 (trig_mod_CFLAGS): Likewise.
20590 (trig_mod_LDFLAGS): Likewise.
20591
5562834e
VS
205922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20595 disk devices.
20596
4f8528fc
VS
205972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20600 error.
20601
2b4068e9
VS
206022010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 * util/hostdisk.c (open_device): Don't use partition device when reading
20605 before the partition.
20606 (grub_util_biosdisk_read): Don't read from partition and before the
20607 partition in single operation.
20608 (grub_util_biosdisk_write): Don't write to partition and before the
20609 partition in single operation.
20610
399f6e4d
TL
206112010-02-03 Torsten Landschoff <torsten@debian.org>
20612
20613 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20614 last sectors.
20615
996649b0
VS
206162010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20619 CDROM reads.
20620 (grub_biosdisk_write): Refuse to write to CDROM.
20621
3b205d4d
VS
206222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20625
61e89d9d
VS
206262010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 * font/font.c (find_glyph): Check that bmp_idx is available before
20629 using it.
20630 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20631 with (font == NULL).
20632
bf7fcba2
CS
206332010-01-28 Christian Schmitt <chris@ilovelinux.de>
20634
20635 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20636
f45d2663
BC
206372010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20638
20639 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20640 * util/grub-script-check.c (getline): Fix empty lines case.
20641
ec1444e6
RM
206422010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20643
20644 * Makefile.in (check): Exit with fail status when one of the tests
20645 fails.
20646 * tests/example_functional_test.c (example_test): Fix reversed assert.
20647 * tests/example_unit_test.c (example_test): Likewise.
20648
2e1cb9bb
CW
206492010-01-28 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * util/grub.d/10_linux.in: This script does not use any of the
20652 contents of gettext.sh, only the external command `gettext', so stop
20653 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20654 the same prefix as GRUB.)
20655 * util/grub.d/10_kfreebsd.in: Likewise.
20656
63533ab0
VS
206572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20658
20659 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20660 of the line.
20661
989e1f93
VS
206622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20665 last sectors.
20666
e709ebe2
VS
206672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20670 having a 4KiB and not 32KiB buffer size.
20671
27dea7ed
RM
206722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20673
20674 * util/hostfs.c: Include `<errno.h>'.
20675 (grub_hostfs_read): Handle errors from fseeko() and fread().
20676
67667b9c
RM
206772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20678
20679 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20680 loop when using read hooks on files whose size isn't sector-aligned.
20681
c294d9d8
RM
206822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20683
20684 Remove unused parameter.
20685
20686 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20687 (grub_iso9660_open): Remove initialization of `data->length'.
20688
af75a9f1
RM
206892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20692 memleak conditions.
20693
254e2ce5 206942010-01-27 Carles Pina i Estany <carles@pina.cat>
20695
20696 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20697 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20698
b510928c 206992010-01-26 Carles Pina i Estany <carles@pina.cat>
20700
20701 * util/bin2h.c (usage): Fix warning (space after backslash).
20702
aa2f9dd2 207032010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20704
20705 * font/font.c: Include `grub/fontformat.h.
20706 Remove font file format constants.
20707 (grub_font_load): Use the new macros.
20708 * include/grub/fontformat.h: New file.
20709 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20710 (write_font_pf2): Use the new macros.
20711
94e7e712
RM
207122010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20713
20714 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20715 does.
20716
3973a59a
RM
207172010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20718
20719 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20720
20721 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20722 (_start): Macroify `0x7F'.
20723
20724 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20725 (make_install_device): Use "(pxe)" as fallback prefix when booting
20726 via PXE.
20727
42e0cba3
GS
207282010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * configure.ac: Reset LIBS after check for libgcc symbols.
20731
847effd8
CW
207322010-01-25 Colin Watson <cjwatson@ubuntu.com>
20733
20734 * util/hostdisk.c (open_device): Add trailing newline to debug
20735 message.
20736
ea4a7e35
GS
207372010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20738
20739 * configure.ac: Check for `limits.h'.
20740 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20741
67951a53
RM
207422010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20743
20744 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20745 capitalize error strings.
20746
c273d4ce
ST
207472010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20748
20749 * util/grub.d/10_hurd.in: Add a recovery mode.
20750
69be5b74
VS
207512010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * configure.ac: Check for libgcc symbols with -nostdlib.
20754
fc9e5810
BC
207552010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20756
20757 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20758
4b358c0a
VS
207592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20762 stack since heap may be unavailable at that point.
20763 (grub_ofconsole_gotoxy): Likewise.
20764
454fcd1c
VS
207652010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * configure.ac: Check for _restgpr_14_x.
20768 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20769 and _savegpr_* prototypes.
20770
566863ca
RM
207712010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20772
20773 Use generic grub_reboot() for i386-efi.
20774
20775 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20776 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20777 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20778
bf86e59a
VS
207792010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20780
20781 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20782 presence of "prefix" variable as it breaks when normal.mod is
20783 embedded.
20784
d645e0f8
VS
207852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20788 stack since heap is unavailable at that point.
20789
f9ab2e25
VS
207902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20791
20792 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20793 (grub_freebsd_bootinfo): Rewritten.
20794 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20795
01fc7054
VS
207962010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20799
caab4fd6
RM
208002010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20803 domain now.
20804
67eb1427
FZ
208052010-01-20 Felix Zielcke <fzielcke@z-51.de>
20806
20807 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20808 around for handling "/" to the correct fix. Fix a memory leak. Use
20809 xstrdup instead of strdup.
20810
a9ed4ff3
VS
208112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20814
208152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20816
20817 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20818
20819 * font/font.c (struct grub_font): New member 'bmp_idx'.
20820 (font_init): Initialise 'bmp_idx'.
20821 (load_font_index): Fill 'bmp_idx'.
20822 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20823
48209f4f
VS
208242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20827 unnecessary calls.
20828
9f0a4bb7
VS
208292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 Move context handling out of the kernel.
20832
20833 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20834 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20835 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20836 * conf/i386-efi.rmk: Likewise.
20837 * conf/i386-ieee1275.rmk: Likewise.
20838 * conf/i386-pc.rmk: Likewise.
20839 * conf/powerpc-ieee1275.rmk: Likewise.
20840 * conf/sparc64-ieee1275.rmk: Likewise.
20841 * conf/x86_64-efi.rmk: Likewise.
20842 * include/grub/env.h: Include grub/menu.h.
20843 (grub_env_var_type): Removed.
20844 (grub_env_var): Replaced field 'type' with 'global'.
20845 (grub_env_find): New prototype.
20846 (grub_env_context_open): Remove EXPORT_FUNC.
20847 (grub_env_context_close): Likewise.
20848 (grub_env_export): Likewise.
20849 (grub_env_set_data_slot): Removed.
20850 (grub_env_get_data_slot): Likewise.
20851 (grub_env_unset_data_slot): Likewise.
20852 (grub_env_unset_menu): New prototype.
20853 (grub_env_set_menu): Likewise.
20854 (grub_env_get_menu): Likewise.
20855 * include/grub/env_private.h: New file.
20856 * include/grub/normal.h (grub_context_init): New prototype.
20857 (grub_context_fini): Likewise.
20858 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20859 * normal/context.c (grub_cmd_export): ... to here.
20860 * kern/env.c: Include env_private.h.
20861 (HASHSZ): Moved to include/grub/env_private.h.
20862 (grub_env_context): Likewise.
20863 (grub_env_sorted_var): Likewise.
20864 (current_context): Renamed from this ...
20865 (grub_current_context): ...to this. 'static' removed. All users updated.
20866 (grub_env_find): Removed 'static'.
20867 (grub_env_context_open): Moved to normal/context.c.
20868 (grub_env_context_close): Likewise.
20869 (grub_env_export): Likewise.
20870 (mangle_data_slot_name): Removed.
20871 (grub_env_set_data_slot): Likewise.
20872 (grub_env_get_data_slot): Likewise.
20873 (grub_env_unset_data_slot): Likewise.
20874 * kern/main.c (grub_set_root_dev): Don't export root.
20875 It will be done later.
20876 (grub_main): Don't export prefix.
20877 It will be done later.
20878 * normal/context.c: New file.
20879 * normal/main.c (free_menu): Use grub_env_unset_menu.
20880 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20881 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20882 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20883 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20884
8dd35b8c
VS
208852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 setpci support.
20888
20889 * commands/setpci.c: New file.
20890 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20891 (setpci_mod_SOURCES): New variable.
20892 (setpci_mod_CFLAGS): Likewise.
20893 (setpci_mod_LDFLAGS): Likewise.
20894
449193d5
VS
208952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20896
20897 Byte-addressable PCI configuration space.
20898
20899 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20900 dword address.
20901 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20902 GRUB_PCI_REG_CACHELINE.
20903 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20904 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20905 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20906 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20907 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20908 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20909 grub_pci_make_address.
20910 (lock_rom_area): Likewise.
20911 * commands/lspci.c (grub_lspci_iter): Use macroses
20912 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20913 of grub_pci_make_address.
20914 * disk/ata.c (grub_ata_pciinit): Likewise.
20915 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20916 (GRUB_PCI_REG_VENDOR): Likewise.
20917 (GRUB_PCI_REG_DEVICE): Likewise.
20918 (GRUB_PCI_REG_COMMAND): Likewise.
20919 (GRUB_PCI_REG_STATUS): Likewise.
20920 (GRUB_PCI_REG_REVISION): Likewise.
20921 (GRUB_PCI_REG_CLASS): Likewise.
20922 (GRUB_PCI_REG_CACHELINE): Likewise.
20923 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20924 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20925 (GRUB_PCI_REG_BIST): Likewise.
20926 (GRUB_PCI_REG_ADDRESSES): Likewise.
20927 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20928 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20929 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20930 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20931 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20932 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20933 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20934 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20935 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20936 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20937 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20938 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20939 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20940 (GRUB_PCI_REG_MIN_GNT): Likewise.
20941 (GRUB_PCI_REG_MAX_LAT): Likewise.
20942 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20943 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20944 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20945 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20946 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20947 space.
20948
96d73208
RM
209492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20950
20951 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20952 can be reliably determined to be supported.
20953
d4484482
RM
209542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20957 that VESA is supported.
20958 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20959 supported.
20960
00308ecf
VS
209612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20962
20963 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20964
f66924a4
RM
209652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20966
20967 * util/misc.c (make_system_path_relative_to_its_root): Work around
20968 special-casing of "/", as previous incarnation of this routine did.
20969
cbca0ada
VS
209702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20971
20972 Fix any-emu compilation.
20973
20974 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20975 * grub_bin2h_SOURCES: New variable.
20976
34a66d99
RM
209772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20978
20979 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20980
94fabf58
RM
209812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20982
20983 * util/grub.d/00_header.in: Fix handling of locale_dir.
20984
02cf98ca
VS
209852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20988 as possible unifont location (Gentoo).
20989 Reported by: Alexander Brüning
20990
327dbcd7
VS
209912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 Don't try to generate lists for kernel.img.
20994
20995 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20996 (pkglib_MODULES): Remove kernel.img.
20997 (kernel_img_EXPORTS): Removed.
20998 (kernel_img_RELOCATABLE): New variable.
20999 * conf/x86_64-efi.rmk: Likewise.
21000 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21001
ca467290
VS
210022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21005 grub_xasprintf or grub_snprintf.
21006 (grub_vsprintf): Likewise.
21007 (grub_snprintf): New proto.
21008 (grub_vsnprintf): Likewise.
21009 (grub_xasprintf): Likewise.
21010 (grub_xvasprintf): Likewise.
21011 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21012 (grub_sprintf): Removed.
21013 (grub_vsnprintf): New function.
21014 (grub_snprintf): Likewise.
21015 (grub_xvasprintf): Likewise.
21016 (grub_xasprintf): Likewise.
21017 (grub_vsprintf): Renamed to ...
21018 (grub_vsnprintf_real): ...this. New argument max_len.
21019
aca655fd
BC
210202010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21021
21022 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21023 fix grub-script-check warning.
21024
7ee92c32
VS
210252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 * include/grub/font.h (grub_font_load): Fix prototype.
21028
f80927ca
VS
210292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21032
119c50ea
VS
210332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21034
21035 * include/grub/x86_64/at_keyboard.h: New file.
21036
47d5f3c1
VS
210372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 * loader/mips/linux.c: Include missing grub/i18n.h.
21040
55ff5266
RM
210412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21042
21043 * normal/menu.c (notify_execution_failure): Clarify error message.
21044
c893cc87
RM
210452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21046
21047 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21048 return value (and revert all return statements). Update users.
21049
917dd370
CW
210502010-01-20 Dan Merillat <debian@dan.merillat.org>
21051
21052 * kern/device.c (grub_device_iterate): Allocate new part_ent
21053 structure based on sizeof (*p) rather than sizeof (p->next), to
21054 account for structure padding.
21055
21056 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21057 disk is NULL, which might happen for LVM physical volumes with no
21058 LVM signature.
21059
d4a4ee57
RM
210602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21061
21062 * loader/mips/linux.c (grub_cmd_initrd)
21063 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21064
210652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21068 (grub_video_video_init, grub_video_bitmap_init)
21069 (grub_font_manager_init, grub_term_gfxterm_init)
21070 (grub_at_keyboard_init): New extern declarations.
21071 (grub_machine_init): Initialize gfxterm and at_keyboard.
21072
21073 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21074
21075 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21076 `gfxterm.mod' into core image.
21077
21078 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21079 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21080 (kernel_img_FORMAT): Copy to ...
21081
21082 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21083 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21084 (kernel_img_FORMAT): ... here, and ...
21085
21086 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21087 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21088 (kernel_img_FORMAT): ... here.
21089
21090 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21091 and input (at_keyboard) terminals in kernel.
21092 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21093
21094 (pkglib_MODULES): Remove `pci.mod'.
21095 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21096 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21098 (at_keyboard_mod_LDFLAGS): Remove variables.
21099
211002010-01-11 Felix Zielcke <fzielcke@z-51.de>
21101
21102 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21103
211042009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21105
21106 * include/grub/mips/libgcc.h: Only export symbols for functions
21107 that libgcc provides.
21108
211092009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 MIPS support.
21112
21113 * bus/bonito.c: New file.
21114 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21115 GRUB_PCI_NUM_DEVICES.
21116 * term/i386/pc/serial.c: Move to ...
21117 * term/serial.c: ... here. All users updated.
21118 * util/i386/pc/grub-mkimage.c: Move to ...
21119 * util/grub-mkrawimage.c: ... here. All users updated.
21120 * term/i386/pc/at_keyboard.c: Move to ...
21121 * term/at_keyboard.c: ... here. All users updated.
21122 * conf/mips-qemu-mips.rmk: New file.
21123 * conf/mips-yeeloong.rmk: Likewise.
21124 * conf/mips.rmk: Likewise.
21125 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21126 mipsel-qemu-mips.
21127 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21128 to port addresses.
21129 (grub_ata_pciinit): Support CS5536.
21130 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21131 * font/font_cmd.c (loadfont_command): Open file before passing it to
21132 grub_font_load.
21133 (pseudo_file_read): New function.
21134 (pseudo_file_close): Likewise.
21135 (pseudo_fs): New structure.
21136 (load_font_module): New function.
21137 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21138 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21139 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21140 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21141 * include/grub/i386/at_keyboard.h: Split into ...
21142 * include/grub/at_keyboard.h: ... this ...
21143 * include/grub/i386/at_keyboard.h: ... and this.
21144 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21145 New prototype.
21146 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21147 updated.
21148 (grub_elf64_size): Likewise.
21149 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21150 filename.
21151 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21152 * include/grub/i386/coreboot/serial.h: Rewritten.
21153 * include/grub/i386/ieee1275/serial.h: Include
21154 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21155 * include/grub/i386/pc/serial.h: Moved from here ...
21156 * include/grub/serial.h: ... to here. All users updated.
21157 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21158 (GRUB_PCI_NUM_BUS): Likewise.
21159 (GRUB_PCI_NUM_DEVICES): Likewise.
21160 (grub_pci_device_map_range): Add missing volatile keyword.
21161 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21162 * include/grub/mips/at_keyboard.h: New file.
21163 * include/grub/mips/cache.h: Likewise.
21164 * include/grub/mips/io.h: Likewise.
21165 * include/grub/mips/kernel.h: Likewise.
21166 * include/grub/mips/libgcc.h: Likewise.
21167 * include/grub/mips/pci.h: Likewise.
21168 * include/grub/mips/qemu-mips/boot.h: Likewise.
21169 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21170 * include/grub/mips/qemu-mips/loader.h: Likewise.
21171 * include/grub/mips/qemu-mips/memory.h: Likewise.
21172 * include/grub/mips/qemu-mips/serial.h: Likewise.
21173 * include/grub/mips/qemu-mips/time.h: Likewise.
21174 * include/grub/mips/relocator.h: Likewise.
21175 * include/grub/mips/time.h: Likewise.
21176 * include/grub/mips/types.h: Likewise.
21177 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21178 * include/grub/mips/yeeloong/boot.h: Likewise.
21179 * include/grub/mips/yeeloong/kernel.h: Likewise.
21180 * include/grub/mips/yeeloong/loader.h: Likewise.
21181 * include/grub/mips/yeeloong/memory.h: Likewise.
21182 * include/grub/mips/yeeloong/pci.h: Likewise.
21183 * include/grub/mips/yeeloong/serial.h: Likewise.
21184 * include/grub/mips/yeeloong/time.h: Likewise.
21185 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21186 * kern/elf.c (grub_elf32_size): New parameter. All users
21187 updated.
21188 (grub_elf64_size): Likewise.
21189 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21190 Load modules before saying "Welcome to GRUB!".
21191 Call grub_refresh after saying "Welcome to GRUB!".
21192 * kern/mips/cache.S: New file.
21193 * kern/mips/cache_flush.S: Likewise.
21194 * kern/mips/dl.c: Likewise.
21195 * kern/mips/init.c: Likewise.
21196 * kern/mips/qemu-mips/init.c: Likewise.
21197 * kern/mips/startup.S: Likewise.
21198 * kern/mips/yeeloong/init.c: Likewise.
21199 * kern/term.c (grub_putcode): Handle NULL terminal.
21200 (grub_getcharwidth): Likewise.
21201 (grub_getkey): Likewise.
21202 (grub_checkkey): Likewise.
21203 (grub_getkeystatus): Likewise.
21204 (grub_getxy): Likewise.
21205 (grub_getwh): Likewise.
21206 (grub_gotoxy): Likewise.
21207 (grub_cls): Likewise.
21208 (grub_setcolorstate): Likewise.
21209 (grub_setcolor): Likewise.
21210 (grub_getcolor): Likewise.
21211 (grub_refresh): Likewise.
21212 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21213 (write_jump): Add hatch nop.
21214 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21215 * lib/mips/setjmp.S: New file.
21216 * loader/mips/linux.c: Likewise.
21217 * term/i386/pc/at_keyboard.c: Move from here ...
21218 * term/at_keyboard.c: ... to here.
21219 * term/i386/pc/serial.c: Moved from here ...
21220 * term/serial.c: ... to here. All users updated.
21221 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21222 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21223 (serial_translate_key_sequence): Avoid deadlock.
21224 (grub_serial_getkey): Handle backspace.
21225 (grub_serial_putchar): Fix newline handling.
21226 * util/i386/pc/grub-mkimage.c: Move from here ...
21227 * util/grub-mkrawimage.c: ... to here. All users updated.
21228 (generate_image): New parameters 'font_path' and 'format'.
21229 Support embedding font.
21230 Use grub_host_to_target* instead of grub_cpu_to_le*.
21231 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21232 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21233 (options): New option "--font".
21234 (usage): Likewise.
21235 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21236 (main): Handle "--font".
21237 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21238 (grub_virtual_screen_setup): Set bg_color_display.
21239 (redraw_screen_rect): Use bg_color_display instead of incorrect
21240 bg_color.
21241 (grub_gfxterm_cls): Likewise.
21242 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21243 Support embedding config file.
21244 (add_segments): Likewise.
21245 (options): New option "--config".
21246 (main): Handle "--config".
21247 * video/sm712.c: New file.
21248
25c2b5b3
RM
212492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21250
21251 Fix parallel builds.
21252
21253 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21254 font.c depend on ascii.h).
21255
212562010-01-12 Carles Pina i Estany <carles@pina.cat>
21257
21258 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21259
212602010-01-11 Carles Pina i Estany <carles@pina.cat>
21261
21262 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21263 By default: disabled.
21264 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21265 parameter.
21266
212672010-01-10 Carles Pina i Estany <carles@pina.cat>
21268
21269 * font/font.c: Update copyright years.
21270 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21271
212722010-01-10 Carles Pina i Estany <carles@pina.cat>
21273
21274 * font/font.c: Include `ascii.h'.
21275 (ASCII_BITMAP_SIZE): New macro.
21276 (ascii_font_glyph): Define.
21277 (ascii_glyph_lookup): New function.
21278 (grub_font_get_string_width): Change comment. If glyph not found, use
21279 ascii_glyph_lookup.
21280 (grub_font_get_glyph_with_fallback): If glyph not available returns
21281 ascii_glyph_lookup.
21282 * util/grub-mkfont.c (file_formats): New enum.
21283 (options): Add `ascii-bitmaps' new option.
21284 (usage): Add `asii-bitmaps' new option.
21285 (write_font_ascii_bitmap): New function.
21286 (write_font): Rename to ...
21287 (write_font_p2): ... this. Remove print_glyphs call.
21288 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21289 used. Call print_glyphs.
21290 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21291
212922010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21293
21294 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21295 (grub_bin2h_SOURCES): New variable.
21296 * util/bin2h.c: New file.
21297
915fc1b8
VS
212982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 * include/multiboot.h: Resynced with spec.
21301 * include/multiboot2.h: Likewise.
21302 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21303 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21304
9444b678
RM
213052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21306
21307 * include/grub/term.h (grub_term_register_input,
21308 grub_term_register_output): Check return of terminal init()
21309 routines, and abort if errors are raised.
21310
21311 * commands/terminal.c: Update copyright year.
21312
cba98e8d
RM
213132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21314
21315 * commands/terminal.c (grub_cmd_terminal_input)
21316 (grub_cmd_terminal_output): Check return of terminal init()
21317 routines, and abort if errors are raised.
21318
6f7db5d6
VS
213192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 * include/grub/i386/bsd.h: Fix include pathes.
21322
262bff8d
VS
213232010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 Add missing *BSD copyright headers.
21326
21327 * include/grub/aout.h: Add BSD licence.
21328 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21329 * include/grub/i386/freebsd_linker.h: ... here,
21330 * include/grub/i386/freebsd_reboot.h: ... here,
21331 * include/grub/i386/netbsd_bootinfo.h: ... here,
21332 * include/grub/i386/netbsd_reboot.h: ... here,
21333 * include/grub/i386/openbsd_bootarg.h: ... here,
21334 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21335 licence to each file.
21336
b2cab848
RM
213372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21338
21339 * acinclude.m4: Remove `nop' assembly instruction; it's not
21340 implemented by all architectures.
21341
2cb6be4b
RM
213422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21343
21344 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21345 ELILO. This is no longer necessary.
21346
a2eaee15
BC
213472010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21348
21349 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21350
21351 * util/grub-script-check.c: grub-script-check tool.
21352 * conf/common.rmk: Make rules for grub-script-check.
21353
88d17012
RM
213542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21355
21356 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21357 spotting it back in 2008. Shame on me for forgetting he did.
21358
21359 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21360
8040619d
RM
213612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21362
21363 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21364 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21365 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21366 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21367 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21368 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21369
a0c2a0f6
RM
213702010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21371
21372 * include/grub/test.h: Add license header.
21373 * tests/example_functional_test.c: Likewise.
21374 * tests/example_unit_test.c: Likewise.
21375 * tests/lib/functional_test.c: Likewise.
21376 * tests/lib/test.c: Likewise.
21377 * tests/lib/unit_test.c: Likewise.
21378
b0b13907
VS
213792010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 Use flag-based instead of hook-based video mode selection and "auto"
21382 keyword.
21383
21384 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21385 (grub_video_set_mode): Changed prototype. All users updated.
21386 (grub_video_check_mode_flag): New inline function.
21387 * video/video.c (parse_modespec): New function.
21388 (grub_video_set_mode): Parse flags and keywords.
21389
ea379330 213902010-01-17 Carles Pina i Estany <carles@pina.cat>
21391
21392 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21393 fprintf call.
21394
e15c215e
FZ
213952010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21396
21397 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21398
409ae1c9 213992010-01-16 Carles Pina i Estany <carles@pina.cat>
21400
21401 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21402 string.
21403 * util/grub-emu.c (usage): Likewise.
21404 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21405 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21406 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21407 * util/i386/pc/grub-setup.c (usage): Likewise.
21408
70a14d3d 214092010-01-16 Carles Pina i Estany <carles@pina.cat>
21410
21411 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21412 the message.
21413 (grub_util_info): Likewise.
21414 (grub_util_error): Likewise.
21415 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21416 and/or new lines in `grub_util_warna', `grub_util_info',
21417 `grub_util_error' calls.
21418 * util/getroot.c: Likewise.
21419 * util/grub-editenv.c: Likewise.
21420 * util/grub-emu.c: Likewise.
21421 * util/grub-fstest.c: Likewise.
21422 * util/grub-mkdevicemap.c: Likewise.
21423 * util/grub-mkfont.c: Likewise.
21424 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21425 * util/grub-mkrelpath.c: Likewise.
21426 * util/grub-pe2elf.c: Likewise.
21427 * util/grub-probe.c: Likewise.
21428 * util/hostdisk.c: Likewise.
21429 * util/i386/efi/grub-mkimage.c: Likewise.
21430 * util/i386/pc/grub-mkimage.c: Likewise.
21431 * util/i386/pc/grub-setup.c: Likewise.
21432 * util/ieee1275/ofpath.c: Likewise.
21433 * util/mkisofs/eltorito.c: Likewise.
21434 * util/mkisofs/rock.c: Likewise.
21435 * util/mkisofs/write.c: Likewise.
21436 * util/raid.c: Likewise.
21437 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21438 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21439
a0b766fc
VS
214402010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 Enable multiboot on non-pc.
21443
21444 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21445 multiboot.mod and multiboot2.mod to ...
21446 * conf/i386.rmk (pkglib_MODULES): ... here.
21447 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21448 Moved to ...
21449 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21450 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21451 Moved to ...
21452 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21453 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21454 Moved to ...
21455 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21456 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21457 Moved to ...
21458 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21459 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21460 relocator.mod.
21461 (ata_mod_SOURCES): Removed.
21462 (ata_mod_CFLAGS): Likewise.
21463 (ata_mod_LDFLAGS): Likewise.
21464 (relocator_mod_SOURCES): Removed.
21465 (relocator_mod_CFLAGS): Likewise.
21466 (relocator_mod_ASFLAGS): Likewise.
21467 (relocator_mod_LDFLAGS): Likewise.
21468 Include i386.mk.
21469 * include/grub/x86_64/multiboot.h: New file.
21470 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21471 Terminate EFI.
21472
884ade56
VS
214732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 Video multiboot support.
21476
21477 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21478 New prototype.
21479 * include/multiboot.h: Resynced with multiboot specification.
21480 * include/multiboot2.h: Likewise.
21481 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21482 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21483 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21484 (HAS_VGA_TEXT): Likewise.
21485 (accepts_video): New variable.
21486 (grub_multiboot_set_accepts_video): New function.
21487 (grub_multiboot_get_mbi_size): Account for video structures.
21488 (set_video_mode): New function.
21489 (retrieve_video_parameters): Likewise.
21490 (grub_multiboot_make_mbi): Fill video fields.
21491
0d90e8a6
VS
214922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 Video driver ids.
21495
21496 * include/grub/video.h (grub_video_driver_id): New type.
21497 (grub_video_adapter): New member 'id'. All users updated.
21498 (grub_video_get_driver_id): New proto.
21499 * video/video.c (grub_video_get_driver_id): New function.
21500
5c71db1b 215012010-01-14 Carles Pina i Estany <carles@pina.cat>
21502
21503 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21504 `var=val'.
21505
cca15b52 215062010-01-14 Carles Pina i Estany <carles@pina.cat>
21507
21508 * normal/cmdline.c (print_completion): Gettextizze.
21509
c586fbb2 215102001-01-14 Carles Pina i Estany <carles@pina.cat>
21511
21512 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21513
ba2f6848 215142010-01-14 Carles Pina i Estany <carles@pina.cat>
21515
21516 * gettext/gettext.c (grub_gettext_translate): Push and pop
21517 grub_errno.
21518 (grub_gettext_delete_list): Change comment style.
21519 * kern/err.c (grub_error): Gettextizze.
21520 (grub_fatal): Gettextizze.
21521
0a46429a
RM
215222010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21523
21524 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21525 (grub_linux16_real_boot): ... this.
21526 * kern/i386/loader.S: Likewise.
21527 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21528 (grub_linux16_boot): New function. Switches to text mode and calls
21529 grub_linux16_real_boot().
21530
21531 * loader/i386/bsd.c: Include `<grub/video.h>'.
21532 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21533 text mode before calling grub_unix_real_boot().
21534
21535 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21536 (grub_multiboot_boot): Switch to text mode before calling
21537 grub_relocator32_boot().
21538
21539 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21540 (grub_chainloader_boot): Switch to text mode before calling
21541 grub_chainloader_real_boot().
21542
d6f93a66
RM
215432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
215442010-01-05 Colin Watson <cjwatson@ubuntu.com>
21545
21546 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21547 non-empty value.
21548
215492010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
215502010-01-05 Colin Watson <cjwatson@ubuntu.com>
21551
21552 * util/grub.d/00_header.in: Define a "savedefault" function for use
21553 in menu entries.
21554 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21555
215562010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
215572010-01-05 Colin Watson <cjwatson@ubuntu.com>
21558
21559 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21560 saved_entry if boot_once is unset.
21561 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21562 previous saved entry (i.e. grub-reboot).
21563
215642009-12-08 Colin Watson <cjwatson@ubuntu.com>
21565
21566 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21567
215682009-12-08 Colin Watson <cjwatson@ubuntu.com>
21569
21570 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21571 `var=val'.
21572 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21573
215742009-12-08 Colin Watson <cjwatson@ubuntu.com>
21575
21576 * util/grub-reboot.in: Fix --version output.
21577 * util/grub-set-default.in: Likewise.
21578
215792009-12-08 Colin Watson <cjwatson@ubuntu.com>
21580
21581 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21582 blocks.
21583
215842009-12-08 Colin Watson <cjwatson@ubuntu.com>
21585
21586 * util/grub.d/00_header.in: Quote the value assigned to `default',
21587 in case it contains spaces.
21588
215892009-12-08 Colin Watson <cjwatson@ubuntu.com>
21590
21591 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21592 `save_default_entry' call from the macosx case to the linux case.
21593
215942009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
215952009-10-25 Colin Watson <cjwatson@ubuntu.com>
21596
21597 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21598 in `chosen' environment variable.
21599 * normal/menu_text.c (get_entry_number): Check if the variable
21600 matches the title of a menu entry.
21601 (run_menu): Pass menu to get_entry_number.
21602
21603 * util/grub-reboot.in: New file.
21604 * util/grub-set-default.in: New file.
21605 * conf/common.rmk (grub-reboot): New utility.
21606 (grub-set-default): New utility.
21607
21608 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21609 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21610 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21611 move it to `saved_entry' for the next boot. Load environment on
21612 initialisation.
21613 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21614 * util/grub.d/10_hurd.in: Likewise.
21615 * util/grub.d/10_linux.in (linux_entry): Likewise.
21616 * util/grub.d/10_windows.in: Likewise.
21617 * util/grub.d/30_os-prober.in: Likewise.
21618
21619 * util/grub-install.in: Create environment block.
21620 * util/i386/efi/grub-install.in: Likewise.
21621 * util/ieee1275/grub-install.in: Likewise.
21622 * util/sparc64/ieee1275/grub-install.in: Likewise.
21623
0934d184
BC
216242010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21625
21626 Unit testing framework for GRUB.
21627
21628 * Makefile.in: Test framework build rules for 'make check'.
21629 * conf/tests.rmk: Build rules for individual tests and framework.
21630
21631 * include/grub/test.h: Header file for whitebox tests.
21632 * tests/lib/functional_test.c: Framework support for whitebox
21633 functional tests.
21634 * tests/lib/test.c: Common whitebox testing code for unit and
21635 functional tests.
21636 * tests/lib/unit_test.c: Framework support for whitebox unit
21637 tests.
21638
21639 * tests/util/grub-shell-tester.in: Support utility for grub-script
21640 tests.
21641 * tests/util/grub-shell.in: Utility to execute grub-script
21642 commands in a Qemu instance.
21643
21644 * tests/example_functional_test.c: Example whitebox functional
21645 test.
21646 * tests/example_grub_script_test.in: Example grub-script test.
21647 * tests/example_scripted_test.in: Example scripted test.
21648 * tests/example_unit_test.c: Example whitebox unit test.
21649
9c4ffeeb
VS
216502010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21653 Add loader/i386/multiboot_mbi.c.
21654 (multiboot2_mod_SOURCES): Likewise.
21655 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21656 (multiboot2_mod_SOURCES): Likewise.
21657 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21658 (grub_multiboot_make_mbi): Likewise.
21659 (grub_multiboot_free_mbi): Likewise.
21660 (grub_multiboot_init_mbi): Likewise.
21661 (grub_multiboot_add_module): Likewise.
21662 (grub_multiboot_set_bootdev): Likewise.
21663 * loader/i386/multiboot.c (mbi): Removed.
21664 (mbi_dest): Likewise.
21665 (alloc_mbi): New variable.
21666 (grub_multiboot_payload_size): Removed. All users updated.
21667 (grub_multiboot_pure_size): New variable.
21668 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21669 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21670 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21671 (grub_fill_multiboot_mmap): Likewise.
21672 (grub_multiboot_get_bootdev): Likewise.
21673 (grub_multiboot): Use multiboot_mbi functions.
21674 * loader/i386/multiboot_mbi.c: New file.
21675
17383dfe
VS
216762010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21679 it would result in module crash.
21680
c1f28820
VS
216812010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21682
21683 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21684 (grub_ofconsole_getwh): Split to ...
21685 (grub_ofconsole_getwh): ... this.
21686 (grub_ofconsole_dimensions): ...and this.
21687 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21688
58655a16
RM
216892010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21690
21691 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21692
10891398
VS
216932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * loader/i386/pc/multiboot2.c: Removed stalled file.
21696
0b8a223c
VS
216972010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21700 Reported by: Grégoire Sutre
21701
92ab12b0
RM
217022010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21703
21704 * util/misc.c (canonicalize_file_name): New function.
21705 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21706 instead of realpath().
21707
a788afb6
CW
217082010-01-11 Colin Watson <cjwatson@ubuntu.com>
21709
21710 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21711 and make it clearer that it's optional. Based on confusion
21712 witnessed on IRC.
21713
ffa8e3d2
VS
217142010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21717 in premature implicit newline.
21718
e9060a9d
VS
217192010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21720
21721 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21722 which resulted in garbled command line at the end of screen.
21723
f0d0c0b7
RM
217242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21725
21726 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21727 initialization with similar approach as with other Linux loaders.
21728
0e60bae7
RM
217292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21730
21731 Fix i386-ieee1275 build.
21732
21733 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21734 and grub_term_height() for video_{width,height} initialization.
21735
217362010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21737
21738 Fix grub-emu build.
21739
21740 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21741
cdb3f378
RM
217422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
217432010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21744
21745 Support for multiple terminals.
21746
21747 * Makefile.in (pkglib_DATA): terminal.lst.
21748 (terminal.lst): New target.
21749 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21750 (GRUB_MOD_INIT(handler)): Likewise.
21751 (GRUB_MOD_FINI(handler)): Likewise.
21752 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21753 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21754 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21755 (grub_cmd_sleep): Use grub_term_save_pos.
21756 * commands/terminal.c: New file.
21757 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21758 commands/terminal.c and lib/charset.c.
21759 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21760 (pkglib_MODULES): Add terminal.mod.
21761 (terminal_mod_SOURCES): New variable.
21762 (terminal_mod_CFLAGS): Likewise.
21763 (terminal_mod_LDFLAGS): Likewise.
21764 * genhandlerlist.sh: Don't handle terminals.
21765 * genmk.rb: Generate terminal-*.lst.
21766 * genterminallist.sh: New file.
21767 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21768 (grub_is_valid_utf8): Likewise.
21769 (grub_utf8_to_ucs4_alloc): Likewise.
21770 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21771 (grub_menu_register_viewer): Changed argument.
21772 (grub_menu_try_text): New proto.
21773 (grub_gfxmenu_try_hook): New declaration.
21774 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21775 (grub_menu_init_page): Additional argument term.
21776 (grub_normal_init_page): Likewise.
21777 (grub_cmdline_get): Arguments simplified.
21778 (grub_utf8_to_ucs4_alloc): Removed.
21779 (grub_print_ucs4): Additional argument term.
21780 (grub_getstringwidth): Likewise.
21781 (grub_print_message_indented): Likewise.
21782 (grub_menu_text_register_instances): New proto.
21783 (grub_show_menu): Likewise.
21784 (read_terminal_list): Likewise.
21785 (grub_set_more): Likewise.
21786 * include/grub/parser.h: Include handler.h.
21787 * include/grub/reader.h: Rewritten.
21788 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21789 (GRUB_TERM_WIDTH): Changed to function.
21790 (GRUB_TERM_HEIGHT): Likewise.
21791 (GRUB_TERM_BORDER_WIDTH): Likewise.
21792 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21793 (GRUB_TERM_NUM_ENTRIES): Likewise.
21794 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21795 (GRUB_TERM_CURSOR_X): Likewise.
21796 (grub_term_input_class): Likewise.
21797 (grub_term_output_class): Likewise.
21798 (grub_term_outputs_disabled): New declaration.
21799 (grub_term_inputs_disabled): Likewise.
21800 (grub_term_outputs): Likewise.
21801 (grub_term_inputs): Likewise.
21802 (grub_term_register_input): Rewritten.
21803 (grub_term_register_output): Likewise.
21804 (grub_term_unregister_input): Likewise.
21805 (grub_term_unregister_output): Likewise.
21806 (FOR_ACTIVE_TERM_INPUTS): New macro.
21807 (FOR_DISABLED_TERM_INPUTS): Likewise.
21808 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21809 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21810 * include/grub/terminfo.h: Add oterm argument to all protypes.
21811 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21812 Use grub_rescue_run.
21813 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21814 All users updated.
21815 * kern/reader.c: Removed. All users updated.
21816 * kern/rescue_reader.c (grub_rescue_init): Removed.
21817 (grub_rescue_reader): Likewise.
21818 (grub_register_rescue_reader): Likewise.
21819 (grub_rescue_run): New function based on kern/reader.c.
21820 * kern/term.c: Adapted for multiterm.
21821 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21822 (grub_is_valid_utf8): Likewise.
21823 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21824 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21825 right terminal.
21826 * loader/i386/linux.c (grub_linux_boot): Likewise.
21827 * normal/auth.c (grub_username_get): New function.
21828 (grub_auth_check_authentication): Use grub_username_get.
21829 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21830 * normal/color.c: Adapt for multiterm.
21831 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21832 (grub_normal_init_page): Additional argument term.
21833 (read_lists): Call read_terminal_lists.
21834 (grub_enter_normal_mode): Call grub_cmdline_run.
21835 Handle grub_normal_exit_level.
21836 (grub_cmd_normal): Make reentrant.
21837 (grub_cmd_normal_exit): New function.
21838 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21839 * normal/menu.c: Adapt for multiterm.
21840 * normal/menu_entry.c: Likewise.
21841 * normal/menu_text.c: Likewise.
21842 * normal/menu_viewer.c: Removed. All users updated.
21843 * normal/term.c: New file.
21844 * util/console.c: Change order of includes to workaround a bug in
21845 ncurses headers.
21846 * term/terminfo.c: New argument oterm on all exported functions.
21847 All users updated.
21848 * util/grub-editenv.c (grub_term_input_class): Removed.
21849 (grub_term_output_class): Likewise.
21850
1a064917
RM
218512010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21852
21853 Make loader output a bit more user-friendly.
21854
21855 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21856 is being loaded. Likewise for the Hurd.
21857
21858 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21859 that kernel of FreeBSD ${version} is being loaded.
21860
21861 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21862 grub_dprintf().
21863 (grub_cmd_initrd): Likewise.
21864 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21865 that Linux ${version} is being loaded. Likewise for initrd.
21866
5ce0a83a 218672010-01-09 Carles Pina i Estany <carles@pina.cat>
21868
21869 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21870
809bbfeb 218712010-01-08 Carles Pina i Estany <carles@pina.cat>
21872
21873 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21874 (GRUB_MOD_INIT): Gettextizze.
21875 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21876 (GRUB_MOD_INIT): Gettextizze.
21877 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21878 (grub_cmd_linux): Capitalise Linux.
21879 (GRUB_MOD_INIT): Gettextizze.
21880 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21881 (grub_cmd_linux): Capitalise Linux.
21882 (GRUB_MOD_INIT): Gettextizze.
21883 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21884 (grub_cmd_linux): Capitalise Linux.
21885 (GRUB_MOD_INIT): Gettextizze.
21886 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21887 (GRUB_MOD_INIT): Gettextizze.
21888 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21889 (grub_cmd_linux): Capitalise Linux.
21890 (GRUB_MOD_INIT): Gettextizze.
21891 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21892 (grub_cpu_xnu_init): Gettextizze.
21893 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21894 (GRUB_MOD_INIT): Gettextizze.
21895 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21896 (GRUB_MOD_INIT): Gettextizze.
21897 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21898 (grub_linux_load64): Capitalise Linux.
21899 (GRUB_MOD_INIT): Gettextizze.
21900 * loader/xnu.c: Include `<grub/i18n.h>'.
21901 (GRUB_MOD_INIT): Gettextizze.
21902 * po/POTFILES: Add `loader/efi/appleloader.c',
21903 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21904 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21905 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21906 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21907 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21908 and `loader/xnu.c'.
21909
b394b2ca
RM
219102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21911
21912 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21913
219142010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21915
21916 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21917 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21918 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21919
bc8b32b3
RM
219202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21921
21922 Reset Multiboot 2 support. New loader implements the draft in
21923 /branches/multiboot2 and shares as much code as possible with the
21924 production Multiboot 1 implementation.
21925
21926 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21927 * loader/multiboot2.c: Likewise.
21928 * loader/i386/multiboot_helper.S: Likewise.
21929 * include/multiboot2.h: Replace with latest version from the draft
21930 in /branches/multiboot2.
21931
21932 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21933 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21934 and `loader/multiboot2.c'.
21935 (pkglib_MODULES): Add `multiboot2.mod'.
21936 (multiboot2_mod_SOURCES): New variable.
21937 (multiboot2_mod_LDFLAGS): Likewise.
21938 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21939
21940 * conf/i386-pc.rmk: Likewise.
21941
21942 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21943 (multiboot_mod_SOURCES): Remove variable.
21944 (multiboot_mod_LDFLAGS): Likewise.
21945 (multiboot_mod_CFLAGS): Likewise.
21946
21947 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21948 `<multiboot2.h>' instead of `<multiboot.h>'.
21949 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21950 (MULTIBOOT_HEADER_MAGIC): New macros.
21951
21952 * loader/multiboot_loader.c (module_version_status): Remove variable.
21953 (find_multi_boot2_header): Remove function.
21954 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21955 logic. Always check for the Multiboot version we're compiling for.
21956 (grub_cmd_module_loader): Likewise.
21957 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21958 command instead of `multiboot'.
21959
5d2c52b8
RM
219602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21961
21962 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21963 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21964 all users.
21965
53108d92
RM
219662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
219672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 Fix breakage introduced with previous commit.
21970
21971 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21972 commands.
21973 * normal/handler.c (read_handler_list): Revert part of previous commit
21974 affecting this file.
21975 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21976 (grub_normal_execute): ... here.
21977
e2e936b2
RM
219782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21979
21980 Merge prefix-redefinition-fix branch.
21981
21982 * normal/autofs.c (read_fs_list): Make function capable of being
21983 run multiple times, gracefuly replacing the previous data
21984 structures.
21985 * normal/dyncmd.c (read_command_list): Likewise.
21986 * normal/handler.c (read_handler_list): Likewise.
21987 * normal/main.c (read_lists): New function. Calls all the
21988 list reading functions.
21989 (grub_normal_execute): Use read_lists() instead of calling all
21990 list reading functions explicitly. Register read_lists() as a
21991 variable hook attached to ${prefix}.
21992
607a3701
VS
219932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 Merge crypto branch.
21996
21997 * Makefile.in (pkglib_DATA): Add crypto.lst.
21998 (crypto.lst): New target.
21999 * commands/hashsum.c: New file.
22000 * commands/password.c (check_password): Use grub_crypto_memcmp.
22001 * commands/password_pbkdf2.c: New file.
22002 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22003 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22004 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22005 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22006 -I$(srcdir)/lib/libgcrypt_wrap.
22007 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22008 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22009 password_pbkdf2.mod.
22010 (crypto_mod_SOURCES): New variable.
22011 (crypto_mod_CFLAGS): Likewise.
22012 (crypto_mod_LDFLAGS): Likewise.
22013 (hashsum_mod_SOURCES): New variable.
22014 (hashsum_mod_CFLAGS): Likewise.
22015 (hashsum_mod_LDFLAGS): Likewise.
22016 (pbkdf2_mod_SOURCES): New variable.
22017 (pbkdf2_mod_CFLAGS): Likewise.
22018 (pbkdf2_mod_LDFLAGS): Likewise.
22019 (password_pbkdf2_mod_SOURCES): New variable.
22020 (password_pbkdf2_mod_CFLAGS): Likewise.
22021 (password_pbkdf2_mod_LDFLAGS): Likewise.
22022 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22023 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22024 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22025 Include conf/gcry.rmk.
22026 * include/grub/auth.h: Rewritten.
22027 * include/grub/crypto.h: New file.
22028 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22029 * include/grub/normal.h (read_crypto_list): New prototype.
22030 * lib/crypto.c: New file.
22031 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22032 * lib/pbkdf2.c: Likewise.
22033 * normal/auth.c (grub_auth_strcmp): Removed.
22034 (grub_iswordseparator): Likewise.
22035 (grub_auth_strword): Likewise.
22036 (is_authenticated): Use grub_strword.
22037 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22038 and grub_strword. Pass entered password to authentication callback.
22039 * normal/crypto.c: New file.
22040 * normal/main.c: Call read_crypto_list.
22041 * util/grub-mkpasswd-pbkdf2.c: New file.
22042 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22043
42841caa
VS
220442010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Fix descent and ascent calculation.
22047
22048 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22049 (options): New option "asce".
22050 (usage): Likewise.
22051 (add_char): Ignore invalid glyphs for descent calculation.
22052 Calculate ascent from actual content.
22053 (print_glyphs): Use 'asce'.
22054 (write_font): Likewise. Allow ascent override.
22055 (main): Handle "asce" option.
22056
e7730de7 220572010-01-06 Carles Pina i Estany <carles@pina.cat>
22058
22059 * kern/err.c: Include `<grub/i18n.h>'.
22060 (grub_print_error): Add full stop. Gettextizze.
22061 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22062 (grub_bsd_load_elf): Capitalise ELF.
22063 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22064 (grub_cmd_freebsd_module): Likewise.
22065 (grub_cmd_freebsd_module_elf): Likewise.
22066 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22067
40e3a41f 220682010-01-06 Carles Pina i Estany <carles@pina.cat>
22069
22070 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22071 * commands/search_file.c (HELP_MESSAGE): New macro.
22072 * commands/search_label.c (HELP_MESSAGE): Likewise.
22073 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22074 * po/POTFILES: Add `commands/search_file.c',
22075 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22076 `commands/search.c'.
22077
83507e68
RM
220782010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * config.rpath: Update from Gnulib.
22081
465c787b
YB
220822010-01-05 Yves Blusseau <blusseau@zetam.org>
22083
22084 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22085
6581dd3a
YB
220862010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22087
22088 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22089
3bff18c5
CW
220902010-01-05 Colin Watson <cjwatson@ubuntu.com>
22091
22092 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22093 arguments to fread so that we get a return value in bytes, rather
22094 than something that will normally be rounded down to 0.
22095 Adjust error handling to avoid producing garbage when size_t is not
22096 the same size as long long.
22097
a1368118
CW
220982010-01-05 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * util/mkisofs/write.c (padblock_write): Check return value of
22101 fread.
22102
7c302978
RM
221032010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22104
22105 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22106 floppy images now.
22107
22108 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22109
e33ace06
RM
221102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22111
22112 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22113 instead of manual alignment.
22114 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22115 verbose). Avoid attempts to read past end of the device
22116 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22117 but GRUB_DISK_CACHE_SIZE may exceed that).
22118
4b856776
RM
221192010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22120
22121 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22122 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22123 it to upper layer.
22124
52c2d97f
VS
221252010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22128 New constant.
22129 (grub_efi_piwg_device_path): New structure
22130 (grub_efi_piwg_device_path_t): New type.
22131 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22132 (devpath_1): Transform to a structure. All users updated.
22133 (devpath_2): Likewise.
22134 (devpath_3): Likewise.
22135 (devpath_4): Likewise.
22136 (devpath_5): Likewise.
22137
98ff6a54
VS
221382010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 * loader/efi/appleloader.c: Restored. Update all users.
22141
3a73dcb6
RM
221422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22143
22144 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22145
22146 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22147 (struct boot_blocklist): Move from here ...
22148 * include/grub/i386/pc/boot.h [ASM_FILE]
22149 (struct grub_boot_blocklist): ... to here. Update all users.
22150 (setup): Only initialize `start' member of `first_block'
22151 structure. Add assert() calls to verify the other members.
22152
22153 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22154 (generate_image): Fix broken blocklist length initialization.
22155 Add assert() call to verify blocklist `segment' field.
22156
ab0eeb0c
RM
221572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22158
22159 * loader/efi/appleloader.c: Remove. Update all users.
22160
58bc8bd5
RM
221612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * boot/i386/pc/boot.S: Update copyright year.
22164 * boot/i386/pc/cdboot.S: Likewise.
22165 * boot/i386/pc/diskboot.S: Likewise.
22166 * boot/i386/pc/lnxboot.S: Likewise.
22167 * boot/i386/pc/pxeboot.S: Likewise.
22168 * bus/pci.c: Likewise.
22169 * commands/cmp.c: Likewise.
22170 * commands/help.c: Likewise.
22171 * commands/hexdump.c: Likewise.
22172 * commands/i386/pc/halt.c: Likewise.
22173 * commands/i386/pc/play.c: Likewise.
22174 * commands/i386/pc/vbeinfo.c: Likewise.
22175 * commands/ls.c: Likewise.
22176 * commands/test.c: Likewise.
22177 * disk/dmraid_nvidia.c: Likewise.
22178 * disk/i386/pc/biosdisk.c: Likewise.
22179 * disk/ieee1275/nand.c: Likewise.
22180 * disk/ieee1275/ofdisk.c: Likewise.
22181 * disk/lvm.c: Likewise.
22182 * disk/raid.c: Likewise.
22183 * disk/raid6_recover.c: Likewise.
22184 * disk/scsi.c: Likewise.
22185 * fs/affs.c: Likewise.
22186 * fs/cpio.c: Likewise.
22187 * fs/ext2.c: Likewise.
22188 * fs/hfs.c: Likewise.
22189 * fs/iso9660.c: Likewise.
22190 * fs/ntfs.c: Likewise.
22191 * fs/sfs.c: Likewise.
22192 * fs/udf.c: Likewise.
22193 * fs/ufs.c: Likewise.
22194 * fs/xfs.c: Likewise.
22195 * gencmdlist.sh: Likewise.
22196 * genmk.rb: Likewise.
22197 * include/grub/disk.h: Likewise.
22198 * include/grub/efi/api.h: Likewise.
22199 * include/grub/efi/efi.h: Likewise.
22200 * include/grub/efi/pe32.h: Likewise.
22201 * include/grub/elf.h: Likewise.
22202 * include/grub/fs.h: Likewise.
22203 * include/grub/i386/at_keyboard.h: Likewise.
22204 * include/grub/i386/pc/memory.h: Likewise.
22205 * include/grub/i386/pc/vbe.h: Likewise.
22206 * include/grub/i386/pci.h: Likewise.
22207 * include/grub/i386/tsc.h: Likewise.
22208 * include/grub/ieee1275/ieee1275.h: Likewise.
22209 * include/grub/ntfs.h: Likewise.
22210 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22211 * include/grub/sparc64/libgcc.h: Likewise.
22212 * include/grub/symbol.h: Likewise.
22213 * include/grub/types.h: Likewise.
22214 * include/multiboot2.h: Likewise.
22215 * io/gzio.c: Likewise.
22216 * kern/device.c: Likewise.
22217 * kern/disk.c: Likewise.
22218 * kern/efi/efi.c: Likewise.
22219 * kern/efi/mm.c: Likewise.
22220 * kern/elf.c: Likewise.
22221 * kern/file.c: Likewise.
22222 * kern/i386/dl.c: Likewise.
22223 * kern/i386/pc/init.c: Likewise.
22224 * kern/i386/pc/startup.S: Likewise.
22225 * kern/ieee1275/ieee1275.c: Likewise.
22226 * kern/ieee1275/init.c: Likewise.
22227 * kern/main.c: Likewise.
22228 * kern/mm.c: Likewise.
22229 * kern/powerpc/dl.c: Likewise.
22230 * kern/sparc64/dl.c: Likewise.
22231 * kern/x86_64/dl.c: Likewise.
22232 * lib/hexdump.c: Likewise.
22233 * loader/efi/appleloader.c: Likewise.
22234 * loader/i386/ieee1275/linux.c: Likewise.
22235 * loader/i386/pc/chainloader.c: Likewise.
22236 * loader/i386/pc/linux.c: Likewise.
22237 * loader/i386/pc/multiboot2.c: Likewise.
22238 * loader/ieee1275/multiboot2.c: Likewise.
22239 * loader/multiboot2.c: Likewise.
22240 * loader/multiboot_loader.c: Likewise.
22241 * loader/powerpc/ieee1275/linux.c: Likewise.
22242 * normal/completion.c: Likewise.
22243 * normal/menu_entry.c: Likewise.
22244 * partmap/apple.c: Likewise.
22245 * util/grub.d/10_hurd.in: Likewise.
22246 * util/hostfs.c: Likewise.
22247 * video/readers/png.c: Likewise.
22248
e2d70b5c
CW
222492010-01-03 Colin Watson <cjwatson@ubuntu.com>
22250
22251 * include/grub/misc.h (GNUC_PREREQ): New macro.
22252 (ATTRIBUTE_ERROR): New macro.
22253 * include/grub/list.h (grub_bad_type_cast_real): Use
22254 ATTRIBUTE_ERROR.
22255
a173283f 222562010-01-03 Carles Pina i Estany <carles@pina.cat>
22257
22258 * normal/menu_text.c (print_message): Change messages.
22259
7fa7ff74 222602010-01-03 Carles Pina i Estany <carles@pina.cat>
22261
22262 * normal/menu_entry.c (store_completion): Gettextizze.
22263
136d24f6 222642010-01-03 Carles Pina i Estany <carles@pina.cat>
22265
22266 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22267
f936862e 222682010-01-03 Carles Pina i Estany <carles@pina.cat>
22269
22270 * po/POTFILES: Sort correctly.
22271
29c44ad1 222722010-01-03 Carles Pina i Estany <carles@pina.cat>
22273
22274 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22275 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22276 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22277 full stop.
22278 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22279 summary. Gettextizze the strings.
22280 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22281 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22282 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22283 full stop.
22284 (GRUB_MOD_INIT): Remove command name from summary.
22285 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22286 summary.
22287 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22288 * term/i386/pc/serial.c (options): Add full stops.
22289 (GRUB_MOD_INIT): Remove command name from the summary.
22290
77a79592 222912010-01-03 Carles Pina i Estany <carles@pina.cat>
22292
22293 * commands/acpi.c: Gettextizze help strings and/or options. Include
22294 `grub/i18n.h' if needed.
22295 * commands/blocklist.c: Likewise.
22296 * commands/boot.c: Likewise.
22297 * commands/cat.c: Likewise.
22298 * commands/cmp.c: Likewise.
22299 * commands/configfile.c: Likewise.
22300 * commands/crc.c: Likewise.
22301 * commands/date.c: Likewise.
22302 * commands/echo.c: Likewise.
22303 * commands/efi/fixvideo.c: Likewise.
22304 * commands/efi/loadbios.c: Likewise.
22305 * commands/gptsync.c: Likewise.
22306 * commands/halt.c: Likewise.
22307 * commands/handler.c: Likewise.
22308 * commands/hdparm.c: Likewise.
22309 * commands/hexdump.c: Likewise.
22310 * commands/i386/cpuid.c: Likewise.
22311 * commands/i386/pc/drivemap.c: Likewise.
22312 * commands/i386/pc/halt.c: Likewise.
22313 * commands/i386/pc/pxecmd.c: Likewise.
22314 * commands/i386/pc/vbeinfo.c: Likewise.
22315 * commands/i386/pc/vbetest.c: Likewise.
22316 * commands/ieee1275/suspend.c: Likewise.
22317 * commands/keystatus.c: Likewise.
22318 * commands/loadenv.c: Likewise.
22319 * commands/ls.c: Likewise.
22320 * commands/lsmmap.c: Likewise.
22321 * commands/lspci.c: Likewise.
22322 * commands/memrw.c: Likewise.
22323 * commands/minicmd.c: Likewise.
22324 * commands/parttool.c: Likewise.
22325 * commands/password.c: Likewise.
22326 * commands/probe.c: Likewise.
22327 * commands/read.c: Likewise.
22328 * commands/reboot.c: Likewise.
22329 * commands/search.c: Likewise.
22330 * commands/sleep.c: Likewise.
22331 * commands/test.c: Likewise.
22332 * commands/true.c: Likewise.
22333 * commands/usbtest.c: Likewise.
22334 * commands/videotest.c: Likewise.
22335 * commands/xnu_uuid.c: Likewise.
22336 * disk/loopback.c: Likewise.
22337 * hello/hello.c: Likewise.
22338 * loader/i386/bsd.c: Likewise.
22339 * term/i386/pc/serial.c: Likewise.
22340 * po/POTFILES: Add new files.
22341
da8d5c53
CW
223422010-01-02 Colin Watson <cjwatson@ubuntu.com>
22343
22344 * term/i386/pc/at_keyboard.c
22345 (keyboard_controller_wait_untill_ready): Rename to ...
22346 (keyboard_controller_wait_until_ready): ... this. Update all users.
22347
33937904 223482010-01-01 Carles Pina i Estany <carles@pina.cat>
22349
22350 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22351 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22352 string using string width.
22353 * normal/menu_text.c (grub_print_message_indented): Use
22354 grub_print_spaces and not print_spaces.
22355 (print_timeout): Likewise.
22356 (print_spaces): Move to...
22357 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22358
3fd3b8d8
RM
223592010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22360
22361 Import from Gnulib.
22362
22363 * gnulib/getdelim.c: New file.
22364 * gnulib/getline.c: Likewise.
22365
33433555
VS
223662009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22367
22368 * include/grub/list.h (grub_assert_fail): Removed.
22369 (grub_bad_type_cast_real): New function.
22370 (grub_bad_type_cast): New macro.
22371 (GRUB_AS_LIST): Use grub_bad_type_cast.
22372 (GRUB_AS_LIST_P): Likewise.
e44721e8 22373 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22374 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22375 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22376 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22377 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22378
f5a51306
VS
223792009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22382 Fix syntax error.
22383
90d1e879
RM
223842009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22385
22386 * configure.ac: Check for TARGET_CFLAGS initialization before we
22387 initialize it ourselves (sigh).
22388 Move a few modifications to TARGET_CFLAGS to be unconditional
22389 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22390 eh_frame)
22391
22392 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22393 * term/i386/pc/at_keyboard.c
22394 (keyboard_controller_wait_untill_ready): Likewise.
22395 (keyboard_controller_led): Rename `led_status' paramter to avoid
22396 name conflict.
22397
465b5a81 223982009-12-28 Carles Pina i Estany <carles@pina.cat>
22399
22400 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22401 quotes.
22402
c181849b
VS
224032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22406
9c8739a4
VS
224072009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22408
22409 * normal/menu_text.c (grub_print_message_indented): Prevent
22410 past-the-end-of-array dereference.
22411
3e74249c
VS
224122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22413
22414 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22415 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22416
64fd18ed 224172009-12-27 Carles Pina i Estany <carles@pina.cat>
22418
22419 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22420 * normal/main.c (grub_normal_read_line): Remove a space from the
22421 default prompt.
22422
714af9b9 224232009-12-27 Carles Pina i Estany <carles@pina.cat>
22424
22425 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22426 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22427 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22428 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22429 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22430 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22431 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22432
82f3e412 224332009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22434
22435 * video/readers/jpeg.c (cmd): Declare.
22436 (grub_cmd_jpegtest): Use `grub_command_t' type.
22437 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22438 Assign to `cmd'.
22439 (GRUB_MOD_FINI): Use `cmd' to unregister.
22440 * video/readers/png.c (cmd): Declare.
22441 (grub_cmd_pngtest): Use `grub_command_t' type.
22442 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22443 Assign to `cmd'.
22444 (GRUB_MOD_FINI): Use `cmd' to unregister.
22445 * video/readers/tga.c (cmd): Declare.
22446 (grub_cmd_tgatest): Use `grub_command_t' type.
22447 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22448 Assign to `cmd'.
22449 (GRUB_MOD_FINI): Use `cmd' to unregister.
22450
82f3e412 224512009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22452
22453 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22454 stops.
22455 * kern/corecmd.c (grub_register_core_commands): Likewise.
22456 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22457 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22458 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22459 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22460 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22461 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22462 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22463 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22464 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22465 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22466 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22467 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22468 * normal/handler.c (insert_handler): Likewise.
22469 * normal/main.c (GRUB_MOD_INIT): Likewise.
22470 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22471
fdcdbb66 224722009-12-26 Carles Pina i Estany <carles@pina.cat>
22473
22474 * commands/help.c (grub_cmd_help): Print the command name before the
22475 summary.
22476 (GRUB_MOD_INIT): Remove command name from the summary.
22477 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22478 string as summary.
fdcdbb66 22479 * lib/arg.c (find_long): Print the command name before the summary.
22480 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22481 summary.
22482 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22483 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22484 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22485 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22486 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22487 * commands/date.c (GRUB_MOD_INIT): Likewise.
22488 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22489 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22490 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22491 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22492 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22493 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22494 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22495 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22496 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22497 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22498 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22499 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22500 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22501 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22502 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22503 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22504 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22505 * commands/password.c (GRUB_MOD_INIT): Likewise.
22506 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22507 * commands/read.c (GRUB_MOD_INIT): Likewise.
22508 * commands/search.c (GRUB_MOD_INIT): Likewise.
22509 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22510 * commands/test.c (GRUB_MOD_INIT): Likewise.
22511 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22512 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22513 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22514 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22515 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22516 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22517 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22518 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22519 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22520 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22521 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22522 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22523 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22524 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22525
9c288be2
VS
225262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22527
22528 Use search command for preliminar UUID search.
22529
22530 * commands/search.c: Split into ...
22531 * commands/search_wrap.c: ...this
22532 * commands/search.c: ...and this.
22533 * commands/search_file.c: New file.
22534 * commands/search_label.c: New file.
22535 * commands/search_uuid.c: New file.
22536 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22537 Add commands/search_wrap.c, commands/search_file.c,
22538 commands/search_label.c and commands/search_uuid.c.
22539 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22540 (search_mod_SOURCES): Set to commands/search_wrap.c.
22541 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22542 search_label.mod.
22543 (search_fs_file_mod_SOURCES): New variable.
22544 (search_fs_file_mod_CFLAGS): Likewise.
22545 (search_fs_file_mod_LDFLAGS): Likewise.
22546 (search_label_mod_SOURCES): Likewise.
22547 (search_label_mod_CFLAGS): Likewise.
22548 (search_label_mod_LDFLAGS): Likewise.
22549 (search_fs_uuid_mod_SOURCES): New variable.
22550 (search_fs_uuid_mod_CFLAGS): Likewise.
22551 (search_fs_uuid_mod_LDFLAGS): Likewise.
22552 (fs_file_mod_SOURCES): Removed.
22553 (fs_file_mod_CFLAGS): Likewise.
22554 (fs_file_mod_LDFLAGS): Likewise.
22555 (fs_uuid_mod_SOURCES): Removed.
22556 (fs_uuid_mod_CFLAGS): Likewise.
22557 (fs_uuid_mod_LDFLAGS): Likewise.
22558 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22559 Set to util/grub-install.in.
22560 * disk/fs_file.c: Removed.
22561 * disk/fs_uuid.c: Likewise.
22562 * include/grub/search.h: New file.
22563 * util/grub-install.in: Handle sparc64.
22564 Create and use load.cfg.
22565 * util/sparc64/ieee1275/grub-install.in: Removed.
22566
db943399
VS
225672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22570 Ignore return status if CF is cleared.
22571 (grub_biosdisk_get_diskinfo_standard): Likewise.
22572
3fdae612
RM
225732009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22574
22575 * term/i386/pc/at_keyboard.c
22576 (keyboard_controller_wait_untill_ready): New function.
22577 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22578 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22579 for keyboard polling, rather than duplicate the same loop. This
22580 saves a few bytes in code size.
22581
7ebaa2b4
VS
225822009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 Support for (pxe[:server[:gateway]]) syntax and
22585 use environment variable for PXE.
22586
22587 * commands/i386/pc/pxecmd.c (options): Removed.
22588 (print_ip): Removed.
22589 (grub_cmd_pxe): Removed
22590 (grub_cmd_pxe_unload): New function.
22591 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22592 (grub_pxe_your_ip): Made static.
22593 (grub_pxe_default_server_ip): Likewise.
22594 (grub_pxe_default_gateway_ip): Likewise.
22595 (grub_pxe_blksize): Likewise.
22596 (parse_ip): New function.
22597 (grub_pxe_open): Support server and gateway specification.
22598 (grub_pxe_close): Free disk->data.
22599 (grub_pxefs_open): Use disk->data.
22600 (grub_pxefs_read): Likewise.
22601 (grub_env_write_readonly): New function.
22602 (set_mac_env): Likewise.
22603 (set_env_limn_ro): Likewise.
22604 (parse_dhcp_vendor): Likewise.
22605 (grub_pxe_detect): Set the environment variables.
22606 (set_ip_env): New function.
22607 (write_ip_env): Likewise.
22608 (grub_env_write_pxe_default_server): Likewise.
22609 (grub_env_write_pxe_default_gateway): Likewise.
22610 (grub_env_write_pxe_blocksize): Likewise.
22611 (GRUB_MOD_INIT(pxe)): Set environment variables.
22612 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22613 (grub_pxe_mac_addr_t): ... this. All users updated.
22614 (grub_pxe_your_ip): Removed.
22615 (grub_pxe_server_ip): Likewise.
22616 (grub_pxe_gateway_ip): Likewise.
22617 (grub_pxe_blksize): Likewise.
22618
ec5f98ab 226192009-12-25 Carles Pina i Estany <carles@pina.cat>
22620
22621 * commands/help.c: Include `<grub/i18n.h>'.
22622 (grub_cmd_help): Gettextizze.
22623 (GRUB_MOD_INIT): Likewise.
22624 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22625 (GRUB_MOD_INIT): Gettextizze.
22626 * commands/search.c: Include `<grub/i18n.h>'.
22627 (options): Gettextizze.
22628 (GRUB_MOD_INIT): Gettextizze.
22629 * lib/arg.c: Include `<grub/i18n.h>'.
22630 (help_options): Gettextizze.
22631 (find_long): Likewise.
22632 (grub_arg_show_help): Likewise.
22633 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22634 (read_command_list): Gettextizze.
22635 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22636 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22637
22815526
RM
226382009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22639
22640 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22641 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22642 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22643 (led_status): New variable.
22644 (keyboard_controller_led): New function.
22645 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22646 update led status for caps lock, num lock and scroll lock.
22647
0ad46fd7
FZ
226482009-12-25 Felix Zielcke <fzielcke@z-51.de>
22649
22650 * util/hostdisk.c (open_device): Fix a comment.
22651
d0e158c2
RM
226522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22653
22654 * util/grub-install.in (host_os): New variable.
22655 * util/i386/efi/grub-install.in (host_os): Likewise.
22656
401c0ad6
RM
226572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22658
22659 * util/mkisofs/write.c (padblock_write): Abort when given an
22660 excedingly large embed image, instead of silently truncating it.
22661
d14d3370
RM
226622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22663
22664 * include/multiboot.h: Indentation fixes.
22665
eeed10b4
RM
226662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22667
22668 * include/multiboot.h (struct multiboot_aout_symbol_table)
22669 (struct multiboot_elf_section_header_table): New structure
22670 declarations (stolen from GRUB Legacy).
22671 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22672 table information.
22673
22674 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22675 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22676 type aliases.
22677
681c70ab
RM
226782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22679
22680 * include/multiboot.h: Make comments src2texi-friendly.
22681
e4d47d8d
RM
226822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 For consistency with [multiboot]/docs/boot.S.
22685
22686 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22687 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22688 (MULTIBOOT_MAGIC2): Rename from this ...
22689 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22690
a0b70bda
RM
226912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22692
22693 * include/multiboot.h: Remove `<grub/types.h>'.
22694 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22695 types. Update all users.
22696
61ba42be 226972009-12-25 Carles Pina i Estany <carles@pina.cat>
22698
22699 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22700 `couldn't' and `can not' by `cannot'.
22701 * commands/i386/pc/drivemap.c: Likewise.
22702 * disk/ata.c: Likewise.
22703 * disk/ieee1275/nand.c: Likewise.
22704 * fs/affs.c: Likewise.
22705 * fs/fat.c: Likewise.
22706 * fs/hfs.c: Likewise.
22707 * fs/hfsplus.c: Likewise.
22708 * fs/iso9660.c: Likewise.
22709 * fs/jfs.c: Likewise.
22710 * fs/minix.c: Likewise.
22711 * fs/reiserfs.c: Likewise.
22712 * fs/sfs.c: Likewise.
22713 * fs/udf.c: Likewise.
22714 * fs/ufs.c: Likewise.
22715 * fs/xfs.c: Likewise.
22716 * loader/powerpc/ieee1275/linux.c: Likewise.
22717 * loader/sparc64/ieee1275/linux.c: Likewise.
22718 * util/grub-probe.c: Likewise.
22719 * util/misc.c: Likewise.
22720
7fd0baee 227212009-12-24 Carles Pina i Estany <carles@pina.cat>
22722
22723 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22724 grub_errno calls.
22725 * commands/acpi.c: Likewise.
22726 * commands/blocklist.c: Likewise.
22727 * commands/efi/loadbios.c: Likewise.
22728 * commands/i386/pc/drivemap.c: Likewise.
22729 * commands/loadenv.c: Likewise.
22730 * commands/memrw.c: Likewise.
22731 * commands/password.c: Likewise.
22732 * commands/videotest.c: Likewise.
22733 * disk/ata.c: Likewise.
22734 * disk/ata_pthru.c: Likewise.
22735 * disk/dmraid_nvidia.c: Likewise.
22736 * disk/ieee1275/nand.c: Likewise.
22737 * disk/ieee1275/ofdisk.c: Likewise.
22738 * disk/loopback.c: Likewise.
22739 * disk/lvm.c: Likewise.
22740 * disk/mdraid_linux.c: Likewise.
22741 * disk/raid.c: Likewise.
22742 * disk/raid6_recover.c: Likewise.
22743 * disk/scsi.c: Likewise.
22744 * efiemu/main.c: Likewise.
22745 * efiemu/mm.c: Likewise.
22746 * efiemu/pnvram.c: Likewise.
22747 * efiemu/symbols.c: Likewise.
22748 * font/font.c: Likewise.
22749 * fs/cpio.c: Likewise.
22750 * fs/hfsplus.c: Likewise.
22751 * fs/iso9660.c: Likewise.
22752 * fs/jfs.c: Likewise.
22753 * fs/minix.c: Likewise.
22754 * fs/ntfs.c: Likewise.
22755 * fs/ntfscomp.c: Likewise.
22756 * fs/reiserfs.c: Likewise.
22757 * fs/ufs.c: Likewise.
22758 * fs/xfs.c: Likewise.
22759 * gettext/gettext.c: Likewise.
22760 * include/grub/auth.h: Likewise.
22761 * kern/elf.c: Likewise.
22762 * kern/file.c: Likewise.
22763 * kern/ieee1275/init.c: Likewise.
22764 * kern/ieee1275/mmap.c: Likewise.
22765 * kern/ieee1275/openfw.c: Likewise.
22766 * kern/powerpc/dl.c: Likewise.
22767 * kern/sparc64/dl.c: Likewise.
22768 * lib/arg.c: Likewise.
22769 * loader/i386/bsd.c: Likewise.
22770 * loader/i386/bsdXX.c: Likewise.
22771 * loader/i386/efi/linux.c: Likewise.
22772 * loader/i386/efi/xnu.c: Likewise.
22773 * loader/i386/ieee1275/linux.c: Likewise.
22774 * loader/i386/linux.c: Likewise.
22775 * loader/i386/multiboot.c: Likewise.
22776 * loader/i386/pc/linux.c: Likewise.
22777 * loader/i386/pc/multiboot2.c: Likewise.
22778 * loader/i386/xnu.c: Likewise.
22779 * loader/ieee1275/multiboot2.c: Likewise.
22780 * loader/macho.c: Likewise.
22781 * loader/machoXX.c: Likewise.
22782 * loader/multiboot2.c: Likewise.
22783 * loader/multiboot_loader.c: Likewise.
22784 * loader/powerpc/ieee1275/linux.c: Likewise.
22785 * loader/sparc64/ieee1275/linux.c: Likewise.
22786 * loader/xnu.c: Likewise.
22787 * loader/xnu_resume.c: Likewise.
22788 * mmap/i386/pc/mmap.c: Likewise.
22789 * normal/menu_viewer.c: Likewise.
22790 * partmap/acorn.c: Likewise.
22791 * partmap/amiga.c: Likewise.
22792 * partmap/apple.c: Likewise.
22793 * script/lexer.c: Likewise.
22794 * term/gfxterm.c: Likewise.
22795 * term/i386/pc/serial.c: Likewise.
22796 * term/i386/pc/vga.c: Likewise.
22797 * term/ieee1275/ofconsole.c: Likewise.
22798 * term/terminfo.c: Likewise.
22799 * video/bitmap.c: Likewise.
22800 * video/efi_gop.c: Likewise.
22801 * video/efi_uga.c: Likewise.
22802 * video/fb/video_fb.c: Likewise.
22803 * video/i386/pc/vbe.c: Likewise.
22804 * video/readers/tga.c: Likewise.
22805 * video/video.c: Likewise.
22806
0ad46fd7 228072009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22808
22809 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22810 * commands/lspci.c: Likewise.
22811 * commands/probe.c: Likewise.
22812 * commands/xnu_uuid.c: Likewise.
22813 * conf/i386-coreboot.rmk: Likewise.
22814 * conf/i386-efi.rmk: Likewise.
22815 * conf/i386-ieee1275.rmk: Likewise.
22816 * conf/i386-pc.rmk: Likewise.
22817 * conf/powerpc-ieee1275.rmk: Likewise.
22818 * conf/sparc64-ieee1275.rmk: Likewise.
22819 * conf/x86_64-efi.rmk: Likewise.
22820 * fs/i386/pc/pxe.c: Likewise.
22821 * gettext/gettext.c: Likewise.
22822 * include/grub/efi/graphics_output.h: Likewise.
22823 * include/grub/i386/pc/memory.h: Likewise.
22824 * kern/env.c: Likewise.
22825 * kern/i386/qemu/startup.S: Likewise.
22826 * lib/i386/pc/biosnum.c: Likewise.
22827 * lib/i386/relocator.c: Likewise.
22828 * lib/i386/relocator_asm.S: Likewise.
22829 * lib/relocator.c: Likewise.
22830 * loader/i386/bsd.c: Likewise.
22831 * loader/i386/multiboot.c: Likewise.
22832 * loader/i386/pc/chainloader.c: Likewise.
22833 * loader/i386/xnu.c: Likewise.
22834 * loader/xnu.c: Likewise.
22835 * normal/main.c: Likewise.
22836 * normal/menu_text.c: Likewise.
22837 * util/getroot.c: Likewise.
22838 * util/grub-mkconfig_lib.in: Likewise.
22839 * util/grub.d/00_header.in: Likewise.
22840 * util/i386/pc/grub-mkimage.c: Likewise.
22841 * util/mkisofs/eltorito.c: Likewise.
22842 * util/mkisofs/exclude.h: Likewise.
22843 * util/mkisofs/hash.c: Likewise.
22844 * util/mkisofs/iso9660.h: Likewise.
22845 * util/mkisofs/joliet.c: Likewise.
22846 * util/mkisofs/mkisofs.c: Likewise.
22847 * util/mkisofs/mkisofs.h: Likewise.
22848 * util/mkisofs/multi.c: Likewise.
22849 * util/mkisofs/name.c: Likewise.
22850 * util/mkisofs/rock.c: Likewise.
22851 * util/mkisofs/tree.c: Likewise.
22852 * util/mkisofs/write.c: Likewise.
22853 * video/efi_gop.c: Likewise.
22854
009ec743
VS
228552009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22856
22857 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22858 size counting.
22859
0ad46fd7 228602009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22861
22862 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22863 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22864
d3d30ea0
VS
228652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22866
22867 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22868 (GRUB_MOD_INIT(memrw)): Update help line.
22869
a34f5c70
VS
228702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22871
22872 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22873 Use grub_extcmd_t. All users updated.
22874 (options): New variable.
22875 (grub_cmd_read): Restructure for readability. Support "-v" option.
22876 (grub_cmd_write): Restructure for readability.
22877
0ad46fd7 228782009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22879
22880 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22881
0ad46fd7 228822009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22883
22884 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22885 with the actual contents of the correspondending make variable.
22886 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22887 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22888 specifying `*.lst' and `efiemu??.o'
22889
0ad46fd7 228902009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22891
22892 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22893 after function name.
22894 Noticed by Rene Engelhard <rene@debian.org>.
22895
dc77a799
VS
228962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22899 (options): New variable.
22900 (iospace): Likewise.
22901 (grub_lspci_iter): List IO spaces if "-i" was given.
22902 (grub_cmd_lspci): Parse options.
22903 (GRUB_MOD_INIT(lspci)): Use extcmd.
22904 (GRUB_MOD_FINI(lspci)): Likewise.
22905
0ad46fd7 229062009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22907
22908 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22909 `function' keyword.
22910 Patch by Tony Mancill <tmancill@debian.org>.
22911
b5d5993b
VS
229122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22913
22914 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22915 (grub_uhci_portstatus): Likewise.
22916 (grub_uhci_portstatus): Add necessary delay.
11d18281 22917 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22918
941903f2 229192009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22920
941903f2 22921 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22922 (GRUB_MOD_INIT): Likewise.
22923 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22924 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22925 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22926 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22927 (enable_rom_area): Likewise.
22928 (GRUB_MOD_INIT): Likewise.
22929 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22930 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22931 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22932 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22933 * commands/hexdump.c (options): Likewise.
22934 * commands/i386/cpuid.c (options): Likewise.
22935 (GRUB_MOD_INIT): Likewise.
22936 * commands/i386/pc/drivemap.c (options): Likewise.
22937 (GRUB_MOD_INIT): Likewise.
22938 * commands/i386/pc/halt (options): Likewise.
22939 (GRUB_MOD_INIT): Likewise.
22940 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22941 * commands/i386/pc/pxecmd.c (options): Likewise.
22942 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22943 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22944 * commands/keystatus.c (options): Likewise.
22945 (GRUB_MOD_INIT): Likewise.
22946 * commands/loadenv.c (options): Likewise.
22947 * commands/ls.c (options): Likewise.
22948 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22949 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22950 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22951 * commands/parttool.c (helpmsg): Likewise.
22952 * commands/probe.c (options): Likewise.
22953 * commands/read.c (GRUB_MOD_INIT): Likewise.
22954 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22955 * commands/search.c (options): Likewise.
22956 * commands/sleep.c (options): Likewise.
22957 * commands/test.c (GRUB_MOD_INIT): Likewise.
22958 * commands/true.c (GRUB_MOD_INIT): Likewise.
22959 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22960 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22961 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22962 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22963 `$(XGETTEXT)'.
98a50553 22964 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22965
0ad46fd7 229662009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22967
ef3c2c3a 22968 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22969 instead of specifying them explicit.
22970
7922f68b
RM
229712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22972
22973 * NEWS: Add grub-probe support for GNU/Hurd.
22974
537ce47f
RM
229752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22976
22977 * NEWS: gettext was added after 1.97.
22978
9b214e3a
RM
229792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22980
22981 * util/mkisofs/msdos_partition.h: New file (based on
22982 include/grub/msdos_partition.h).
22983 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22984 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22985 (ld_options, main): Recognize --protective-msdos-label.
22986 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22987 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22988 (padblock_write): If `use_protective_msdos_label' is set, patch a
22989 protective DOS-style label in the output image.
22990
22991 * util/grub-mkrescue.in: Use --protective-msdos-label.
22992
e9309813
RM
229932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22994
22995 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22996 boot.
22997
0ae56929
RM
229982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22999
23000 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23001 variables.
23002 (ld_options, main): Recognize `--embedded-boot'.
23003 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23004 declarations.
23005 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23006 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23007 (padblock_write): Likewise. Rewrite to support embedded boot image.
23008
23009 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23010 for BIOS-based disk boot instead of only ElTorito.
23011
b15937b1
RM
230122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23013
23014 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23015 build (not needed for bootstrap).
23016
52cc3ce0
RM
230172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23018
23019 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23020 from i386-pc build (not needed for bootstrap).
23021 Rewrite a pair of strings.
23022
36f5ff04
RM
230232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23024
23025 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23026
973c6c85 230272009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23028
23029 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23030
05d21547
AB
230312009-12-21 Andreas Born <futur.andy@googlemail.com>
23032
23033 * kern/env.c (grub_env_context_open): Mark exported variable for
23034 reexport.
23035
0175d51f
AB
230362009-12-21 Andreas Born <futur.andy@googlemail.com>
23037
23038 * kern/env.c (grub_env_export): Create nonexistent variables before
23039 exporting.
23040
7f39d92f 230412009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23042
7f39d92f 23043 * include/grub/auth.h: Include `<grub/i18n.h>'.
23044 (GRUB_GET_PASSWORD): Gettextizze string.
23045 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23046 menu_text.c.
23047 (grub_utf8_to_ucs4_alloc): Fix indentation.
23048 (grub_print_ucs4): Likewise.
23049 (grub_getstringwidth): Likewise.
23050 (print_message_indented): New declaration.
23051 * normal/auth.c: Include `<grub/i18n.h>'.
23052 (grub_auth_check_authentication): Gettexttize string.
23053 * normal/cmdline.c: Include `<grub/i18n.h>'.
23054 (grub_cmdline_get): Gettextizze.
23055 * normal/color.c: Include `<grub/i18n.h>'.
23056 (grub_parse_color_name_pair): Gettexttize strings.
23057 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23058 string (use `print_message_indented').
23059 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23060 `include/grub/normal.h'.
23061 (print_message_indented): Renamed to ...
23062 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23063 used in normal/main.c).
23064 (print_message): Use `grub_print_message_indented' instead of
23065 `print_message_indented'.
23066 (print_timeout): Likewise.
23067 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23068 (grub_normal_print_device_info): Gettexttize strings.
23069 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23070
3041d898
VS
230712009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23074 of arguments. Return number of tokens and not arguments. All users
23075 updated.
23076
de15bf8e
VS
230772009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23080 non-MSDOS paritions.
23081
e0a6ca52
VS
230822009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 * include/grub/types.h (UNUSED): Removed since it conflicts with
23085 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23086 Reported by Grégoire Sutre.
23087
b99518d1 230882009-12-19 Carles Pina i Estany <carles@pina.cat>
23089
23090 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23091 (grub_print_ucs4_alloc): Likewise.
23092 (grub_getstringwidth): Likewise.
23093 * normal/main.c (grub_normal_init_page): Gettextize version string.
23094 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23095 (getstringwidth): Renamed to ...
23096 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23097 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23098 (grub_print_ucs4): Remove `static' qualifer (now used in
23099 normal/main.c).
23100 * po/POTFILES: Add normal/main.c.
23101
bfd5e52b 231022009-12-19 Carles Pina i Estany <carles@pina.cat>
23103
23104 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23105 (print_message_indented): Add `margin_left' and `margin_right'
23106 parameters.
23107 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23108 strings.
23109 (print_timeout): Use `print_message_indented' to print the message.
23110 Deletes `second_stage' parameter.
23111 (run_menu): Update `print_timeout' calls.
23112
5a1ad2b9
VS
231132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 Fix console palette on OpenFirmware.
23116
23117 * term/ieee1275/ofconsole.c (MAX): Removed.
23118 (colors): Redone based on VGA palette.
23119 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23120 colors are supported.
23121 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23122
b045f00a
VS
231232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 Fix potential EfiEmu double prepare.
23126
23127 * efiemu/main.c (prepared): New variable
23128 (grub_efiemu_unload): Set prepare to '0'.
23129 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23130
23131 set_virtual_address_map support.
23132
23133 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23134 prototype.
23135 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23136 prototype.
23137 (grub_efiemu_crc32): Likewise.
23138 (grub_efiemu_crc64): Likewise.
23139 (grub_efiemu_set_virtual_address_map): Likewise.
23140 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23141 New definition.
23142 (grub_autoefi_set_virtual_address_map): Likewise.
23143 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23144 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23145 Restructure flow to accomodate it.
23146 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23147 (grub_efiemu_crc): Recompute CRC32.
23148 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23149 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23150 * efiemu/symbols.c (relocated_handle): New variable.
23151 (grub_efiemu_free_syms): Free relocated_handle.
23152 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23153 (grub_efiemu_write_sym_markers): New function.
23154 (grub_efiemu_set_virtual_address_map): Likewise.
23155
23156 Newer XNU parameters.
23157
23158 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23159 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23160 (grub_xnu_fill_devicetree): New prototype.
23161 (grub_xnu_heap_real_start): New variable.
23162 * loader/xnu.c (get_name_ptr): New function.
23163 (grub_xnu_load_driver): Fill namelen and name.
23164
23165 64-bit xnu support.
23166
23167 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23168 and 'loader/macho64.c'.
23169 * conf/i386-pc.rmk: Likewise.
23170 * conf/x86_64-efi.rmk: Likewise.
23171 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23172 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23173 * include/grub/macho.h (grub_macho_segment64): New structure.
23174 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23175 (grub_macho_size32): ... to this.
23176 (grub_macho32_get_entry_point): Renamed from ...
23177 (grub_macho_get_entry_point32): ... to this.
23178 (grub_macho_contains_macho64): New prototype.
23179 (grub_macho_size64): Likewise.
23180 (grub_macho_get_entry_point64): Likewise.
23181 (grub_macho32_load): Renamed from ...
23182 (grub_macho_load32): ... to this.
23183 (grub_macho32_filesize): Renamed from ...
23184 (grub_macho_filesize32): ... to this.
23185 (grub_macho32_readfile): Renamed from ...
23186 (grub_macho_readfile32): ... to this.
23187 (grub_macho_filesize64): New prototype.
23188 (grub_macho_readfile64): Likewise.
23189 (grub_macho_parse32): Likewise.
23190 (grub_macho_parse64): Likewise.
23191 * loader/macho.c: Split into ...
23192 * loader/machoXX.c: ... and this. Replace 32 with XX.
23193 * loader/macho32.c: New file.
23194 * loader/macho64.c: Likewise.
23195 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23196 (grub_cmd_xnu_kernel): Make 32-bit only.
23197 (grub_cmd_xnu_kernel64): New function.
23198 (grub_xnu_load_driver): Support Mach-O 64.
23199 (grub_cmd_xnu_mkext): Likewise.
23200 * util/grub.d/30_os-prober.in (osx_entry): New function.
23201 Generate entries for 64-bit boot too.
23202
23203 Eliminate ad-hoc tree format in XNU and EfiEmu.
23204
23205 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23206 * efiemu/pnvram.c: Rewritten to use environment variables.
23207 All users updated.
23208
23209 Inline utf16_to_utf8.
23210
23211 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23212 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23213 All users updated.
23214 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23215
23216 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23217 * commands/usbtest.c (grub_usb_get_string): ... move here.
23218 (usb_print_str): Fix error handling.
23219 * include/grub/usb.h (grub_usb_get_string): Remove.
23220
23221 UTF-8 to UTF-16 transformation.
23222
23223 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23224 (charset_mod_SOURCES): New variable.
23225 (charset_mod_CFLAGS): Likewise.
23226 (charset_mod_LDFLAGS): Likewise.
23227 * include/grub/utf.h: New file.
23228 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23229
23230 Support for device properties.
23231
23232 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23233 (grub_xnu_devprop_device_header): Likewise.
23234 (grub_xnu_devprop_device_descriptor): Likewise.
23235 (grub_xnu_devprop_add_device): New prototype.
23236 (grub_xnu_devprop_remove_device): Likewise.
23237 (grub_xnu_devprop_remove_property): Likewise.
23238 (grub_xnu_devprop_add_property_utf8): Likewise.
23239 (grub_xnu_devprop_add_property_utf16): Likewise.
23240 (grub_cpu_xnu_init): Likewise.
23241 (grub_cpu_xnu_fini): Likewise.
23242 (grub_cpu_xnu_unload): Likewise.
23243 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23244 (property_descriptor): Likewise.
23245 (devices): New variable.
23246 (grub_xnu_devprop_remove_property): New function.
23247 (grub_xnu_devprop_add_device): Likewise.
23248 (grub_xnu_devprop_remove_device): Likewise.
23249 (grub_xnu_devprop_add_property): Likewise.
23250 (grub_xnu_devprop_add_property_utf8): Likewise.
23251 (grub_xnu_devprop_add_property_utf16): Likewise.
23252 (hextoval): Likewise.
23253 (grub_cpu_xnu_fill_devprop): Likewise.
23254 (grub_cmd_devprop_load): Likewise.
23255 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23256 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23257 (cmd_devprop_load): New variable.
23258 (grub_cpu_xnu_init): New function.
23259 (grub_cpu_xnu_fini): Likewise.
23260 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23261 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23262 (grub_cmd_xnu_devtree): Likewise.
23263 (hextoval): New function.
23264 (unescape): Likewise.
23265 (grub_xnu_fill_devicetree): Likewise.
23266
23267 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23268 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23269
0945f181
VS
232702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23271
23272 Workaround for broken ATI VBE.
23273
23274 * video/i386/pc/vbe.c (last_set_mode): New variable.
23275 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23276 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23277 (grub_video_vbe_setup): Don't check for reserved flag.
23278
0ad46fd7 232792009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23280
23281 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23282 the `find' command.
23283
c179ebe4
VS
232842009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 UUID support for HFS.
23287
23288 * fs/hfs.c (grub_hfs_uuid): New function.
23289 (grub_hfs_fs): New value .uuid.
23290 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23291
0ad46fd7 232922009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23293
23294 Fix a segfault with parsing unknown long options.
23295
23296 * util/grub-mkrelpath.c (options): Zero terminate it.
23297
c4a3e41a
CPE
232982009-12-13 Carles Pina i Estany <carles@pina.cat>
23299
23300 * include/grub/misc.h (grub_puts): New declaration.
23301 (grub_puts_): Likewise.
a22008a6 23302 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23303 (grub_puts_): Likewise.
23304
2e8a7602
RM
233052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23306
23307 * util/grub-probe.c (probe): Improve error message.
23308
b50b77b9
RM
233092009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23310
23311 * loader/i386/multiboot_elfxx.c
23312 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23313 initialization.
23314
233152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23316
23317 Relocator framework
23318
23319 * loader/i386/xnu_helper.S: Removed. All users updated.
23320 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23321 (relocator_mod_SOURCES): New variable.
23322 (relocator_mod_CFLAGS): Likewise.
23323 (relocator_mod_LDFLAGS): Likewise.
23324 (relocator_mod_ASFLAGS): Likewise.
23325 * conf/x86_64.rmk: Likewise.
23326 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23327 (grub_multiboot_payload_entry_offset): Likewise.
23328 (grub_multiboot_forward_relocator): Likewise.
23329 (grub_multiboot_forward_relocator_end): Likewise.
23330 (grub_multiboot_backward_relocator): Likewise.
23331 (grub_multiboot_backward_relocator_end): Likewise.
23332 (grub_multiboot_payload_eip): New variable.
23333 (grub_multiboot_payload_orig): Likewise.
23334 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23335 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23336 * include/grub/i386/memory.h
23337 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23338 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23339 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23340 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23341 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23342 * include/grub/i386/relocator.h: New file.
23343 * include/grub/x86_64/relocator.h: Likewise.
23344 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23345 (XNU_RELOCATOR): New macro.
23346 (grub_xnu_launcher_start): Remove.
23347 (grub_xnu_launcher_end): Likewise.
23348 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23349 (grub_xnu_heap_real_start): Remove.
23350 (grub_xnu_heap_start): Change to void *. All users updated.
23351 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23352 * lib/i386/relocator.c: New file.
23353 * lib/i386/relocator_asm.S: Likewise.
23354 * lib/i386/relocator_backward.S: Likewise.
23355 * lib/mips/relocator.c: Likewise.
23356 * lib/mips/relocator_asm.S: Likewise.
23357 * lib/relocator.c: Likewise.
23358 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23359 (entry): Removed.
23360 (playground): Likewise.
23361 (grub_multiboot_payload_orig): New variable.
23362 (grub_multiboot_payload_dest): Likewise.
23363 (grub_multiboot_payload_size): Likewise.
23364 (grub_multiboot_payload_eip): Likewise.
23365 (grub_multiboot_payload_esp): Likewise.
23366 (grub_multiboot_boot): Use grub_relocator32_boot.
23367 (grub_multiboot_unload): Free relocators.
23368 (grub_multiboot): Setup stack. Use relocators.
23369 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23370 (grub_multiboot_load_elfXX): Use relocators.
23371 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23372 (grub_multiboot_payload_size): Likewise.
23373 (grub_multiboot_payload_dest): Likewise.
23374 (grub_multiboot_payload_entry_offset): Likewise.
23375 (grub_multiboot_forward_relocator): Likewise.
23376 (grub_multiboot_backward_relocator): Likewise.
23377 (grub_multiboot_real_boot): Likewise.
23378 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23379 (grub_xnu_entry_point): Likewise.
23380 (grub_xnu_arg1): Likewise.
23381 (grub_xnu_stack): Likewise.
23382 (grub_xnu_launch): Removed.
23383 (grub_xnu_boot_resume): New function.
23384 (grub_xnu_boot): Use relocators.
23385 * loader/i386/xnu_helper.S: Removed.
23386 * loader/xnu.c (grub_xnu_heap_start): New variable.
23387 (grub_xnu_heap_size): Likewise.
23388 (grub_xnu_heap_malloc): Use relocators.
23389 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23390
29eb90c6
VS
233912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23394 anything.
23395
31027430
CPE
233962009-12-13 Carles Pina i Estany <carles@pina.cat>
23397
23398 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23399 GRUB_ERR_NONE before calling grub_env_set.
23400
dc0c71d9
RM
234012009-12-12 Robert Millan <rmh@aybabtu.com>
23402
23403 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23404 * genmk.rb (video): New variable.
23405 (CLEANFILES, VIDEOFILES): Add #{video}.
23406 (#{video}): New target rule.
23407 * genvideolist.sh: New file.
23408 * Makefile.in (pkglib_DATA): Add video.lst.
23409 (video.lst): New target rule.
23410 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23411 `video.lst'.
23412 * util/grub.d/30_os-prober.in: Replace `vbe' with
23413 ${GRUB_VIDEO_BACKEND}.
23414
2a4bfcf0
RM
234152009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23416
23417 * THANKS: Add David Miller.
23418
2a3aa4d5
RM
234192009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 libpciaccess support.
23422
23423 * Makefile.in (LIBPCIACCESS): New variable.
23424 (enable_grub_emu_pci): Likewise.
23425 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23426 util/pci.c and commands/lspci.c.
23427 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23428 * configure.ac (grub-emu-pci): New option.
23429 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23430 (grub_pci_device_unmap_range): Likewise.
23431 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23432 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23433 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23434 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23435 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23436 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23437 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23438 * include/grub/pciutils.h: New file.
23439 * util/pci.c: Likewise.
23440
0ad46fd7 234412009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23442
23443 * util/misc.c: Don't include <errno.h> twice.
23444
0ad46fd7 234452009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23446
23447 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23448 name in an error message.
23449 (grub_biosdisk_rw): Likewise.
23450
2e59983c
VS
234512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 Eliminate NTFS 4Gib barrier.
23454
23455 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23456 (read_run_data): Likewise.
23457 (grub_ntfs_read_run_list): Likewise.
23458 (grub_ntfs_read_block): Likewise.
23459 (grub_ntfs_iterate_dir): Likewise.
23460 (read_mft): Likewise.
23461 (read_data): Likewise.
23462 Use COM_LOG_LEN.
23463 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23464 to avoid 64-bit division
23465 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23466 (grub_ntfs_rlst): Use grub_disk_addr_t.
23467
71ee178a
VS
234682009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 Eliminate grub-fstest 4Gib barrier.
23471
23472 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23473 (read_file): Fix error reporting.
23474
2520d4b8
VS
234752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 Eliminate hexdump 4Gib barrier.
23478
23479 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23480 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23481
e1f27065
VS
234822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23483
23484 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23485 Fixes amarsh bug.
23486
1a0f7f45
RM
234872009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23488
23489 Remove miscellaneous files in distclean target.
23490
23491 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23492
c631d9fb
CW
234932009-12-09 Colin Watson <cjwatson@ubuntu.com>
23494
23495 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23496 if they're already set. This resolves the conflict between my
23497 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23498 fixing the --grub-probe option again.
23499 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23500 change on 2009-10-06, so that we now once again source
23501 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23502
7c7b6106
RM
235032009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23506 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23507 `util/devicemap.c'.
23508
e3069ec1
CPE
235092009-12-08 Carles Pina i Estany <carles@pina.cat>
23510
23511 * include/grub/misc.h (grub_printf_): New declaration.
23512 * kern/misc.c (grub_printf_): New definition.
23513 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23514 instead of `grub_printf' and `_'.
23515 * normal/menu_entry.c (store_completion): Likewise.
23516 (run): Likewise.
23517 (grub_menu_entry_run): Likewise.
23518 * normal/menu_text.c (grub_wait_after_message): Likewise.
23519 (notify_booting): Likewise.
23520 (notify_fallback): Likewise.
23521 (notify_execution_failure): Likewise.
23522
d6ceebf1
CW
235232009-12-07 Colin Watson <cjwatson@ubuntu.com>
23524
23525 * configure.ac: Check for vasprintf.
23526 * util/misc.c (asprintf): Move allocation from here ...
23527 (vasprintf): ... to here. New function.
23528 (xasprintf): New function.
23529 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23530 prototypes.
23531 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23532 * util/grub-mkfont.c (write_font): Likewise.
23533 * util/grub-probe.c (probe): Likewise.
23534 * util/hostdisk.c (make_device_name): Likewise.
23535
de6daa8b
DM
235362009-12-06 David S. Miller <davem@sunset.davemloft.net>
23537
23538 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23539 anything even prefixed with 'cdrom' as a cdrom.
23540
0ad46fd7 235412009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23542
23543 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23544 mount points.
23545
98d3dc02
CPE
235462009-12-05 Carles Pina i Estany <carles@pina.cat>
23547
23548 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23549 grub_gettext_msg_list.
23550 (grub_gettext_gettranslation_from_position): Return const char *
23551 and not char *.
a2c1332b 23552 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23553 returns from the list if existing there.
23554 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23555 (grub_gettext_delete_list): Delete the list.
23556 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23557 lang environment variable is changed.
23558 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23559
b283f108
VS
235602009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23561
23562 Rename kernel.mod to kernel.img.
23563
23564 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23565 (kernel_mod_EXPORTS): Rename to ...
23566 (kernel_img_EXPORTS): ... this.
23567 (kernel_mod_SOURCES): Rename to ...
23568 (kernel_img_SOURCES): ... this.
23569 (kernel_mod_HEADERS): Rename to ...
23570 (kernel_img_HEADERS): ... this. All users updated.
23571 (kernel_mod_CFLAGS): Rename to ...
23572 (kernel_img_CFLAGS): ... this.
23573 (kernel_mod_ASFLAGS): Rename to ...
23574 (kernel_img_ASFLAGS): ... this.
23575 (kernel_mod_LDFLAGS): Rename to ...
23576 (kernel_img_LDFLAGS): ... this.
23577 * conf/x86_64-efi.rmk: Likewise.
23578 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23579 (read_kernel_image): ... this. All users updated.
23580 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23581
69055f8a
CPE
235822009-12-05 Carles Pina i Estany <carles@pina.cat>
23583
23584 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23585 (print_spaces): New function.
23586 (grub_print_ucs4): New function.
23587 (getstringwidth): New function.
23588 (print_message_indented): New function.
23589 (print_message): Gettexttize strings using print_message_indented.
23590 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23591 width.
23592 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23593 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23594 Gettextize.
23595 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23596 string.
23597 (run): Likewise.
23598 (grub_menu_entry_run): Likewise.
23599 * PO/POTFILES: Add normal/menu_entry.c.
23600
f616f51c
VS
236012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23604
57bbe3be
CPE
236052009-12-05 Carles Pina i Estany <carles@pina.cat>
23606
23607 * util/grub-install.in: Install gettext .mo files.
23608 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23609
013d67a1
CPE
236102009-12-05 Carles Pina i Estany <carles@pina.cat>
23611
23612 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23613 grub_dprintf.
23614
fb954db0
RM
236152009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23616
23617 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23618 non-firmware-dependant one in realmode.S takes precedence.
23619
6b8474f8
RM
236202009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23621
23622 * commands/halt.c: Replace misc arch-specific headers with
23623 `<grub/misc.h>'.
23624 * commands/reboot.c: Likewise.
23625 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23626 `<grub/misc.h>'.
23627 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23628 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23629 (kernel_img_SOURCES): ... to here.
23630
23631 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23632 * include/grub/i386/pc/init.h: Likewise.
23633 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23634 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23635
23636 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23637
23638 * include/grub/i386/halt.h: Remove.
23639 * include/grub/i386/reboot.h: Likewise.
23640
23641 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23642
4b2e6ca2
DM
236432009-12-03 David S. Miller <davem@sunset.davemloft.net>
23644
23645 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23646 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23647 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23648 "progname.h"
23649 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23650 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23651 (usage): Add missing comma in printf.
23652
5239348f
RM
236532009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23654
23655 Use the same reboot approach on i386 coreboot and qemu as we do on
23656 BIOS.
23657
23658 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23659 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23660 * kern/i386/reboot.c: Remove.
23661 * include/grub/i386/reboot.h (grub_reboot): Export function.
23662 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23663 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23664 0xf000:0xfff0 instead of 0xffff:0x0000.
23665 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23666 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23667
ef34cbd4
RM
236682009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23669
23670 Fix $srcdir != $objdir build.
23671
23672 * Makefile.in (po/%.po): Rewrite as ...
23673 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23674
dc9837ea
ST
236752009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23676
23677 Fix GNU/Hurd grub-install crash.
23678 * util/grub-probe.c (probe): Try to access `path' only when it is not
23679 NULL.
23680
2f857f98
VS
236812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23682
23683 Correct module naming.
23684
23685 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23686 (GRUB_MOD_INIT(efi_uga)): ... to this
23687 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23688 (GRUB_MOD_FINI(efi_uga)): ... to this
23689 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23690 (GRUB_MOD_INIT(efi_gop)): ... to this
23691 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23692 (GRUB_MOD_FINI(efi_gop)): ... to this
23693
c5448046
RM
236942009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23697 translatable.
23698 (usage): Translate `arg' strings using gettext().
23699 Thanks to Jordi Mallach for the suggestion.
23700
c85184ad
VS
237012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 GOP support. Based on patch from Bean
23704 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23705
23706 * video/efi_gop.c: New file.
23707 * include/grub/efi/graphics_output.h: Likewise.
23708 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23709 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23710 variables.
23711 * conf/x86_64-efi.rmk: Likewise.
23712
8a4c48d8
VS
237132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 Rename efi_fb to efi_uga.
23716
23717 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23718 'efi_uga.mod'.
23719 (efi_fb_mod_SOURCES): Rename this ...
23720 (efi_uga_mod_SOURCES): ... to this.
23721 (efi_fb_mod_CFLAGS): Rename this ...
23722 (efi_uga_mod_CFLAGS): ... to this.
23723 (efi_fb_mod_LDFLAGS): Rename this ...
23724 (efi_uga_mod_LDFLAGS): ... to this.
23725 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23726 'efi_uga.mod'.
23727 (efi_fb_mod_SOURCES): Rename this ...
23728 (efi_uga_mod_SOURCES): ... to this.
23729 (efi_fb_mod_CFLAGS): Rename this ...
23730 (efi_uga_mod_CFLAGS): ... to this.
23731 (efi_fb_mod_LDFLAGS): Rename this ...
23732 (efi_uga_mod_LDFLAGS): ... to this.
23733 * video/efi_fb.c: Move this ...
23734 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23735
fb6c1a7b
RM
237362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * po/README: New file. Explain our PO file workflow.
23739
3bc7896c
RM
237402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23741
23742 * po/ChangeLog: Remove. Move relevant entries back to ...
23743 * ChangeLog: ... here.
23744 * po/ca.po: Remove (now handled by TLP).
23745 * po/id.po: Likewise.
23746 * po/zh_CN.po: Likewise.
23747 * Makefile.in (LINGUAS): Initialize in a way that supports
23748 empty set.
23749
9ed4841d
RM
237502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23751
23752 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23753 reliing on po/LINGUAS.
23754 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23755 (po/%.po): ... this.
23756
0ad46fd7 237572009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23758
23759 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23760 (main): Use `program_name' instead of nonexistent `progname'.
23761
e30dd392
FZ
237622009-11-26 Felix Zielcke <fzielcke@z-51.de>
23763
23764 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23765 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23766
7656de4f
RM
237672009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23768
23769 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23770 commit.
23771 * conf/i386-efi.rmk: Likewise.
23772 * conf/i386-ieee1275.rmk: Likewise.
23773 * conf/powerpc-ieee1275.rmk: Likewise.
23774 * conf/sparc64-ieee1275.rmk: Likewise.
23775 * conf/x86_64-efi.rmk: Likewise.
23776
db77c4d4
FZ
237772009-11-26 Felix Zielcke <fzielcke@z-51.de>
23778
23779 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23780
a755bb04
FZ
237812009-11-26 Felix Zielcke <fzielcke@z-51.de>
23782
23783 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23784
8a4c07fd
RM
237852009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23786
23787 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23788 (grub_mkdevicemap_SOURCES): New variable.
23789 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23790 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23791 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23792 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23793 (grub_mkdevicemap_SOURCES): Remove.
23794 * conf/i386-efi.rmk: Likewise.
23795 * conf/i386-ieee1275.rmk: Likewise.
23796 * conf/i386-pc.rmk: Likewise.
23797 * conf/powerpc-ieee1275.rmk: Likewise.
23798 * conf/sparc64-ieee1275.rmk: Likewise.
23799 * conf/x86_64-efi.rmk: Likewise.
23800 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23801 (usage): Fix strings to use `program_name'.
23802 (main): Initialize gettext.
23803 * util/grub-editenv.c: Likewise.
23804 * util/grub-emu.c: Likewise.
23805 * util/grub-fstest.c: Likewise.
23806 * util/grub-mkdevicemap.c: Likewise.
23807 * util/grub-mkfont.c: Likewise.
23808 * util/grub-mkrelpath.c: Likewise.
23809 * util/grub-pe2elf.c: Likewise.
23810 * util/grub-probe.c: Likewise.
23811 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23812 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23813 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23814
23815 * util/misc.c: Include `"progname.h"'.
23816 (progname): Remove variable.
23817 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23818
6f61ed55
FZ
238192009-11-25 Felix Zielcke <fzielcke@z-51.de>
23820
23821 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23822 printf and print a newline after the menuentry header line.
23823 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23824
f022876b
FZ
238252009-11-25 Felix Zielcke <fzielcke@z-51.de>
23826
23827 autoconf >= 2.60 support $(localedir).
23828
23829 * INSTALL: Note that autoconf 2.60 is required.
23830 * configure.ac (AC_PREREQ): Bump to 2.60.
23831 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23832 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23833
6717926e
YB
238342009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23835
23836 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23837 aclocal is run.
23838
08806a54
RM
238392009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23840
23841 * normal/main.c (grub_normal_read_line): Fix off-by-one
23842 buffer overflow.
23843
13b33fba
RM
238442009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23845
23846 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23847 "parser.grub" in grub_command_execute() call.
23848
4a8572e9
CPE
238492009-11-24 Carles Pina i Estany <carles@pina.cat>
23850
23851 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23852 * conf/i386-efi.rmk: Likewise.
23853 * conf/i386-ieee1275.rmk: Likewise.
23854 * conf/i386-pc.rmk: Likewise.
23855 * conf/powerpc-ieee1275.rmk: Likewise.
23856 * conf/sparc64-ieee1275.rmk: Likewise.
23857 * conf/x86_64-efi.rmk: Likewise.
23858 * gettext/gettex.c: Include <grub/i18n.h>.
23859 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23860 here ...
23861 * include/grub/i18n.h: ... to here
23862 * include/grub/i18n.h: ... to here.
23863 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23864 (grub_gettext_dummy): Move above user.
4a8572e9 23865
bee48093
FZ
238662009-11-24 Felix Zielcke <fzielcke@z-51.de>
23867
23868 * util/Makefile.in (install-local): Convert a `for' into a normal
23869 shell expansion.
23870
a031e91c
RM
238712009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23872
23873 * autogen.sh: Add automake call.
23874 * config.guess: Remove.
23875 * config.sub: Likewise.
23876 * install-sh: Likewise.
23877
26bec39d
FZ
238782009-11-24 Felix Zielcke <fzielcke@z-51.de>
23879
23880 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23881
8e2532fd
FZ
238822009-11-24 Felix Zielcke <fzielcke@z-51.de>
23883
23884 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23885 function to a normal shell `for'.
23886
fefa1b7d
FZ
238872009-11-24 Felix Zielcke <fzielcke@z-51.de>
23888
23889 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23890
4501250b
FZ
238912009-11-24 Felix Zielcke <fzielcke@z-51.de>
23892
23893 * util/grub-mkrelpath.c: New file.
23894 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23895 (grub_mkrelpath_SOURCES): New variable.
23896 * include/grub/util/misc.h: New function prototype.
23897 * util/misc.c (make_system_path_relative_to_its_root): New function.
23898
23899 * util/grub-mkconfig_lib.in (bindir): New variable.
23900 (grub_mkrelpath): Likewise.
23901 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23902
23903 * util/probe.c (probe): Make the file path relative to its root.
23904 Change a info message to use the GRUB path. Enable again the
23905 check if we can read the file with GRUB facilities.
23906
23907 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23908 to its root.
23909
11d9778b
FZ
239102009-11-24 Felix Zielcke <fzielcke@z-51.de>
23911
23912 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23913 platform.
23914
4465287d
FZ
239152009-11-24 Felix Zielcke <fzielcke@z-51.de>
23916
23917 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23918 strncmp().
23919
62b47f22
FZ
239202009-11-24 Felix Zielcke <fzielcke@z-51.de>
23921
23922 * util/getroot.c (grub_util_is_dmraid): New function.
23923 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23924 devices as normal ones, not as LVM.
23925
1eafb9b9 239262009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23927
23928 * conf/common.rmk: Add grub-gettext_lib target and updates
23929 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23930 LDFLAGS.
23931 * gettext/gettext.c: New file. (Reads mo files).
23932 * include/grub/file.h (grub_file_pread): New prototype.
23933 * include/grub/i18n.h (_): New prototype.
23934 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23935 prototypes.
23936 * kern/misc.c (grub_gettext_dummy): New function.
23937 * normal/menu_text.c: Include <grub/i18n.h>.
23938 * normal/menu_text.c (print_timeout): Gettexttize string.
23939 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23940 * po/POTFILES: Add `normal/menu_text.c'.
23941 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23942 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23943 gettext module and defines locale_dir and lang in grub.cfg.
23944 * NEWS: Add gettext support.
23945
0fdb2568
RM
239462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23947
23948 * util/hostdisk.c: Include `<grub/i18n.h>'.
23949 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23950 (make_device_name): Rewrite using asprintf.
23951 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23952 (find_system_device): If a device is not found, generate one just
23953 by reusing the OS path name.
23954 (read_device_map): Make it permissible for device.map not to exist.
23955
f515aa62
RM
239562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23957
23958 * script/sh/execute.c: Move from here ...
23959 * script/execute.c: ... to here. Update all users.
23960 * script/sh/function.c: Move from here ...
23961 * script/function.c: ... to here. Update all users.
23962 * script/sh/lexer.c: Move from here ...
23963 * script/lexer.c: ... to here. Update all users.
23964 * script/sh/main.c: Move from here ...
23965 * script/main.c: ... to here. Update all users.
23966 * script/sh/parser.y: Move from here ...
23967 * script/parser.y: ... to here. Update all users.
23968 * script/sh/script.c: Move from here ...
23969 * script/script.c: ... to here. Update all users.
23970
f84b481b
RM
239712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * configure.ac: Detect all `emu' platforms. Define
23974 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23975 --enable-grub-emu logic. Disable include/grub/machine
23976 symlink on `emu' platforms.
23977
23978 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23979 * gensymlist.sh.in: Likewise.
23980
23981 * include/grub/i386/coreboot/machine.h: Remove file.
23982 * include/grub/i386/efi/machine.h: Likewise.
23983 * include/grub/i386/ieee1275/machine.h: Likewise.
23984 * include/grub/i386/pc/machine.h: Likewise.
23985 * include/grub/i386/qemu/machine.h: Likewise.
23986 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23987 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23988 * include/grub/x86_64/efi/machine.h: Likewise.
23989
23990 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23991 * commands/halt.c: Likewise.
23992 * commands/reboot.c: Likewise.
23993 * include/grub/autoefi.h: Likewise.
23994 * include/grub/i386/at_keyboard.h: Likewise.
23995 * include/grub/i386/kernel.h: Likewise.
23996 * include/grub/i386/loader.h: Likewise.
23997 * include/grub/i386/pc/memory.h: Likewise.
23998 * kern/dl.c: Likewise.
23999 * kern/i386/coreboot/init.c: Likewise.
24000 * loader/i386/bsd.c: Likewise.
24001 * loader/i386/linux.c: Likewise.
24002 * loader/multiboot_loader.c: Likewise.
24003 * term/i386/pc/serial.c: Likewise.
24004 * term/usb_keyboard.c: Likewise.
24005
24006 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24007 `<grub/machine/machine.h>'
24008 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24009 * util/misc.c: Remove `<grub/machine/machine.h>' and
24010 `<grub/machine/time.h>'.
24011
24012 * Makefile.in (enable_grub_emu): Remove variable.
24013 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24014
24015 * conf/any-emu.rmk: New file.
24016 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24017 (grub_emu_init.c): Move from here ...
24018 * conf/any-emu.rmk: ... to here.
24019
24020 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24021 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24022 * conf/any-emu.rmk: ... to here.
24023
4efeab03
RM
240242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24025
24026 * include/grub/parser.h (grub_parser_register): Document need
24027 of `name' parameter.
24028 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24029 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24030 "sh" to "grub".
24031
ea1dd8bf
RM
240322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24033
24034 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24035 `$(XGETTEXT)'.
24036 * include/grub/i18n.h (N_): New macro.
24037 * util/mkisofs/mkisofs.h: Likewise.
24038 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24039 around N_().
24040 (usage): Use gettext() to translate help strings when printing them.
24041
0c140626
RM
240422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24043
24044 Based on patch from Bean
24045 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24046
24047 * video/efi_fb.c: New file.
24048 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24049 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24050 variables.
24051 * conf/x86_64-efi.rmk: Likewise.
24052
87d58298
RM
240532009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24056 * util/i386/pc/grub-setup.c: Likewise.
24057
994cc3a3
ST
240582009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24059
24060 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24061 <hurd/fs.h>
24062 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24063 file_get_storage_info to implement grub_guess_root_device.
24064
26a61d6a
FZ
240652009-11-21 Felix Zielcke <fzielcke@z-51.de>
24066
24067 * Makefile.in (target): Use make's builtin $(shell) function
24068 instead of calling directly $(SHELL) to create the locale directories,
24069 inside the $(foreach) function.
24070
74ff1dd5
FZ
240712009-11-21 Felix Zielcke <fzielcke@z-51.de>
24072
24073 * util/grub-mkrescue.in: Print an error and usage if output option
24074 has not been given.
24075
0b787d0e
FZ
240762009-11-21 Felix Zielcke <fzielcke@z-51.de>
24077
24078 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24079 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24080 root and /boot are on different devices.
24081
1164b270
RM
240822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24083
24084 Fix build for srcdir != objdir.
24085
24086 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24087 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24088 $(srcdir).
24089 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24090 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24091 reference for input.
24092
13774a2f
RM
240932009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24094
24095 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24096 or hardlinking it). Remove -J option, Joliet is not compatible with
24097 multiple source directories.
24098
efda854e
RM
240992009-11-21 Carles Pina i Estany <carles@pina.cat>
241002009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24103 (process_input_dir): New function. Process an arbitrary input
24104 directory.
24105 Misc adjustments to support both "override mode" and system-wide mode.
24106
6c09890c
FZ
241072009-11-20 Felix Zielcke <fzielcke@z-51.de>
24108
24109 * configure.ac (UNIFONT_BDF): Rename to ...
24110 (FONT_SOURCE): ... this. Update all users.
24111
a797824f
FZ
241122009-11-20 Felix Zielcke <fzielcke@z-51.de>
24113
24114 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24115 to the list of unifont files to look for.
24116
cd4f42b0
RM
241172009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24118
24119 Patch from Joe Auricchio <jauricchio@gmail.com>
24120 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24121 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24122 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24123
393c783d
FZ
241242009-11-19 Felix Zielcke <fzielcke@z-51.de>
24125
24126 * Makefile.in (install-local): Add a missing backslash.
24127
b2f1e327
FZ
241282009-11-19 Felix Zielcke <fzielcke@z-51.de>
24129
24130 * include/grub/x86_64/io.h: New file.
24131
f577f7a0
RM
241322009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24133
24134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24135 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24136 Include `"progname.h"'.
24137 (main): Initialize gettext.
24138 * util/i386/pc/grub-setup.c: Gettexttize.
24139 * util/i386/pc/grub-mkimage.c: Likewise.
24140
24141 * Makefile.in (po/*.po): Redefine as ...
24142 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24143
3bc7896c
RM
24144 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24145
c37943b6
RM
241462009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24147
24148 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24149 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24150 (program_name): Remove.
24151 (main): Initialize gettext support.
6323f705
RM
24152 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24153 Include `<libintl.h>'.
24154 (_): New macro.
c37943b6
RM
24155
24156 * util/mkisofs/eltorito.c: Gettexttize.
24157 * util/mkisofs/joliet.c: Likewise.
24158 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24159 * util/mkisofs/multi.c: Likewise.
24160 * util/mkisofs/rock.c: Likewise.
24161 * util/mkisofs/tree.c: Likewise.
24162 * util/mkisofs/write.c: Likewise.
24163
3bc7896c
RM
24164 * po/POTFILES: Update with new files.
24165
5ce77c6e
RM
241662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24167
24168 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24169 * util/mkisofs/iso9660.h: Likewise.
24170 * util/mkisofs/joliet.c: Likewise.
24171 * util/mkisofs/mkisofs.c: Likewise.
24172 * util/mkisofs/mkisofs.h: Likewise.
24173 * util/mkisofs/rock.c: Likewise.
24174 * util/mkisofs/tree.c: Likewise.
24175 * util/mkisofs/write.c: Likewise.
24176
24177 * util/mkisofs/eltorito.c (rcsid): Remove.
24178 * util/mkisofs/hash.c: Likewise.
24179 * util/mkisofs/joliet.c: Likewise.
24180 * util/mkisofs/name.c: Likewise.
24181 * util/mkisofs/rock.c: Likewise.
24182 * util/mkisofs/tree.c: Likewise.
24183 * util/mkisofs/write.c: Likewise.
24184
1dabbc77
RM
241852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24188 instead of static allocation.
24189 * util/mkisofs/match.h: Likewise.
24190
633877cb
RM
241912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24192
3bc7896c
RM
24193 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24194 and `util/grub.d/10_linux.in'.
633877cb
RM
24195 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24196 translatable Shell files.
24197
af1c0c85
RM
241982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24199
24200 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24201
769ae37b
RM
242022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24203
24204 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24205 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24206 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24207 Add gettext initialization.
24208 (kfreebsd_entry): Make menuentry output translatable.
24209
242102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24211
24212 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24213 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24214 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24215 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24216 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24217 * po/LINGUAS: New file.
769ae37b
RM
24218
242192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24220
24221 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24222 other things).
24223 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24224 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24225 bindtextdomain() calls for gettext initialization.
24226
242272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24228
24229 * gnulib/progname.c: New file (imported from Gnulib).
24230 * gnulib/progname.h: Likewise.
24231 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24232 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24233 (usage): Replace `progname' with `program_name'.
24234 (main): Use set_program_name() for program name initialization.
24235
242362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24237
24238 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24239 from here ...
24240 * Makefile.in (CPPFLAGS): ... to here.
24241
242422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24243
24244 * aclocal.m4: Move from here ...
24245 * acinclude.m4: ... to here.
24246 * autogen.sh: Add call to `aclocal'.
24247 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24248
242492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24250
24251 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24252 (LINGUAS): New variable.
24253 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24254 (install-local): Install MO files.
24255 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24256 * include/grub/i18n.h: New file.
3bc7896c
RM
24257 * po/POTFILES: New file.
24258 * po/ca.po: New file.
769ae37b
RM
24259 * util/grub.d/10_linux.in (bindir): New variable.
24260 Add gettext initialization.
24261 (linux_entry): Make menuentry output translatable.
24262 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24263 (usage): Make --help output translatable.
24264 (main): Initialize gettext.
24265
02c0a6ad
RM
242662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24267
24268 * import_gcry.py: New file (written by Vladimir with minor
24269 adjustments).
24270 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24271 ciphers.
24272 * INSTALL: Document that Python is required for bootstrap.
24273
242742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24275
24276 Import ciphers from libgcrypt 1.4.4.
24277
24278 * lib/libgcrypt/cipher/ChangeLog
24279 * lib/libgcrypt/cipher/ac.c
24280 * lib/libgcrypt/cipher/arcfour.c
24281 * lib/libgcrypt/cipher/bithelp.h
24282 * lib/libgcrypt/cipher/blowfish.c
24283 * lib/libgcrypt/cipher/camellia-glue.c
24284 * lib/libgcrypt/cipher/camellia.c
24285 * lib/libgcrypt/cipher/camellia.h
24286 * lib/libgcrypt/cipher/cast5.c
24287 * lib/libgcrypt/cipher/cipher.c
24288 * lib/libgcrypt/cipher/crc.c
24289 * lib/libgcrypt/cipher/des.c
24290 * lib/libgcrypt/cipher/dsa.c
24291 * lib/libgcrypt/cipher/ecc.c
24292 * lib/libgcrypt/cipher/elgamal.c
24293 * lib/libgcrypt/cipher/hash-common.c
24294 * lib/libgcrypt/cipher/hash-common.h
24295 * lib/libgcrypt/cipher/hmac-tests.c
24296 * lib/libgcrypt/cipher/md.c
24297 * lib/libgcrypt/cipher/md4.c
24298 * lib/libgcrypt/cipher/md5.c
24299 * lib/libgcrypt/cipher/primegen.c
24300 * lib/libgcrypt/cipher/pubkey.c
24301 * lib/libgcrypt/cipher/rfc2268.c
24302 * lib/libgcrypt/cipher/rijndael-tables.h
24303 * lib/libgcrypt/cipher/rijndael.c
24304 * lib/libgcrypt/cipher/rmd.h
24305 * lib/libgcrypt/cipher/rmd160.c
24306 * lib/libgcrypt/cipher/rsa.c
24307 * lib/libgcrypt/cipher/seed.c
24308 * lib/libgcrypt/cipher/serpent.c
24309 * lib/libgcrypt/cipher/sha1.c
24310 * lib/libgcrypt/cipher/sha256.c
24311 * lib/libgcrypt/cipher/sha512.c
24312 * lib/libgcrypt/cipher/tiger.c
24313 * lib/libgcrypt/cipher/twofish.c
24314 * lib/libgcrypt/cipher/whirlpool.c
24315
af2f93ac
RM
243162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24317
24318 Fix build for systems without error().
24319
24320 * gnulib/error.c: New file (imported from Gnulib).
24321 * gnulib/error.h: Likewise.
24322 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24323 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24324 (this variable is now used by error()).
24325
73fb3dd5
FZ
243262009-11-16 Felix Zielcke <fzielcke@z-51.de>
24327
814f5e96
FZ
24328 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24329 instead of relying that char is signed.
73fb3dd5 24330
a691ca33
VS
243312009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24334 blocksize different from specified.
24335 (grub_pxefs_read): Likewise.
24336
2af8f0f4
FZ
243372009-11-16 Felix Zielcke <fzielcke@z-51.de>
24338
24339 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24340
24341 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24342 (grub_ata_readwrite): Likewise. Update 2 format strings.
24343 (grub_atapi_read): Likewise.
24344
24345 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24346 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24347 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24348 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24349 (ata_mod_LDFLAGS): Move from here ...
24350 * conf/i386.rmk: ... to here ...
24351 * conf/x86_64-efi.rmk: ... and here.
24352 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24353 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24354
83bdecaf
RM
243552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24356
24357 Relicense multiboot.h, with RMS' blessing.
24358
24359 * include/multiboot.h: Change to X11 license.
24360
fd6fd3d7
RM
243612009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24362
24363 Support --version in grub-mkisofs.
24364
24365 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24366 (OPTION_VERSION): New macro.
24367 (ld_options): Recognize --version.
24368 (usage): Move `program_name' from here ...
24369 (program_name): ... to here. Add `static' qualifier.
24370 (main): Recognize `OPTION_VERSION'.
24371
16a88c49
FZ
243722009-11-15 Felix Zielcke <fzielcke@z-51.de>
24373
24374 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24375 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24376
a4158476
RM
243772009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 Fix help2man generation for mkisofs.
24380
24381 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24382 (usage): Send output to stdout (rather than stderr).
24383
fc2208b0
RM
243842009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24385
24386 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24387 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24388 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24389 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24390 (bin_SCRIPTS): Add `grub-mkfloppy'.
24391 (grub_mkfloppy_SOURCES): New variable.
24392
24393 * util/grub-mkrescue.in: New file.
24394 * util/i386/pc/grub-mkfloppy.in: New file.
24395
24396 * util/i386/coreboot/grub-mkrescue.in: Remove.
24397 * util/i386/pc/grub-mkrescue.in: Remove.
24398
8d0edf4a
RM
243992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24402 from here ...
24403 * include/multiboot.h (struct multiboot_header): ... to here. Update
24404 all users.
24405 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24406 from here ...
24407 * include/multiboot.h (struct multiboot_info): ... to here. Update
24408 all users.
24409 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24410 from here ...
24411 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24412 Update all users.
24413 * include/grub/multiboot.h (struct grub_mod_list): Move
24414 from here ...
24415 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24416 Update all users.
24417
a73f5969
RM
244182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24419
24420 * include/multiboot2.h (multiboot_word): Rename from this ...
24421 (multiboot2_word): ... to this. Update all users.
24422 (multiboot_header): Rename from this ...
24423 (multiboot2_header): ... to this. Update all users.
24424 (multiboot_tag_header): Rename from this ...
24425 (multiboot2_tag_header): ... to this. Update all users.
24426 (multiboot_tag_start): Rename from this ...
24427 (multiboot2_tag_start): ... to this. Update all users.
24428 (multiboot_tag_name): Rename from this ...
24429 (multiboot2_tag_name): ... to this. Update all users.
24430 (multiboot_tag_module): Rename from this ...
24431 (multiboot2_tag_module): ... to this. Update all users.
24432 (multiboot_tag_memory): Rename from this ...
24433 (multiboot2_tag_memory): ... to this. Update all users.
24434 (multiboot_tag_unused): Rename from this ...
24435 (multiboot2_tag_unused): ... to this. Update all users.
24436 (multiboot_tag_end): Rename from this ...
24437 (multiboot2_tag_end): ... to this. Update all users.
24438
1c8927f0
RM
244392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24440
24441 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24442 this platform we should support Multiboot1 first.
24443
24444 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24445 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24446 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24447
6e1e0d89
RM
244482009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24449
24450 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24451 of write calls (converting them to fwrite() if they aren't already).
24452 (get_torito_desc): Likewise.
24453 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24454
7f2b34d8
RM
244552009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24456
24457 * util/i386/pc/grub-install.in: Move from here ...
24458 * util/grub-install.in: ... to here. Update all users.
24459
c0ef3311
CW
244602009-11-11 Colin Watson <cjwatson@ubuntu.com>
24461
24462 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24463
e1f240ff
RM
244642009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24465
24466 Support for El Torito without floppy emulation.
24467
24468 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24469 (init_boot_catalog): Improve error handling.
24470 (get_torito_desc): Don't use floppy emulation unless requested by
24471 user. Patch boot information table when requested via
24472 `-boot-info-table'.
24473 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24474 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24475 (use_boot_info_table): New variables.
24476 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24477 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24478 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24479 `--eltorito-emul-floppy'.
24480 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24481 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24482 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24483 (use_boot_info_table, get_731): New prototypes.
24484 * util/mkisofs/write.c (get_731): New function.
24485
af7d4de5
FZ
244862009-11-11 Felix Zielcke <fzielcke@z-51.de>
24487
24488 Fix the generation of the man page.
24489
24490 * util/pc/i386/grub-install.in: Source
24491 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24492
2c55dbc0
RM
244932009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24494
24495 Large file support for grub-mkisofs.
24496
24497 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24498 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24499 (session_start): Upgrade type to `uint64_t'. Update all users.
24500 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24501 (struct directory_entry): Upgrade type of `starting_block' and
24502 `size' to `uint64_t'. Update all users.
24503 (struct deferred): Remove unused structure.
24504 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24505 Update all users.
24506 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24507 file is larger than `UINT32_MAX'.
24508 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24509 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24510 return value.
24511 (struct deferred_write): Upgrade type of `extent' and `size' to
24512 `uint64_t'. Update all users.
24513 (last_extent_written): Upgrade type to `uint64_t'. Update all
24514 users.
24515 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24516 Update all users. Upgrade type of `remain' to `int64_t' and
24517 `use' to `size_t'. Use error() to handle fread() errors.
24518 (write_files): Rely on write_one_file() rather than calling
24519 xfwrite() directly.
24520
6a9cead5
FZ
245212009-11-09 Felix Zielcke <fzielcke@z-51.de>
24522
24523 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24524
4825d790
RM
245252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24526
24527 * util/mkisofs/fnmatch.c: Remove.
24528 * util/mkisofs/getopt1.c: Likewise.
24529 * util/mkisofs/getopt.c: Likewise.
24530 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24531 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24532 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24533 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24534 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24535
24536 * configure.ac: Detect `mingw32msvc' host_os.
24537 Check for lstat(), getuid() and getgid().
24538
24539 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24540 instances of `u_char' with `uint8_t'.
24541
24542 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24543 [!HAVE_GETUID] (getuid): New function (stub).
24544 [!HAVE_GETGID] (getgid): Likewise.
24545 [!HAVE_LSTAT] (lstat): Likewise.
24546 [!S_IROTH] (S_IROTH): New macro (dummy).
24547 [!S_IRGRP] (S_IRGRP): Likewise.
24548
84b860d8
RM
245492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24552 conditional expression).
24553
66e9b712
RM
245542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24555
24556 Import from Gnulib.
24557
24558 * gnulib/fnmatch.c: New file.
24559 * gnulib/fnmatch.h: Likewise.
24560 * gnulib/fnmatch_loop.c: Likewise.
24561 * gnulib/getopt.c: Likewise.
24562 * gnulib/getopt.h: Likewise.
24563 * gnulib/getopt1.c: Likewise.
24564 * gnulib/getopt_int.h: Likewise.
24565 * gnulib/gettext.h: Likewise.
24566
34f4a5b0
RM
245672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24568
24569 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24570 * normal/handler.c (read_handler_list): Likewise.
24571
ac451143
RM
245722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24573
24574 Misc cleanup.
24575
24576 * kern/command.c (grub_register_command_prio): Use
24577 grub_zalloc() instead of explicitly zeroing data.
24578 * kern/list.c: Include `<grub/mm.h>'.
24579 (grub_named_list_find): Replace `0' with `NULL'.
24580 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24581 (fs_module_list): Change type to `grub_named_list_t'. Update all
24582 users.
24583 * normal/dyncmd.c (read_command_list): Add space between function
24584 call and parenthesis.
24585 * normal/handler.c (read_handler_list): Likewise.
24586
4089b167
RM
245872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24588
24589 * normal/auth.c (punishment_delay): Moved from here ...
24590 (grub_auth_strcmp): ... to here (inside function).
24591
325f5037
RM
245922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 * include/grub/list.h (struct grub_named_list): Remove `const'
24595 qualifier from `name'.
24596 (struct grub_prio_list): Likewise.
24597
7aea29a3
RM
245982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24599
24600 * normal/auth.c: Include `<grub/time.h>'.
24601 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24602
3fd6f044
RM
246032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24604
24605 * normal/auth.c (punishment_delay): New variable.
24606 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24607 (grub_auth_check_authentication): Punish failed login attempts with
24608 an incremental (2^N) delay.
24609
a4cd68e4
RM
246102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24611
24612 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24613 path with $(srcdir).
24614
7ad12f43
VS
246152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24616
24617 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24618
c1129f03
RM
246192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24620
24621 * util/i386/coreboot/grub-mkrescue.in: New file.
24622 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24623 variables.
24624
24625 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24626 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24627 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24628 requirements.
24629 * util/mkisofs/defaults.h: New file.
24630 * util/mkisofs/eltorito.c: Likewise.
24631 * util/mkisofs/exclude.h: Likewise.
24632 * util/mkisofs/fnmatch.c: Likewise.
24633 * util/mkisofs/getopt.c: Likewise.
24634 * util/mkisofs/getopt1.c: Likewise.
24635 * util/mkisofs/hash.c: Likewise.
24636 * util/mkisofs/include/fctldefs.h: Likewise.
24637 * util/mkisofs/include/mconfig.h: Likewise.
24638 * util/mkisofs/include/prototyp.h: Likewise.
24639 * util/mkisofs/include/statdefs.h: Likewise.
24640 * util/mkisofs/iso9660.h: Likewise.
24641 * util/mkisofs/joliet.c: Likewise.
24642 * util/mkisofs/match.c: Likewise.
24643 * util/mkisofs/match.h: Likewise.
24644 * util/mkisofs/mkisofs.c: Likewise.
24645 * util/mkisofs/mkisofs.h: Likewise.
24646 * util/mkisofs/multi.c: Likewise.
24647 * util/mkisofs/name.c: Likewise.
24648 * util/mkisofs/rock.c: Likewise.
24649 * util/mkisofs/tree.c: Likewise.
24650 * util/mkisofs/write.c: Likewise.
24651
ec8bb77d
VS
246522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24655 being insecure.
24656
3716b12c
RM
246572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24660 `grub-mkimage' (and use $0 when possible).
24661
b97b7b91
RM
246622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24665 error message for excessively large memory map.
24666
04114812
RM
246672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24670 executable bit.
24671
e4eb2373
RM
246722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24673
24674 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24675 message for coreboot users.
24676
c926e1d5 246772009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24678
24679 Fix build with GNU gold.
24680
24681 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24682 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24683 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24684 link addresses.
24685 * aclocal.m4: Likewise.
24686
86e5b1db 246872009-11-04 Felix Zielcke <fzielcke@z-51.de>
24688
24689 * configure.ac (AC_PREREQ): Bump to 2.59d.
24690 * INSTALL: Make it more clear when Autoconf and Ruby are
24691 needed and when to run `./autogen.sh'.
24692
246cd78f 246932009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24694
24695 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24696 OSes.
24697
4f9dfb37 246982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24699
24700 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24701
b82bd5e1 247022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24703
24704 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24705 giving it to GNU Mach.
24706
ff1a9bca 247072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24708
24709 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24710 GNU partition number to get internal GRUB partition number.
24711
61697d9c 247122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24713
24714 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24715 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24716
a50569e1 247172009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24718
24719 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24720 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24721 case.
24722
5b153867 247232009-11-01 Felix Zielcke <fzielcke@z-51.de>
24724
24725 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24726
d9e2cd70 247272009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24728
24729 Fix build problem.
24730
24731 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24732 `-isystem=$(srcdir)/include'.
24733
805111a4 247342009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24735
24736 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24737 checked (grub-install doesn't currently rely on it).
24738
fa6e945f 247392009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24740
24741 Revert SVN r2660.
24742
24743 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24744 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24745 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24746 * conf/i386-ieee1275.rmk: Likewise.
24747 * conf/i386-pc.rmk: Likewise.
24748 * conf/powerpc-ieee1275.rmk: Likewise.
24749 * conf/sparc64-ieee1275.rmk: Likewise.
24750 * conf/x86_64-efi.rmk: Likewise.
24751
cee15086 247522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24753
24754 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24755
95b9239e 247562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24757
24758 * include/grub/misc.h: Stop checking for APPLE_CC.
24759
2ed19dfd 247602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24761
24762 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24763 doesn't cause an infinite call loop.
24764
fdcdde19 247652009-10-28 Felix Zielcke <fzielcke@z-51.de>
24766
24767 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24768 strings.
24769
cefabfe1 247702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24771
24772 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24773 variable.
24774 * Makefile.in: Likewise.
24775
ed96ab6d 247762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24779
0579b753 247802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24781
24782 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24783
478df409 247842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24785
24786 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24787
083d1679 247882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24789
24790 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24791 from here ...
24792 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24793
5947ae32 247942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24795
24796 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24797 in $(MAKEINFO) invocation. This makes it clear in output that
24798 errors are being ignored.
24799
94180ff6 248002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24801
24802 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24803 from here ...
24804 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24805 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24806 * conf/i386-ieee1275.rmk: Likewise.
24807 * conf/i386-pc.rmk: Likewise.
24808 * conf/powerpc-ieee1275.rmk: Likewise.
24809 * conf/sparc64-ieee1275.rmk: Likewise.
24810 * conf/x86_64-efi.rmk: Likewise.
24811
9031b03a 248122009-10-26 Colin Watson <cjwatson@ubuntu.com>
24813
24814 * util/grub-editenv.c (main): If only a command is given, use
24815 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24816 (usage): FILENAME is now optional and has a default.
24817
e4f6809b 248182009-10-26 Colin Watson <cjwatson@ubuntu.com>
24819
24820 Improve grub-mkconfig performance when there are several menu
24821 entries on a single filesystem.
24822
24823 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24824 prepare_grub_to_access_device.
24825 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24826 * util/grub.d/30_os-prober.in: Likewise.
24827
67937d4d 248282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24829
24830 * util/grub.d/10_freebsd.in: Remove.
24831 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24832 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24833
ee3756cc 248342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24835
5c35048e 24836 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24837
4dea1c6f 248382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24839
24840 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24841 grub_util_error() call.
24842
042484d7 248432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24844
24845 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24846 `reserved_first_sector' member.
24847 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24848 `reserved_first_sector' to 1.
24849 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24850 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24851 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24852 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24853 filesystems which begin at first sector.
24854 (options): New option --skip-fs-probe.
24855 (main): Handle --skip-fs-probe and pass it to setup().
24856
d64448a7 248572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24858
24859 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24860 (memset): Fix function prototype.
24861
508d42ec 248622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
248632009-10-25 Vasily Averin <vvs@parallels.com>
24864
24865 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24866 `dirent.direntlen == 0'.
24867
b240e30c 248682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24869
24870 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24871 `cpio'.
24872 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24873
346e7fbe 248742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24875
24876 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24877 `__trampoline_setup' and `__ucmpdi2'.
24878 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24879 that libgcc provides.
24880
cdb308b0 248812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24882
24883 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24884 * include/grub/sparc64/libgcc.h (memset): Likewise.
24885 * include/grub/misc.h (memset, memcmp): New function prototypes.
24886
fb26abc2 248872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24890 `cpio'.
24891 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24892
f6693890 248932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24894
24895 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24896 * docs/grub.cfg: Compensate for recent change in multiboot
24897 loader (since 2009-08-14 it won't pass filename to payload).
24898 * util/grub.d/10_hurd.in: Likewise.
24899
0933cdc0 249002009-10-21 Felix Zielcke <fzielcke@z-51.de>
24901
24902 * config.guess: Update to latest version from config git
24903 repository.
24904 * config.sub: Likewise.
24905
3b2fe8c2 249062009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24907
24908 Fix build on sparc64.
24909
24910 * configure.ac: Perform checks for libgcc symbols before
24911 adding `-nostdlib' to LDFLAGS.
24912
46695a62 249132009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 Let user specify OpenBSD root device.
24916
24917 * loader/i386/bsd.c (openbsd_root): New variable.
24918 (openbsd_opts): New option 'root'.
24919 (OPENBSD_ROOT_ARG): New macro.
24920 (grub_openbsd_boot): Use 'openbsd_root'.
24921 (grub_cmd_openbsd): Fill 'openbsd_root'.
24922
d2b6b7fc 249232009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24924
24925 * NEWS: Misc adjustments.
24926
421bd7ac 249272009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24930
f1d29d87 249312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24932
24933 * configure.ac: Bump version to 1.97.
24934
6f3cd880 249352009-10-16 Colin Watson <cjwatson@ubuntu.com>
24936
24937 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24938 -mno-3dnow on x86 architectures. Some toolchains enable these
24939 features by default, but they rely on registers that aren't enabled
24940 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24941
035f7122 249422009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24943
24944 Make entry text a bit more readable.
24945
24946 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24947
44998e58 249482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24949
24950 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24951
cd2851b3 249522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24955 operations.
24956
c6f3b249 249572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * configure.ac: Add missing dollar.
24960
6b5886ba 249612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24964
24965 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24966 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24967 exports.
24968 * include/grub/sparc64/libgcc.h: Likewise. Use
24969 preprocessor conditionals.
24970
e9d66f6d 249712009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24972
24973 * conf/common.rmk (grub-dumpbios): Remove rule.
24974 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24975 * util/grub-dumpbios.in: Remove file.
24976
9155bc17 249772009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24978
24979 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24980 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24981
24982 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24983 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24984 users.
24985
24986 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24987 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24988 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24989 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24990 users.
24991
bf7f7a18 249922009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24993
24994 * term/tparm.c: Switch to GPLv3.
24995
86564c26 249962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24997
24998 * include/grub/i386/cpuid.h: Add header protection.
24999
5c936493 250002009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25001
25002 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25003
25004 * include/grub/i386/cpuid.h: New file.
25005 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25006 (has_longmode): Rename to ...
25007 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25008 `static' attribute.
25009 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25010 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25011 on a CPU that doesn't implement AMD64 instruction set.
25012
186e7cf2 250132009-10-06 Colin Watson <cjwatson@ubuntu.com>
25014
25015 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25016 that version.texi is rebuilt on version number changes.
25017
83b65c4a 250182009-10-06 Colin Watson <cjwatson@ubuntu.com>
25019
25020 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25021 Fixes bug #27602.
25022
d244281c 250232009-10-06 Colin Watson <cjwatson@ubuntu.com>
25024
25025 * util/i386/pc/grub-install.in: Source
25026 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25027 that the --grub-probe option will work.
25028 * util/sparc64/ieee1275/grub-install.in: Likewise.
25029
da25306d 250302009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * configure.ac: Bump version to 1.97~beta4.
25033
e8ee83c0 250342009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25035
25036 Resync grub-mkdevicemap in x86_64-efi.
25037
25038 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25039 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25040 `util/devicemap.c'.
25041
50dcabcf 250422009-10-01 Colin Watson <cjwatson@ubuntu.com>
25043
25044 * util/grub-editenv.c (create_envblk_file): Write new block with a
25045 .new suffix and then rename it into place, to ensure atomic
25046 creation.
25047
0e51c3a7 250482009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25049
25050 Do not automatically install headers.
25051
25052 * Makefile.in (include_DATA): Remove. Update all users.
25053
31299a95 250542009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25055
25056 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25057 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25058
25059 * util/osdetect.lua: Remove.
25060 * script/lua/lauxlib.c: Likewise.
25061 * script/lua/ldebug.c: Likewise.
25062 * script/lua/grub_main.c: Likewise.
25063 * script/lua/lauxlib.h: Likewise.
25064 * script/lua/ldebug.h: Likewise.
25065 * script/lua/ltablib.c: Likewise.
25066 * script/lua/liolib.c: Likewise.
25067 * script/lua/lstrlib.c: Likewise.
25068 * script/lua/lualib.h: Likewise.
25069 * script/lua/ldo.c: Likewise.
25070 * script/lua/ldump.c: Likewise.
25071 * script/lua/ldo.h: Likewise.
25072 * script/lua/loslib.c: Likewise.
25073 * script/lua/lundump.c: Likewise.
25074 * script/lua/grub_lib.c: Likewise.
25075 * script/lua/ldblib.c: Likewise.
25076 * script/lua/lundump.h: Likewise.
25077 * script/lua/lmem.c: Likewise.
25078 * script/lua/grub_lib.h: Likewise.
25079 * script/lua/lmathlib.c: Likewise.
25080 * script/lua/lstate.c: Likewise.
25081 * script/lua/ltm.c: Likewise.
25082 * script/lua/lvm.c: Likewise.
25083 * script/lua/lmem.h: Likewise.
25084 * script/lua/lstate.h: Likewise.
25085 * script/lua/ltm.h: Likewise.
25086 * script/lua/ltable.c: Likewise.
25087 * script/lua/lvm.h: Likewise.
25088 * script/lua/llex.c: Likewise.
25089 * script/lua/lgc.c: Likewise.
25090 * script/lua/grub_lua.h: Likewise.
25091 * script/lua/loadlib.c: Likewise.
25092 * script/lua/lfunc.c: Likewise.
25093 * script/lua/lopcodes.c: Likewise.
25094 * script/lua/lparser.c: Likewise.
25095 * script/lua/ltable.h: Likewise.
25096 * script/lua/llex.h: Likewise.
25097 * script/lua/lgc.h: Likewise.
25098 * script/lua/lfunc.h: Likewise.
25099 * script/lua/lbaselib.c: Likewise.
25100 * script/lua/lopcodes.h: Likewise.
25101 * script/lua/lparser.h: Likewise.
25102 * script/lua/lzio.c: Likewise.
25103 * script/lua/linit.c: Likewise.
25104 * script/lua/lobject.c: Likewise.
25105 * script/lua/llimits.h: Likewise.
25106 * script/lua/lstring.c: Likewise.
25107 * script/lua/lzio.h: Likewise.
25108 * script/lua/lapi.c: Likewise.
25109 * script/lua/lcode.c: Likewise.
25110 * script/lua/lua.h: Likewise.
25111 * script/lua/lobject.h: Likewise.
25112 * script/lua/lstring.h: Likewise.
25113 * script/lua/lapi.h: Likewise.
25114 * script/lua/lcode.h: Likewise.
25115 * script/lua/luaconf.h: Likewise.
25116
cb8a2c38 251172009-09-26 Colin Watson <cjwatson@ubuntu.com>
25118
25119 * docs/grub.texi (Command-line and menu entry commands): Document
25120 date and echo commands.
25121
6b9b6276 251222009-09-24 Pavel Roskin <proski@gnu.org>
25123
25124 * include/grub/kernel.h (struct grub_module_header): Remove
25125 `grub_module_header_types'. Make `type' unsigned. Make `size'
25126 32-bit on all platforms.
25127 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25128 8-bit field. Use grub_host_to_target32() for `size'.
25129 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25130 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25131 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25132
4e5a02a7 251332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25134
25135 Fix "lost keypress" bug in at_keyboard.
25136
25137 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25138 Checks for readyness of input buffer (without flushing it).
25139 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25140 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25141
c6dcedf6 251422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25143
25144 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25145 size check within GRUB_MACHINE_PCBIOS section.
25146
74c958b1 251472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25148
25149 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25150 return value.
25151 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25152 KEYBOARD_ISREADY check.
25153 (grub_at_keyboard_checkkey): Rename to ...
25154 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25155 Remove gratuitous cast.
25156
ff420223 251572009-09-23 Colin Watson <cjwatson@ubuntu.com>
25158
25159 * configure.ac: Call AC_PROG_MKDIR_P.
25160 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25161 version.texi in $(builddir) rather than $(srcdir).
25162 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25163 to makeinfo's @include search path.
25164
d96875df 251652009-09-23 Felix Zielcke <fzielcke@z-51.de>
25166
25167 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25168
9b3f8365 251692009-09-23 Felix Zielcke <fzielcke@z-51.de>
25170
25171 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25172 for `*.dpkg-new'.
25173
c44c90db 251742009-09-21 Colin Watson <cjwatson@ubuntu.com>
25175
25176 Build info documentation. Some code borrowed from Automake.
25177
25178 * configure.ac: Check for makeinfo.
25179 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25180 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25181 docs/version.texi.
25182 (MOSTLYCLEANFILES): Add vti.tmp.
25183 (docs/version.texi, docs/stamp-vti): Update automatically.
25184 (docs/grub.info): Build info documentation. Use --force and ignore
25185 errors for now.
25186 (all-local): Add $(INFOS).
25187 (install-local): Install info files.
25188 (uninstall): Uninstall info files.
25189 * docs/version.texi: Remove from revision control. This file is
25190 automatically generated on build now.
25191 * gendistlist.sh: Add `*.info'.
25192
e0b37bb5 251932009-09-21 Felix Zielcke <fzielcke@z-51.de>
25194
25195 * kern/term.c: Fix indentation.
25196
5a78865b 251972009-09-21 Felix Zielcke <fzielcke@z-51.de>
25198
25199 * util/hostdisk.c: Fix a comment.
25200
dace7e8a 252012009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25202
25203 Fix regression introduced in r2539.
25204
25205 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25206 to 0xA1.
25207
a83d079b 252082009-09-19 Colin Watson <cjwatson@ubuntu.com>
25209
25210 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25211 os-prober. Under normal operation, it does not print anything to
25212 stderr; if it does, we need to debug it, and throwing away stderr
25213 makes that excessively difficult.
a83d079b 25214
be94a509 252152009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25216
25217 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25218
63f745e8 252192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25220
25221 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25222 AC_LANG_PROGRAM from autoconf.
25223 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25224 prototypes (fixes warning).
25225
25226 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25227 `--disable-werror' was used.
25228
bbb2a70f 252292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25230
25231 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25232 uninitialized `lastaddr'.
25233
77c24f1d 252342009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25235
0f0b8c87 25236 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25237
07197f23 252382009-09-14 Colin Watson <cjwatson@ubuntu.com>
25239
25240 * commands/test.c (get_fileinfo): Return immediately if
25241 grub_fs_probe fails.
25242
dabf1798 252432009-09-14 José Martínez <xosemp@gmail.com>
25244
25245 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25246
d52109a7 252472009-09-14 Colin Watson <cjwatson@ubuntu.com>
25248
25249 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25250 output.
25251
56532179 252522009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25253
25254 * configure.ac: Remove --enable-grub-pe2elf. Only build
25255 grub-pe2elf when needed by the build system itself.
25256 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25257
8ef070f5 252582009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25259
25260 * configure.ac: Bump version to 1.97~beta3.
25261 * docs/version.texi: Likewise.
25262
61229557 252632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25264
25265 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25266 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25267 from here ...
25268 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25269 (grub_linux_setup_video): ... to here (with some adjustments).
25270
5c9f8d84 252712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25272
25273 Fix memory corruption issue (spotted by Colin Watson).
25274
25275 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25276 causing returned size to be stored in an incorrect memory location.
25277 Fix use of uninitialized value when storing the returned size.
25278
e8f5d6e9 252792009-09-12 Yves Blusseau <blusseau@zetam.org>
25280
25281 Change clean rules to properly remove files
25282
25283 * genmk.rb: add new clean rules
25284 * Makefile.in (clean): add the new targets
25285 (mostlyclean): likewise
25286
cda2a409 252872009-09-11 Colin Watson <cjwatson@ubuntu.com>
25288
25289 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25290 to grub_uint64_t.
25291 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25292 non-resident files.
25293
86695375 252942009-09-11 Colin Watson <cjwatson@ubuntu.com>
25295
25296 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25297 part of bug #27349.
25298
8aa1541a 252992009-09-10 Felix Zielcke <fzielcke@z-51.de>
25300
25301 * util/grub-mkconfig.in: Make the created config mode 400 and
25302 print a warning if it fails.
25303
48d9bb0a 253042009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25305
25306 * util/grub.d/40_custom.in: Ask user to type custom entries below
25307 comment, rather than below 'exec tail' line.
25308
3b0521be 253092009-09-10 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25312 visible in grub.cfg.
25313
50051d55 253142009-09-10 Colin Watson <cjwatson@ubuntu.com>
25315
25316 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25317 file.
25318
c0d34387 253192009-09-10 Felix Zielcke <fzielcke@z-51.de>
25320
25321 * docs/grub.cfg: Add an example menu entry for memtest86+.
25322
80a608f3 253232009-09-09 Felix Zielcke <fzielcke@z-51.de>
25324
a2094832 25325 * config.guess: Update to latest version from config git.
80a608f3 25326 * config.sub: Likewise.
25327
99423078 253282009-09-08 Colin Watson <cjwatson@ubuntu.com>
25329
25330 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25331 unknown-command case. Fixes bug #27320.
25332
44454e4c 253332009-09-08 Felix Zielcke <fzielcke@z-51.de>
25334
25335 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25336 `help' if the command exists.
25337
e30d87ad 253382009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25339
25340 * INSTALL: Require GCC 4.1.3 or later.
25341
9a86f1ec 253422009-09-06 Yves Blusseau <blusseau@zetam.org>
25343
25344 * Makefile.in (RMKFILES): add i386-qemu.rmk
25345 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25346 $(srcdir)/stamp-h.in
25347
7f26d466 253482009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25349
25350 * util/grub-probe.c (probe): Comment out buggy codepath, which
25351 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25352 should be re-enabled after 1.97.
25353
3a613259 253542009-09-05 Felix Zielcke <fzielcke@z-51.de>
25355
25356 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25357 find searches for.
25358
197f76c7 253592009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25362 unnecessary calls to grub_error.
25363
70ba68ce 253642009-09-04 Colin Watson <cjwatson@ubuntu.com>
25365
25366 * NEWS: Mention `keystatus' and Unicode fonts.
25367
4ff0d7a4 253682009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25369
25370 * configure.ac: Bump version to 1.97~beta2.
25371 * docs/version.texi: Likewise.
25372
77c55a87 253732009-09-03 Colin Watson <cjwatson@ubuntu.com>
25374
25375 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25376 containing unwind information in some cases where it previously did
25377 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25378 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25379 discussion.
25380
f79572cd 253812009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25382
25383 Embedding loadenv module into grub-emu
25384
25385 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25386 commands/loadenv.c
25387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25392 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25393
93a81088 253942009-09-03 Magnus Granberg <zorry@ume.nu>
25395
25396 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25397 include -fPIE in the default specs.
25398 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25399 to TARGET_CFLAGS.
25400
160034b2 254012009-09-03 Felix Zielcke <fzielcke@z-51.de>
25402
25403 * INSTALL: Note that GNU Bison 2.3 or later is required.
25404
087c07c4 254052009-09-03 Colin Watson <cjwatson@ubuntu.com>
25406
25407 * kern/i386/pc/startup.S: Fix typo.
25408
cbf978c0 254092009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25412 according to GCS.
25413
254142009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25415
25416 * docs/grub.texi (Naming convention): Describe one-based partition
25417 numbering.
25418 (Device syntax): Likewise.
25419 (File name syntax): Likewise.
25420 (Block list syntax): Likewise.
25421 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25422 menu.lst.
25423 (File name syntax): Likewise.
25424 (Command-line and menu entry commands): Document acpi, blocklist,
25425 crc, export, insmod, keystatus, ls, set, and unset commands.
25426
f3e8cdfd 254272009-09-02 Colin Watson <cjwatson@ubuntu.com>
25428
25429 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25430 to avoid implying that only one of --shift, --ctrl, or --alt may be
25431 used.
25432
c0bc232b 254332009-09-02 Colin Watson <cjwatson@ubuntu.com>
25434
25435 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25436 rather than comparing against S_IFREG, which will almost never work.
25437
aa0f752d 254382009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25439
25440 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25441 (write_blocklists): Likewise.
25442
ecb3166a 254432009-09-01 Colin Watson <cjwatson@ubuntu.com>
25444
25445 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25446 argument to grub_printf.
25447
c403a125 254482009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25449
25450 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25451 non GNU test.
31aba781 25452
b5e7312c 254532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25454
25455 * kern/file.c (grub_file_read): Spelling fix
25456
fe00f472 254572009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25458
25459 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25460 loading of headers in some cases.
25461
cc55302e 254622009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25463
25464 * configure.ac: Bump version to 1.97~beta1.
25465 * docs/version.texi: Likewise.
25466
5c90cdd2 254672009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25468
25469 * include/grub/i386/xnu.h: Add license header.
25470 include grub/err.h explicitly.
25471
c90edae4 254722009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25473
25474 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25475 to `ufs' in the vfs.root.mountfrom kernel parameter.
25476
d8888b5c 254772009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25478
25479 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25480
25481 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25482 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25483
25484 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25485 `ARRAY_SIZE' macro.
25486
6f07b921 254872009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25488
25489 * kern/file.c (grub_file_read): Check offset.
25490 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25491 * fs/jfs.c (grub_jfs_read_file): Likewise.
25492 * fs/ntfs.c (grub_ntfs_read): Likewise.
25493 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25494 * fs/minix.c (grub_minix_read_file): Correct offset check.
25495 * fs/ufs.c (grub_ufs_read_file): Likewise.
25496
b4f34077 254972009-08-28 Colin Watson <cjwatson@ubuntu.com>
25498
25499 * term/i386/pc/console.c (bios_data_area): Cast
25500 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25501
e7c69859 255022009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 1-bit optimised blitters.
25505
25506 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25507 prototype.
25508 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25509 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25510 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25511 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25512 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25513 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25514 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25515 function.
25516 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25517 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25518 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25519 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25520 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25521 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25522 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25523 when possible.
25524 * video/video.c (grub_video_get_blit_format): Return
25525 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25526
a57da43f 255272009-08-28 Colin Watson <cjwatson@ubuntu.com>
25528
25529 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25530 the first argument to grub_printf.
25531
4cbe67e5 255322009-08-28 Colin Watson <cjwatson@ubuntu.com>
255332009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25534
25535 Add `getkeystatus' terminal method. Add a new `keystatus' command
25536 to query it.
25537
25538 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25539 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25540 modifier key bitmasks.
25541 (struct grub_term_input): Add `getkeystatus' member.
25542 (grub_getkeystatus): Add prototype.
25543 * kern/term.c (grub_getkeystatus): New function.
25544
25545 * include/grub/i386/pc/memory.h
25546 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25547 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25548 Data Area layout.
25549 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25550 (grub_console_term_input): Set `getkeystatus' member.
25551 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25552 constants.
25553 (grub_usb_keyboard_getreport): Likewise.
25554 (grub_usb_keyboard_checkkey): Likewise.
25555 (grub_usb_keyboard_getkeystatus): New function.
25556 (grub_usb_keyboard_term): Set `getkeystatus' member.
25557
25558 * commands/keystatus.c: New file.
25559 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25560 (keystatus_mod_SOURCES): New variable.
25561 (keystatus_mod_CFLAGS): Likewise.
25562 (keystatus_mod_LDFLAGS): Likewise.
25563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25564 commands/keystatus.c.
25565 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25570 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25571
6e2a9085 255722009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25573
25574 Split befs.mod and afs.mod into *_be.mod and *.mod
25575
25576 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25577 (grub_fstest_SOURCES): Likewise.
25578 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25579 (afs_be_mod_SOURCES): New variable.
25580 (afs_be_mod_CFLAGS): Likewise.
25581 (afs_be_mod_LDFLAGS): Likewise.
25582 (befs_be_mod_SOURCES): Likewise.
25583 (befs_be_mod_CFLAGS): Likewise.
25584 (befs_be_mod_LDFLAGS): Likewise.
25585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25586 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25588 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25589 (grub_emu_SOURCES): Likewise.
25590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25593 * fs/afs_be.c: New file.
25594 * fs/befs_be.c: New file.
25595 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25596 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25597 (U16): Replaced with ...
25598 (grub_afs_to_cpu16): ...this. All users updated.
25599 (U32): Replaced with ...
25600 (grub_afs_to_cpu32): ...this. All users updated.
25601 (U64): Replaced with ...
25602 (grub_afs_to_cpu64): ...this. All users updated.
25603 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25604 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25605 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25606 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25607 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25608 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25609 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25610 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25611 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25612 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25613 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25614
32a71655 256152009-08-26 Bean <bean123ch@gmail.com>
25616
25617 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25618 64-bit number.
25619 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25620 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25621 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25622
552bf6c5 256232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 NetBSD memory map support.
25626
25627 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25628 (grub_netbsd_btinfo_mmap_header): New structure.
25629 (grub_netbsd_btinfo_mmap_entry): Likewise.
25630 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25631
1ae2078c 256322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25633
25634 Enable bsd.mod on coreboot.
25635
25636 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25637 (bsd_mod_SOURCES): New variable.
25638 (bsd_mod_CFLAGS): Likewise.
25639 (bsd_mod_LDFLAGS): Likewise.
25640 (bsd_mod_ASFLAGS): Likewise.
25641 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25642 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25643
beefc598 256442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 Cleanup NetBSD root support.
25647
25648 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25649 grub_bsd_get_device.
25650 Fix typo.
25651
3b76e68b 256522009-08-25 Felix Zielcke <fzielcke@z-51.de>
25653
25654 * util/grub.d/00_header.in: Move check for the video backend of
25655 gfxterm from here ...
25656 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25657 a suitable video backend.
25658
aea664ea 256592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25660
25661 Fix breakage in grub-setup.
25662
25663 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25664 "msdos_partition_map".
25665
ff747d50 256662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25667
25668 Fix breakage in normal/auth.c.
25669
25670 * normal/auth.c (grub_iswordseparator): New function.
25671
e7e1f93f 256722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25673
25674 Authentication support.
25675
25676 * commands/password.c: New file.
25677 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25678 (password_mod_SOURCES): New variable.
25679 (password_mod_CFLAGS): Likewise.
25680 (password_mod_LDFLAGS): Likewise.
25681 (normal_mod_SOURCES): Add normal/auth.c.
25682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25683 normal/auth.c.
25684 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25686 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25690 * include/grub/auth.h: New file.
25691 * include/grub/err.h (grub_err_t): New enum value
25692 GRUB_ERR_ACCESS_DENIED.
25693 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25694 'users'.
25695 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25696 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25697 users updated.
25698 * normal/auth.c: New file.
25699 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25700 (grub_cmdline_run): Don't allow to go to command line without
25701 authentication.
25702 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25703 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25704 menuentry without superuser rights.
25705 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25706 user isn't a superuser.
25707
70f1161d 257082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25709
25710 Save space by inlining misc.c functions.
25711
25712 * kern/misc.c (grub_iswordseparator): Made static.
25713 * kern/misc.c (grub_strcat): Moved from here ...
25714 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25715 * kern/misc.c (grub_strncat): Moved from here ...
25716 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25717 * kern/misc.c (grub_strcasecmp): Moved from here ...
25718 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25719 * kern/misc.c (grub_strncasecmp): Moved from here ...
25720 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25721 * kern/misc.c (grub_isalpha): Moved from here ...
25722 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25723 * kern/misc.c (grub_isdigit): Moved from here ...
25724 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25725 * kern/misc.c (grub_isgraph): Moved from here ...
25726 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25727 * kern/misc.c (grub_tolower): Moved from here ...
25728 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25729
48e40bff 257302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25731
25732 * script/sh/function.c (grub_script_function_find): Cut error message
25733 not to flood terminal.
25734 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25735 limit.
25736 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25737
c385bfc3 257382009-08-24 Colin Watson <cjwatson@ubuntu.com>
25739
25740 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25741 `report' grub_uint8_t *.
25742 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25743 Use a 50-millisecond timeout rather than just repeating
25744 grub_usb_keyboard_getreport 50 times.
25745 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25746
2d21e3e8 257472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25748
25749 Rename *_partition_map to part_*
25750
25751 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25752 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25753 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25754 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25755 All users updated.
25756 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25757 All users updated.
25758 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25759 * util/grub-probe.c (probe_partmap): Don't transform partition name
25760 to get module name.
25761
dd103c4e 257622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25763
25764 Fix OpenBSD and NetBSD support.
25765
25766 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25767 memory address conflict.
25768 (OPENBSD_MMAP_ACPI): New definition.
25769 (OPENBSD_MMAP_NVS): Likewise.
25770 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25771 and OPENBSD_MMAP_NVS.
25772 Add memory map terminator
25773 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25774 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25775
16c84d74 257762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 Let user specify NetBSD root device.
25779
25780 * loader/i386/bsd.c (netbsd_root): New variable.
25781 (netbsd_opts): New option 'root'.
25782 (NETBSD_ROOT_ARG): New macro.
25783 (grub_netbsd_boot): Use 'netbsd_root'.
25784 (grub_bsd_unload): Free 'netbsd_root'.
25785 (grub_cmd_netbsd): Fill 'netbsd_root'.
25786
adb29902 257872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25788
25789 Support for 64-bit NetBSD.
25790
25791 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25792 point when booting non-FreeBSD.
25793
f5ae9f74 257942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25795
25796 Support --no-smp and --no-acpi for NetBSD.
25797
25798 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25799 (NETBSD_AB_NOACPI): Likewise.
25800 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25801 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25802
de74f136 258032009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25804
25805 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25806 errors.
25807 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25808 errors. Call grub_error when needed.
25809
e9a925da 258102009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25811
25812 * commands/search.c (search_fs): Try searching without autoload first.
25813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25814 filesystem module explicitly for faster booting.
25815
5174302b 258162009-08-23 Colin Watson <cjwatson@ubuntu.com>
25817
25818 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25819
c8c80635 258202009-08-23 Colin Watson <cjwatson@ubuntu.com>
25821
25822 * util/grub.d/30_os-prober.in: Disable os-prober if
25823 `GRUB_DISABLE_OS_PROBER' was set to true.
25824
71acf5e5 258252009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25826
25827 * partmap/pc.c: Rename to ...
25828 * partmap/msdos.c: ... this. Update all users.
25829 (grub_pc_partition_map): Rename to ...
25830 (grub_msdos_partition_map): ... this. Update all users.
25831
25832 * parttool/pcpart.c: Rename to ...
25833 * parttool/msdospart.c: ... this. Update all users.
25834
25835 * include/grub/pc_partition.h: Rename to ...
25836 * include/grub/msdos_partition.h: ... this. Update all users.
25837 (grub_pc_partition_bsd_entry): Rename to ...
25838 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25839 (grub_pc_partition_disk_label): Rename to ...
25840 (grub_msdos_partition_disk_label): ... this. Update all users.
25841 (grub_pc_partition_entry): Rename to ...
25842 (grub_msdos_partition_entry): ... this. Update all users.
25843 (grub_pc_partition_mbr): Rename to ...
25844 (grub_msdos_partition_mbr): ... this. Update all users.
25845 (grub_pc_partition): Rename to ...
25846 (grub_msdos_partition): ... this. Update all users.
25847 (grub_pc_partition_is_empty): Rename to ...
25848 (grub_msdos_partition_is_empty): ... this. Update all users.
25849 (grub_pc_partition_is_extended): Rename to ...
25850 (grub_msdos_partition_is_extended): ... this. Update all users.
25851 (grub_pc_partition_is_bsd): Rename to ...
25852 (grub_msdos_partition_is_bsd): ... this. Update all users.
25853
25854 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25855 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25856 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25857 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25858 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25859 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25860 (gpt_mod_LDFLAGS): Rename to ...
25861 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25862 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25863 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25864 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25865 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25866 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25867 (part_gpt_mod_LDFLAGS): ... this.
25868 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25869 `pcpart.mod' to `msdospart.mod'.
25870 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25871 to ...
25872 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25873 (msdospart_mod_LDFLAGS): ... this.
25874
c11fded5 258752009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25878 (openbsd_opts): Likewise.
25879 (netbsd_opts): Likewise.
25880 (freebsd_flags): Added 0 terminator.
25881 (openbsd_flags): Likewise.
25882 (netbsd_flags): Likewise.
25883 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25884 (grub_cmd_freebsd): Transformed into extended command.
25885 (grub_cmd_openbsd): Likewise.
25886 (grub_cmd_netbsd): Likewise.
25887 (cmd_freebsd): Changed type to grub_extcmd_t.
25888 (cmd_openbsd): Likewise.
25889 (cmd_netbsd): Likewise.
25890 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25891 grub_cmd_openbsd as extended commands.
25892 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25893 cmd_netbsd and cmd_openbsd
25894
11d1c769 258952009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25896
25897 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25898
7a9094e5 258992009-08-21 Pavel Roskin <proski@gnu.org>
25900
5496c37e 25901 * Makefile.in (install-local): When checking if a file is in the
25902 build directory, use "test -e" to detect symlinks.
25903
7a9094e5 25904 * Makefile.in (install-local): Remove all files in
25905 $(DESTDIR)$(pkglibdir) before installing new files there.
25906
e53cea11 259072009-08-18 Felix Zielcke <fzielcke@z-51.de>
25908
25909 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25910 grub-mkelfimage.
25911
9aced544 259122009-08-18 Felix Zielcke <fzielcke@z-51.de>
25913
25914 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25915 explicitly specified by the user.
25916
b7da6bab 259172009-08-18 Pavel Roskin <proski@gnu.org>
25918
25919 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25920 grub_uint8_t pointer for data.
25921 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25922 Likewise.
25923 * video/fb/fbutil.c: Remove unnecessary casts.
25924
19f1b335 259252009-08-17 Michal Suchanek <hramrach@centrum.cz>
25926
25927 VBE cleanup.
25928
25929 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25930 (grub_vbe_set_video_mode): Save active mode info
25931 only after setting the mode.
25932 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25933 second argument.
25934
2f467aa9 259352009-08-17 Michal Suchanek <hramrach@centrum.cz>
25936
25937 Rename variables for clarity.
25938
25939 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25940 (active_vbe_mode_info): ... this. All users updated.
25941 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25942 All users updated.
25943 (initial_mode): Rename to ...
25944 (initial_vbe_mode): ... this. All users updated.
25945 (mode_in_use): Rename to ..
25946 (vbe_mode_in_use): ... this. All users updated.
25947 (mode_list): Rename to ..
25948 (vbe_mode_list): ... this. All users updated.
25949 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25950 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25951 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25952 'mode_list_size' to 'vbe_mode_list_size'.
25953 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25954 'best_mode_info' to 'best_vbe_mode_info' and
25955 'best_mode' to 'best_vbe_mode'
25956
6025fcd7 259572009-08-17 Michal Suchanek <hramrach@centrum.cz>
25958
25959 Remove duplicate grub_video_fb_get_video_ptr.
25960
25961 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25962 (grub_video_fb_get_video_ptr): ... this.
25963 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25964 * video/fb/fbutil.c: Add comment about addressing.
25965 (get_data_ptr): Rename to ...
25966 (grub_video_fb_get_video_ptr): ... this. All users updated.
25967 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25968
cc8c6faf 259692009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25970
25971 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25972 grub_dprintf() that was just added.
25973
08aa61f0 259742009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25975
25976 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25977 (DEFAULT_VIDEO_MODE): Remove macros.
25978 (grub_linux_boot): Remove assumption that Linux has FB support,
25979 and use "text" as default video mode.
25980
7cef4f75 259812009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25984 grub_dprintf.
25985 * fs/fat.c (grub_fat_read_data): Likewise.
25986
e1f39873 259872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25988
25989 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25990 payload.
25991 (grub_module): Likewise.
25992
c166d79e 259932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25996 mbi->cmdline but free playground.
25997
c60cee8e 259982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 Handle group offset on UFS1.
26001
26002 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26003 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26004
c0d8b5d4 260052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26006
26007 Split ufs.mod into ufs1.mod and ufs2.mod.
26008
26009 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26010 (grub_fstest_SOURCES): Likewise.
26011 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26012 (ufs_mod_SOURCES): Remove.
26013 (ufs_mod_CFLAGS): Likewise.
26014 (ufs_mod_LDFLAGS): Likewise.
26015 (ufs1_mod_SOURCES): New variable.
26016 (ufs1_mod_CFLAGS): Likewise.
26017 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26018 (ufs2_mod_SOURCES): New variable.
26019 (ufs2_mod_CFLAGS): Likewise.
26020 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26022 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26023 Likewise.
26024 (grub_emu_SOURCES): Likewise.
26025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26026 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26027 (grub_setup_SOURCES): Likewise.
26028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26029 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26030 (grub_setup_SOURCES): Likewise.
26031 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26032 Likewise.
26033 * fs/ufs2.c: New file.
26034 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26035
d3539132 260362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26037
26038 Framebuffer split.
26039
26040 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26041 subsystem at the end.
26042 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26043 (video_fb_mod_SOURCES): New variable.
26044 (video_fb_mod_CFLAGS): Likewise.
26045 (video_fb_mod_LDFLAGS): Likewise.
26046 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26047 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26048 * video/i386/pc/vbeblit.c: Moved from here ...
26049 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26050 * video/i386/pc/vbefill.c: Moved from here ...
26051 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26052 * video/i386/pc/vbeutil.c: Moved from here ...
26053 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26054 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26055 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26056 * include/grub/i386/pc/vbefill.h: Moved from here ...
26057 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26058 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26059 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26060 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26061 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26062 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26063 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26064 (grub_video_adapter): Added 'get_info_and_fini'.
26065 (grub_video_get_info_and_fini): New prototype.
26066 (grub_video_set_mode): make modestring const char *.
26067 * loader/i386/linux.c (grub_linux_setup_video): Use
26068 grub_video_get_info_and_fini.
26069 (grub_linux_boot): Move modesetting just before booting.
26070 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26071 grub_video_get_info_and_fini.
26072 * video/i386/pc/vbe.c: Moved framebuffer part ...
26073 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26074 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26075 grub_video_fbstd_colors and grub_video_fb_set_palette.
26076 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26077 grub_video_fb_init.
26078 (grub_video_vbe_fini): Use grub_video_fb_fini.
26079 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26080 render_target and use grub_video_fb_set_active_render_target and
26081 grub_video_fb_set_palette.
26082 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26083 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26084 (grub_video_vbe_adapter): Use framebuffer.
26085 * video/video.c (grub_video_get_info_and_fini): New function.
26086 (grub_video_set_mode): Make modestring const char *.
26087 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26088 values are already initialised.
26089
d404ee56 260902009-08-14 Pavel Roskin <proski@gnu.org>
26091
26092 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26093 ABS and APPLE_CC.
26094 * boot/i386/pc/diskboot.S: Likewise.
26095 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26096 sectors allow compilation on MacOSX.
26097 * conf/i386-pc.rmk: Enable unconditional compilation of
26098 lnxboot.img.
26099
9a10df16 261002009-08-13 Colin Watson <cjwatson@ubuntu.com>
26101
26102 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26103 * util/grub.d/00_header.in: Enter interruptible sleep if
26104 GRUB_HIDDEN_TIMEOUT is set.
26105
be3c9ca7 261062009-08-13 Yves Blusseau <blusseau@zetam.org>
26107
26108 * include/grub/symbol.h: Add the LOCAL macro.
26109 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26110 starting with "L_".
26111
1f9e557e 261122009-08-13 Pavel Roskin <proski@gnu.org>
26113
9ca62843 26114 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26115 any modern compilers we support.
26116
1f9e557e 26117 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26118 Use local labels starting with "L_" so that Apple assembler
26119 knows they are local.
26120
81623db6 261212009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26122
26123 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26124 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26125 (bsd_kernel_types): ... this enum.
26126
26127 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26128 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26129 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26130
26131 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26132 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26133 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26134 messages.
26135
f5d35e7a 261362009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26137
26138 * util/grub-dumpdevtree: Moved from here ...
26139 * util/i386/efi/grub-dumpdevtree: ... to here.
26140 (hexify): New function. Converts a string to its hex version.
26141 Generate hex versions of "efi" and "device-properties" by calling
26142 hexify() on the ASCII strings rather than by hardcoding numbers.
26143
d1e1d527 261442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26145
26146 * fs/jfs.c: Update copyright year.
26147
1ebbe064 261482009-08-08 Felix Zielcke <fzielcke@z-51.de>
26149
26150 * util/grub.d/00_header.in: Fix a comment.
26151 * util/grub.d/10_linux.in: Likewise.
26152 * util/grub.d/10_windows.in: Likewise.
26153 * util/grub.d/10_hurd.in: Likewise.
26154
a78c8d24 261552009-08-08 Felix Zielcke <fzielcke@z-51.de>
26156
26157 * util/grub-mkconfig.in: Allow the user to specify the used font
26158 with GRUB_FONT.
26159
29a6b9e8 261602009-08-08 Pavel Roskin <proski@gnu.org>
26161
b5f16cc4 26162 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26163 available, xfs.mod needs it now.
26164
2f5cb827 26165 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26166 the "g" modifier in sed when the intention is to strip something
26167 once. This fixes comparison of kernels with multiple dashes.
26168
29a6b9e8 26169 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26170 on it. Add missing space before closing bracket. Fix
26171 misleading formatting.
26172
892a3d98 261732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26174
26175 * docs/grub.texi: Major overhaul. Remove all sections that are
26176 specific to GRUB Legacy, or mostly composed of Legacy-specific
26177 information.
26178
ed94253f 261792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26180
26181 * docs/version.texi: New file. Provides version information for
26182 grub.texi.
26183
126d6628 261842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26185
26186 * docs/grub.texi: Update CVS information to SVN.
26187 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26188
998b5aa9 261892009-08-07 Felix Zielcke <fzielcke@z-51.de>
26190
26191 * util/grub-mkconfig.in: Remove a wrong `fi'.
26192
818e094a 261932009-08-07 Felix Zielcke <fzielcke@z-51.de>
26194
26195 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26196 (grub_jfs_uuid): New function.
26197 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26198
b969c52f 261992009-08-07 Felix Zielcke <fzielcke@z-51.de>
26200
26201 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26202 of it to ...
26203 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26204 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26205
7a4894cc 262062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26207
26208 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26209 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26210 Update all users.
26211
26212 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26213 not just "vmlinu[zx]".
26214 Moved from here ...
26215 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26216 all users.
26217
26218 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26219 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26220 all users.
26221
4e2171f8 262222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * util/grub.d/10_freebsd.in: Use an absolute device path for
26225 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26226
6dcfcb32 262272009-08-06 Felix Zielcke <fzielcke@z-51.de>
26228
26229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26230 handling of multiple abstraction modules.
26231
f56a8756 262322009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26233
26234 Fix a bug resulting in black screen when loading Linux using a
26235 packed video mode.
26236
26237 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26238 function.
26239
26240 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26241 (grub_vbe_bios_getset_dac_palette_width): New function.
26242 (grub_vbe_bios_get_dac_palette_width)
26243 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26244 grub_vbe_bios_getset_dac_palette_width()).
26245
26246 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26247 check for return status.
26248 (grub_vbe_get_video_mode_info): When getting information for a packed
26249 mode (<= 8 bpp), obtain DAC palette width using
26250 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26251 {red,green,blue}_mark_size.
26252
222671b2 262532009-08-04 Felix Zielcke <fzielcke@z-51.de>
26254
ecb1a6d9 26255 * commands/search.c (options): Fix help output to match actual code.
222671b2 26256
f84114f5 262572009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26260 of homegrown code.
26261
bd288a20 262622009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26263
26264 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26265 on XFS or ReiserFS.
26266
8aab5e25 262672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 Support Apple partition map with sector size different from 512 bytes.
26270
26271 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26272 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26273 and 'apart.partmap_size'.
26274
6ad6258a 262752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
262762009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26277
26278 Fix cpuid command.
26279
26280 * commands/i386/cpuid.c (options): New variable.
26281 (grub_cmd_cpuid): Return real error.
26282 (GRUB_MOD_INIT(cpuid)): Declare options.
26283
67459bc6 262842009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26285
26286 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26287 valid.
26288
fbc6ab54 262892009-07-31 Bean <bean123ch@gmail.com>
26290
26291 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26292 log2_inode.
26293 (grub_fshelp_node): Move inode field to the end.
26294 (grub_xfs_data): Remove inode field.
26295 (grub_xfs_inode_block): Calculate inode size using sblock.
26296 (grub_xfs_inode_offset): Likewise.
26297 (grub_xfs_read_inode): Calculate inode size using sblock.
26298 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26299 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26300 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26301 to match inode size.
26302 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26303 not accessible when data is null.
26304 (grub_xfs_open): Likewise.
26305
f45d6cfc 263062009-07-31 Bean <bean123ch@gmail.com>
26307
26308 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26309 Don't change pv->disk if it's already set.
26310
26311 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26312 (grub_raid_register): ... here.
26313 (grub_raid_rescan): Removed.
26314
26315 * include/grub/raid.h (grub_raid_rescan): Removed.
26316
26317 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26318 (fstest): Replace grub_raid_rescan with module fini function followed
26319 by init function.
26320
26321 * util/grub-probe.c: Add include file <grub/raid.h>.
26322 (probe_raid_level): New function.
26323 (probe): Detect abstraction by walking the disk device, support two
26324 level of abstraction (LVM on RAID) when detecting partition map.
26325
24443b5a 263262009-07-31 Pavel Roskin <proski@gnu.org>
26327
26328 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26329 to grub_zalloc(), it was erroneous.
26330 Reported by Bean <bean123ch@gmail.com>
26331
a275d9e7 263322009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26335 embedding zone, not only the first one.
a275d9e7 26336
56c5a47f 263372009-07-29 Joe Auricchio <jauricchio@gmail.com>
26338
26339 * term/gfxterm.c (clear_char): New function.
26340 (grub_virtual_screen_setup): Use clear_char.
26341 (scroll_up): Likewise.
26342 (grub_virtual_screen_cls): Likewise.
26343
67bb323a 263442009-07-29 Felix Zielcke <fzielcke@z-51.de>
26345
26346 * util/deviceiter.c (get_acceleraid_disk_name): New static
26347 function.
26348 (grub_util_iterate_devices): Handle Accelraid devices.
26349 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26350
388a7c75 263512009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26352
26353 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26354 separator for the suggested gfxpayload string (';' collides with the
26355 parser and needs escaping).
26356
3bb7abcf 263572009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26358
26359 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26360 Clear direction flag before jumping to OS.
26361 (grub_multiboot2_real_boot): Likewise.
26362
2ddd36d7 263632009-07-28 Felix Zielcke <fzielcke@z-51.de>
26364
26365 * util/i386/pc/grub-install: Fix parsing of --disk-module
26366 option.
26367
c521b62b 263682009-07-28 Felix Zielcke <fzielcke@z-51.de>
26369
26370 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26371 when embedding.
26372
880e0a0c 263732009-07-26 Felix Zielcke <fzielcke@z-51.de>
26374
26375 * util/grub-mkconfig.in (package_version): New variable.
26376 Use it do display the version.
26377
2366e356 263782009-07-25 Felix Zielcke <fzielcke@z-51.de>
26379
26380 * kern/file.c (grub_file_open): Revert to previous check with
26381 grub_errno.
26382
7ad8c80e 263832009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26384
26385 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26386 from help line. It's out of sync with code.
26387
72b9658b 263882009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26391 entries on failed boot.
26392
77435277 263932009-07-25 Felix Zielcke <fzielcke@z-51.de>
26394
26395 * kern/file.c (grub_file_open): Fix an error check.
26396
fcaa8b21 263972009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26398
35d16c74 26399 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26400 partition map couldn't be identified.
fcaa8b21 26401
48904cd1 264022009-07-23 Pavel Roskin <proski@gnu.org>
26403
ef3c317f 26404 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26405 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26406 case of little endian words becomes just an optimization.
26407 Respect const modifier.
ad8ea1f4 26408 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26409
48904cd1 26410 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26411 to avoid loss of upper bits if align is unsigned and shorter
26412 than addr.
26413
260c9a89 264142009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26415
26416 UUID support for UFS
26417
26418 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26419 (grub_ufs_uuid): New function.
26420 (grub_ufs_fs): add .uuid
26421
f76ce889 264222009-07-21 Pavel Roskin <proski@gnu.org>
26423
26424 * kern/dl.c (grub_dl_check_header): Make static.
26425
6a6cbcaf 264262009-07-21 Felix Zielcke <fzielcke@z-51.de>
26427
26428 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26429 add drivemap for Vista. It breaks Windows 7.
26430
cffcddb2 264312009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26432
26433 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26434 128 bytes
26435
1ef44b80 264362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26437
26438 Add BFS support
26439
26440 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26441 (grub_fstest_SOURCES): Likewise.
26442 (pkglib_MODULES): Add befs.mod.
26443 (befs_mod_SOURCES): New variable.
26444 (befs_mod_CFLAGS): Likewise.
26445 (befs_mod_LDFLAGS): Likewise.
26446 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26449 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26450 (grub_setup_SOURCES): Likewise.
26451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26453 (grub_setup_SOURCES): Likewise.
26454 * fs/befs.c: New file.
26455 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26456 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26457 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26458 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26459 (B_KEY_INDEX_ALIGN): New declaration.
26460 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26461 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26462 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26463 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26464 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26465 (grub_afs_mount) [MODE_BFS]: Likewise.
26466 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26467 (grub_afs_fs): Use GRUB_AFS_FSNAME
26468 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26469 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26470 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26471 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26472
4f253044 264732009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26474
26475 * util/getroot.c (find_root_device): Add support for MacOSX.
26476 * util/hostdisk.c: Likewise.
26477
57a55913 264782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26479
26480 * font/font.c (find_glyph): Check whether a font is present to avoid
26481 segmentation fault.
75421ca9 26482
264832009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26484
26485 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26486
e98cd0c2 264872009-07-20 Pavel Roskin <proski@gnu.org>
26488
26489 * configure.ac: Trim excessively wordy excuses.
26490
1d2d169a 264912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26492
26493 Add symlink, mtime and label support to AtheFS.
26494
26495 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26496 (grub_afs_iterate_dir): Handle symlinks.
26497 (grub_afs_open): Use grub_afs_read_symlink.
26498 (grub_afs_dir): Likewise.
26499 Pass mtime.
26500 (grub_afs_label): New function.
26501 (grub_afs_fs): Add grub_afs_label.
26502 (grub_afs_read_symlink): New function.
26503
186f3189 265042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 Fix AtheFS support.
26507
26508 * fs/afs.c: Fix comments style.
26509 (grub_afs_blockrun): Declare as packed.
26510 (grub_afs_datastream): Likewise.
26511 (grub_afs_bnode): Likewise.
26512 (grub_afs_btree): Likewise.
26513 (grub_afs_sblock): Likewise.
26514 Declare `name' as char.
26515 (grub_afs_inode): Declare as packed.
26516 Change void *vnode to grub_uint32_t unused.
26517 (grub_afs_iterate_dir): Check that key_size is positive.
26518 (grub_afs_mount): Don't read superblock twice.
75421ca9 26519 (grub_afs_dir): Don't free node in case of error,
186f3189 26520 grub_fshelp_find_file already handles this.
26521 (grub_afs_open): Likewise.
26522
5680109e 265232009-07-19 Pavel Roskin <proski@gnu.org>
26524
26525 * Makefile.in: Remove LIBLZO and enable_lzo.
26526 * conf/i386-pc.rmk: Remove lzo support.
26527 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26528 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26529 support.
26530 * kern/i386/pc/lzo1x.S: Remove.
26531 * kern/i386/pc/startup.S: Remove lzo support.
26532 * util/i386/pc/grub-mkimage.c: Likewise.
26533
ac70fa32 265342009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26535
26536 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26537 * fs/xfs.c (grub_xfs_dir): Likewise.
26538 * fs/afs.c (grub_afs_dir): Likewise.
26539 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26540 (grub_iso9660_open): Likewise.
26541 * fs/jfs.c (grub_jfs_open): Likewise.
26542 * fs/ext2.c (grub_ext2_dir): Likewise.
26543 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26544 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26545
eab58da2 265462009-07-16 Pavel Roskin <proski@gnu.org>
26547
d2838156 26548 * configure.ac: Never add "-c" to CFLAGS.
26549
55c70904 26550 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26551
43e6200c 26552 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26553 grub_cv_cc_efiemu should be used.
26554
ce7a733d 26555 * configure.ac: Typo fixes.
26556
eab58da2 26557 * kern/mm.c (grub_zalloc): New function.
26558 (grub_debug_zalloc): Likewise.
26559 * include/grub/mm.h: Declare grub_zalloc() and
26560 grub_debug_zalloc().
26561 * util/misc.c (grub_zalloc): New function.
26562 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26563 instead of grub_malloc(), remove unneeded initializations.
26564 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26565 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26566 * commands/parttool.c (grub_cmd_parttool): Likewise.
26567 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26568 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26569 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26570 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26571 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26572 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26573 (grub_cmd_efiemu_pnvram): Likewise.
26574 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26575 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26576 (grub_iso9660_iterate_dir): Likewise.
26577 * fs/jfs.c (grub_jfs_opendir): Likewise.
26578 * fs/ntfs.c (list_file): Likewise.
26579 (grub_ntfs_mount): Likewise.
26580 * kern/disk.c (grub_disk_open): Likewise.
26581 * kern/dl.c (grub_dl_load_core): Likewise.
26582 * kern/elf.c (grub_elf_file): Likewise.
26583 * kern/env.c (grub_env_context_open): Likewise.
26584 (grub_env_set): Likewise.
26585 (grub_env_set_data_slot): Likewise.
26586 * kern/file.c (grub_file_open): Likewise.
26587 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26588 * loader/i386/multiboot.c (grub_module): Likewise.
26589 * loader/xnu.c (grub_xnu_create_key): Likewise.
26590 (grub_xnu_create_value): Likewise.
26591 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26592 (read_config_file): Likewise.
26593 * normal/menu_entry.c (make_screen): Likewise.
26594 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26595 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26596 * script/sh/script.c (grub_script_parse): Likewise.
26597 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26598 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26599 * video/readers/png.c (grub_png_output_byte): Likewise.
26600 (grub_video_reader_png): Likewise.
26601
830afef7 266022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26603
26604 Enable all targets that can be built by default
26605
830afef7 26606 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26607 grub-mkfont and grub-fstest if they can be built
26608
ee293aee 266092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26610
26611 Fix hang and segmentation fault in grub-emu-usb
26612
26613 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26614 * util/usb.c (grub_libusb_devices): likewise
26615 (grub_libusb_init): rename to ...
26616 (GRUB_MOD_INIT (libusb)):...this
26617 (grub_libusb_fini): rename to ..
26618 (GRUB_MOD_FINI (libusb)):...this
26619 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26620 * include/grub/disk.h (grub_raid_init): removed, it's useless
26621 (grub_raid_fini): likewise
26622 (grub_lvm_init): likewise
26623 (grub_lvm_fini): likewise
26624 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26625 by grub_init_all
26626
94414221 266272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26628
26629 Fix libusb
26630
26631 * Makefile.in (LIBUSB): new macro
26632 * genmk.rb (Utility/print_tail): new method
26633 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26634 (top level): call util.print_tail at the end.
26635
59ade63d 266362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26637
26638 Make FreeBSD accept zpool.cache
26639
26640 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26641 type is /boot/zfs/zpool.cache
26642
a58da8c7 266432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26644
26645 Fix 64-bit efiemu
26646
26647 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26648 correct wrong typedef
26649 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26650
20591577 266512009-07-15 Pavel Roskin <proski@gnu.org>
26652
560ca572 26653 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26654 * kern/disk.c (struct grub_disk_cache): Likewise.
26655
e8e8e4fd 26656 * commands/probe.c (options): Typo fix.
26657
fde24e10 26658 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26659 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26660 accordingly.
26661 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26662
379c54c1 26663 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26664 the end of "Error" to make the message more readable.
26665
7bd8f5bf 26666 * boot/i386/pc/boot.S (kernel_segment): Remove.
26667 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26668 for destination.
26669
40b132c5 26670 * boot/i386/pc/boot.S (boot_version): Remove.
26671 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26672 Remove.
26673
20591577 26674 * include/grub/i386/pc/boot.h: Sort all offsets.
26675 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26676 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26677 * boot/i386/pc/boot.S: Assert location of every offset listed in
26678 include/grub/i386/pc/boot.h.
26679
2df32b2c 266802009-07-13 Pavel Roskin <proski@gnu.org>
26681
44b5d879 26682 * include/grub/i386/coreboot/machine.h: Rename
26683 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26684 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26685 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26686
17dc3751 26687 * kern/dl.c: Force native word size to suppress warnings when
26688 compiling grub-emu.
26689
2df32b2c 26690 * kern/device.c (grub_device_iterate): Change struct part_ent to
26691 hold the name, not a pointer to it. Use one grub_malloc() per
26692 partition, not two. Free partition_name if grub_malloc() fails.
26693 Set ents to NULL only before grub_partition_iterate() is called.
26694
75c59f59 266952009-07-11 Bean <bean123ch@gmail.com>
26696
26697 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26698 childname.
26699
0ae1bf88 267002009-07-10 Bean <bean123ch@gmail.com>
267012009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26702
26703 * kern/ieee1275/openfw.c (grub_children_iterate)
26704 (grub_devalias_iterate): Fix size evaluation for property or path
26705 strings, which was broken since r2132.
26706
8279cade 267072009-07-07 Pavel Roskin <proski@gnu.org>
26708
7d8a52d3 26709 * commands/search.c (search_file): Merge into ...
26710 (search_fs): ... this. Accept search type as argument.
26711 (grub_cmd_search): Pass search type to search_fs().
26712
25f9a05a 26713 * include/grub/util/console.h: New file.
26714 * util/console.c: Use it instead of grub/machine/console.h.
26715 * util/grub-emu.c: Likewise.
26716
8279cade 26717 * lib/arg.c (find_long_option): Remove.
26718 (find_long): Add `len' argument, make `s' const char *.
26719 (grub_arg_parse): Parse long options in place, not in a
26720 temporary buffer.
26721
4a11b60f 267222009-07-06 Pavel Roskin <proski@gnu.org>
26723
99f68041 26724 * commands/search.c (search_fs): Fix potential NULL pointer
26725 dereference.
26726
4a11b60f 26727 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26728 function pointer.
26729
e110f4de 267302009-07-06 Daniel Mierswa <impulze@impulze.org>
26731
26732 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26733 comparison.
26734
46eeb6a2 267352009-07-05 Pavel Roskin <proski@gnu.org>
26736
bab74958 26737 * include/grub/i386/linux.h (struct linux_kernel_params):
26738 Restore padding3, it's still needed.
26739
46eeb6a2 26740 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26741 FreeBSD.
26742 * util/osdetect.lua: Likewise.
26743
b4a1dc79 267442009-07-05 Bean <bean123ch@gmail.com>
26745
26746 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26747
26748 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26749 (grub_lua_getenv): Likewise.
26750 (grub_lua_setenv): Likewise.
26751 (save_errno): New function.
26752 (push_result): Likewise.
26753 (grub_lua_enum_device): Likewise.
26754 (grub_lua_enum_file): Likewise.
26755 (grub_lua_file_open): Likewise.
26756 (grub_lua_file_close): Likewise.
26757 (grub_lua_file_seek): Likewise.
26758 (grub_lua_file_read): Likewise.
26759 (grub_lua_file_getline): Likewise.
26760 (grub_lua_file_getsize): Likewise.
26761 (grub_lua_file_getpos): Likewise.
26762 (grub_lua_file_eof): Likewise.
26763 (grub_lua_file_exist): Likewise.
26764 (grub_lua_add_menu): Likewise.
26765
26766 * script/lua/grub_lua.h (isupper): New inline function.
26767 (islower): Likewise.
26768 (ispunct): Likewise.
26769 (isxdigit): Likewise.
26770 (strcspn): Change to normal function.
26771 (strpbkr): New function declaration.
26772 (memchr): Likewise.
26773
26774 * script/lua/grub_main.c (scan_str): New function.
26775 (strcspn): Likewise.
26776 (strpbrk): Likewise.
26777 (memchr): Likewise.
26778
26779 * script/lua/linit.c (lualibs): Enable the string library.
26780
26781 * util/osdetect.lua: New file.
26782
2da92295 267832009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26784
26785 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26786 `capabilities' member.
26787
b2582ec9 267882009-07-02 Pavel Roskin <proski@gnu.org>
26789
26790 * genparttoollist.sh: Add missing newline at the end.
26791
32622956 267922009-07-01 Pavel Roskin <proski@gnu.org>
26793
87a7339e 26794 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26795
d23af54e 26796 * util/hostdisk.c (open_device): Remove `const' from
26797 `sysctl_size', as sysctlbyname() can change it (in this case it
26798 doesn't actually happen).
26799
c94b18a9 26800 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26801 using signed long int constants.
26802
c6cd3ef0 26803 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26804 constant to avoid a warning on FreeBSD.
26805
0df63420 26806 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26807 where it's needed.
26808
999577f1 26809 * Makefile.in: Install include/grub/machine symlink.
26810
6f41557f 26811 * Makefile.in: When installing symlinks, use "cp -fR", which
26812 works on FreeBSD and MacOSX.
26813 From Yves Blusseau <cl7m42e02@sneakemail.com>
26814
c8d22988 26815 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26816 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26817
1b96e952 26818 * util/misc.c: Move grub_reboot() and grub_halt() ...
26819 * util/grub-emu.c: ... here. Make main_env static.
26820 * include/grub/util/misc.h: Remove main_env.
26821
2ef0084d 26822 * kern/mm.c: Use correct format to print size_t.
26823
32622956 26824 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26825 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26826 * kern/powerpc/dl.c: Likewise.
26827 * kern/sparc64/dl.c: Likewise.
26828 * kern/x86_64/dl.c: Likewise.
26829
3f7f0cd0 268302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26831
26832 Fix grub-emu build on sparc64-ieee1275.
26833
75421ca9 26834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26836
211d06b5 268372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26838
26839 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26840 (grub_reboot, grub_halt): New functions.
26841
26842 * util/i386/pc/misc.c: Delete. Update all users.
26843 * util/sparc64/ieee1275/misc.c: Likewise.
26844 * util/powerpc/ieee1275/misc.c: Likewise.
26845
aaf53e3c 268462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26847
26848 * conf/i386.rmk (setjmp_mod_SOURCES)
26849 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26850 * conf/common.rmk (setjmp_mod_SOURCES)
26851 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26852 to use $(target_cpu).
26853 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26854 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26855 * conf/powerpc-ieee1275.rmk: Likewise.
26856 * conf/sparc64-ieee1275.rmk: Likewise.
26857
26858 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26859 $(target_cpu) for kern/$(target_cpu)/dl.c.
26860 * conf/i386-efi.rmk: Likewise.
26861 * conf/i386-ieee1275.rmk: Likewise.
26862 * conf/x86_64-efi.rmk: Likewise.
26863 * conf/i386-coreboot.rmk: Likewise.
26864 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26865 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26866 kern/$(target_cpu)/cache.S.
26867 * conf/sparc64-ieee1275.rmk: Likewise.
26868
a337130b 268692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26870
26871 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26872 type to `grub_uint8_t', and adjust `padding9' accordingly.
26873
c6fe4d53 268742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26875
b09db61d 26876 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26877
c6fe4d53 26878 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26879 assembly in final jump, using register constraints.
26880
b09db61d 26881 (grub_linux_boot): For text mode, initialize `have_vga' using
26882 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26883
26884 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26885 right before the final jump.
26886
26887 Set `video_mode' to 0x3.
26888
26889 Document initialization of `video_page', `video_mode' and
26890 `video_ega_bx'.
26891
28333ad0 268922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26893
26894 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26895 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26896 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26897
02164e1b 268982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 Fix build on Debian / sparc.
26901
26902 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26903
18b6c557 269042009-06-28 Pavel Roskin <proski@gnu.org>
26905
85f2aab6 26906 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26907 fix a warning.
26908
18b6c557 26909 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26910
ad760f81 269112009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26912
26913 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26914 `err'.
26915
87a4623b 269162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26917
26918 Revert r2338.
26919
26920 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26921 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26922 grub_errno / grub_errmsg appropriately.
87a4623b 26923 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26924
8231fb77 269252009-06-27 Pavel Roskin <proski@gnu.org>
269262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26927
26928 * include/grub/dl.h: Include grub/elf.h.
26929 (struct grub_dl): Add symtab field.
26930 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26931 GRUB_MODULES_MACHINE_READONLY.
26932 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26933 of the header for read-only modules.
26934 (grub_dl_unload): Free mod->symtab for read-only modules.
26935 * kern/i386/dl.c: Use mod->symtab.
26936 * kern/powerpc/dl.c: Likewise.
26937 * kern/sparc64/dl.c: Likewise.
26938 * kern/x86_64/dl.c: Likewise.
26939
26940 * conf/i386-qemu.rmk: New file.
26941 * kern/i386/qemu/startup.S: Likewise.
26942 * kern/i386/qemu/mmap.c: Likewise.
26943 * boot/i386/qemu/boot.S: Likewise.
26944 * include/grub/i386/qemu/time.h: Likewise.
26945 * include/grub/i386/qemu/serial.h: Likewise.
26946 * include/grub/i386/qemu/kernel.h: Likewise.
26947 * include/grub/i386/qemu/console.h: Likewise.
26948 * include/grub/i386/qemu/boot.h: Likewise.
26949 * include/grub/i386/qemu/init.h: Likewise.
26950 * include/grub/i386/qemu/machine.h: Likewise.
26951 * include/grub/i386/qemu/loader.h: Likewise.
26952 * include/grub/i386/qemu/memory.h: Likewise.
26953
26954 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26955 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26956 [qemu] (pkglib_IMAGES): Add `boot.img'.
26957 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26958 [qemu] (boot_img_FORMAT): New variables.
26959 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26960 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26961 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26962 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26963 [qemu] (kernel_img_FORMAT): New variables.
26964
26965 * configure.ac: Recognise `i386-qemu'.
26966
26967 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26968 (for no compression).
26969 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26970 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26971 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26972 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26973 ifdefs).
26974
97fe384e 269752009-06-27 Pavel Roskin <proski@gnu.org>
26976
26977 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26978 read.
26979 * efiemu/prepare32.c: Likewise.
26980 * efiemu/prepare64.c: Likewise.
26981
c402ab17 269822009-06-26 Pavel Roskin <proski@gnu.org>
26983
26984 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26985 * include/grub/elf.h: Define symbols without "32" or "64" based
26986 on GRUB_TARGET_WORDSIZE.
26987 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26988 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26989 ELF definitions.
26990 * efiemu/loadcore64.c: Likewise.
26991 * loader/i386/bsd32.c: Likewise.
26992 * loader/i386/bsd64.c: Likewise.
26993 * kern/dl.c: Remove own ELF definitions.
26994 * util/i386/efi/grub-mkimage.c: Likewise.
26995
9bbdfd4d 269962009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26997
26998 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26999 segment 0x0 unconditionally, because the reference generated by
27000 GAS is an absolute address.
27001
a42ce6e9 270022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27003
27004 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27005 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27006
c952cf92 270072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27010 indexes. Check for -f explicitly.
cc3752ad 27011 (search_file): Improve error message.
27012 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27013
132a0a59 270142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27015
27016 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27017 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27018
387a140c 270192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27020
27021 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27022 * conf/i386-ieee1275.rmk: Likewise.
27023 * conf/i386-coreboot.rmk: Likewise.
27024
27025 * kern/i386/pc/startup.S (grub_stop): Remove function.
27026 * kern/i386/ieee1275/startup.S: Likewise.
27027 * kern/i386/coreboot/startup.S: Likewise.
27028 * kern/i386/misc.S (grub_stop): New function.
27029
41da9665 270302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27031
27032 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27033 * kern/i386/realmode.S (real_to_prot): ... to here.
27034
bf337234 270352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27036
27037 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27038 with `kernel.img'.
27039 (kernel_elf_SOURCES): Rename to ...
27040 (kernel_img_SOURCES): ... this.
27041 (kernel_elf_HEADERS): Rename to ...
27042 (kernel_img_HEADERS): ... this. Update all users.
27043 (kernel_elf_ASFLAGS): Rename to ...
27044 (kernel_img_ASFLAGS): ... this.
27045 (kernel_elf_CFLAGS): Rename to ...
27046 (kernel_img_CFLAGS): ... this.
27047 (kernel_elf_LDFLAGS): Rename to ...
27048 (kernel_img_LDFLAGS): ... this.
27049 * conf/i386-coreboot.rmk: Likewise.
27050 * conf/powerpc-ieee1275.rmk: Likewise.
27051
27052 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27053 with "kernel.img".
27054
f52196ff 270552009-06-21 Pavel Roskin <proski@gnu.org>
27056
c3cee413 27057 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27058 to match nested functions.
27059 * loader/sparc64/ieee1275/linux.c: Likewise.
27060
f52196ff 27061 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27062
58750afc 270632009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27064
27065 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27066 all i386 platforms.
27067
15355c7d 270682009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27069
27070 Fix asm file handling on ELF, and remove workarounds.
27071
27072 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27073 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27074 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27075 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27076
3f3ec72b 270772009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27078
27079 Load BSD ELF modules
27080
27081 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27082 and loader/i386/bsd64.c
27083 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27084 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27085 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27086 (grub_freebsd_load_elfmodule32): New declaration
27087 (grub_freebsd_load_elfmoduleobj64): Likewise
27088 (grub_freebsd_load_elf_meta32): Likewise
27089 (grub_freebsd_load_elf_meta64): Likewise
27090 (grub_freebsd_add_meta): Likewise
27091 (grub_freebsd_add_meta_module): Likewise
27092 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27093 (grub_freebsd_add_meta_module): Likewise and move module-specific
27094 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27095 (grub_cmd_freebsd): Add elf-kernel specific parts
27096 based on grub_freebsd_add_meta_module
27097 (grub_cmd_freebsd_module): Add type parsing moved from
27098 grub_freebsd_add_meta_module
27099 (grub_cmd_freebsd_module_elf): New function
27100 (cmd_freebsd_module_elf): New variable
27101 (GRUB_MOD_INIT): Register freebsd_module_elf
27102 * loader/i386/bsd32.c: New file
27103 * loader/i386/bsd64.c: Likewise
27104 * loader/i386/bsdXX.c: Likewise
27105 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27106 (grub_elf64_load): Likewise
27107 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27108 All users updated
27109 (grub_elf64_load_hook_t): Likewise
27110
0db15301 271112009-06-21 Colin Watson <cjwatson@ubuntu.com>
27112
27113 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27114 variable.
27115 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27116 don't write a menu entry for recovery mode.
27117
546796c1 271182009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27119
27120 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27121 after it's no longer needed.
27122
cd7310d5 271232009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27124
27125 * include/grub/i386/loader.h (grub_linux_prot_size)
27126 (grub_linux_tmp_addr, grub_linux_real_addr)
27127 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27128 GRUB_MACHINE_PCBIOS.
27129 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27130 common grub_util_info() call to ...
27131 (generate_image): ... here.
27132 Fix use of uninitialized memory, comparison of signed with
27133 unsigned integers and memory leak.
27134 Remove bogus module address message.
27135
ab32d3b5 271362009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27137
27138 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27139 grub_raid_register
27140 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27141
024ef597 271422009-06-19 Pavel Roskin <proski@gnu.org>
27143
27144 * configure.ac: Remove stray AC_MSG_CHECKING.
27145
3ac72b51 271462009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27149
e14cd814 271502009-06-18 Pavel Roskin <proski@gnu.org>
27151
27152 * conf/common.rmk: Add fs_file.mod.
27153 * disk/fs_file.c: New file.
27154 * include/grub/disk.h (enum grub_disk_dev_id): Add
27155 GRUB_DISK_DEVICE_FILE_ID.
27156
26586d98 271572009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 Fix build with Apple's toolchain. Part 2
27160
27161 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27162 a fake start
27163
26de2bcd 271642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27165
27166 Fix build with Apple's toolchain. Part 1
27167
27168 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27169 for long calls
27170 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27171 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27172 Apple's toolchain
27173
09b3490b 271742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27175
27176 Fix warnings
27177
27178 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27179 (decomp_block): initialize ch
27180 use grub_memcpy instead of memcpy
27181
c22a006a 271822009-06-17 Pavel Roskin <proski@gnu.org>
27183
d3638678 27184 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27185 version, use declarations needed to use vga_text as the startup
27186 console.
27187
c22a006a 27188 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27189 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27190 the kernel.
27191 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27192 and grub_at_keyboard_fini(), it's done on module load and
27193 unload.
27194
05b129e0 271952009-06-17 Felix Zielcke <fzielcke@z-51.de>
27196
27197 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27198 file can't be found.
27199 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27200
cf24ed9e 272012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27202
27203 Fix newline handling
27204
27205 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27206 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27207 (grub_script_yylex): don't segfault on unterminated script
27208 newline terminates command and variable
27209
74aa8e4b 272102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27211
27212 avoid double grub_adjust_range call. Bug reported by David Simner
27213
27214 * kern/disk.c (grub_disk_write): change to raw disk access before
27215 calling disk_read
27216
1bd265f3 272172009-06-17 Colin Watson <cjwatson@ubuntu.com>
27218
27219 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27220 spaces, for the benefit of help2man.
27221 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27222
a2d08c06 272232009-06-16 Pavel Roskin <proski@gnu.org>
27224
27225 * kern/i386/halt.c: Include grub/machine/init.h.
27226 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27227
b97bcb19 272282009-06-16 Felix Zielcke <fzielcke@z-51.de>
27229
27230 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27231 drivemap menuentry.
27232
0644f96c 272332009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27234
27235 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27236 `echo' command.
27237
3ef17a2e 272382009-06-16 Pavel Roskin <proski@gnu.org>
27239
27240 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27241 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27242 save %dx, we only need %dl and we never change it.
27243 * boot/i386/pc/cdboot.S: Don't set the root drive.
27244 * boot/i386/pc/pxeboot.S: Likewise.
27245 * include/grub/i386/pc/boot.h: Remove
27246 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27247 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27248 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27249 * kern/i386/pc/init.c (make_install_device): Remove references
27250 to grub_root_drive.
27251 * kern/i386/pc/startup.S: Likewise.
27252 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27253
693fe637 272542009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27255
27256 xnu_uuid command
27257
27258 * commands/xnu_uuid.c: new file
27259 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27260 (xnu_uuid_mod_SOURCES): new variable
27261 (xnu_uuid_mod_CFLAGS): likewise
27262 (xnu_uuid_mod_LDFLAGS): likewise
27263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27264 * conf/i386-ieee1275.rmk: likewise
27265 * conf/i386-pc.rmk: likewise
27266 * conf/powerpc-ieee1275.rmk: likewise
27267 * conf/sparc64-ieee1275.rmk: likewise
27268 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27269
c9da87d0 272702009-06-16 Pavel Roskin <proski@gnu.org>
27271
27272 * configure.ac: Avoid '==' in test command, it's not portable.
27273
9c6f4596 272742009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27275
27276 Probe command
27277
27278 * commands/probe.c: new file
27279 * conf/common.rmk (pkglib_MODULES): add probe.mod
27280 (probe_mod_SOURCES): new variable
27281 (probe_mod_CFLAGS): likewise
27282 (probe_mod_LDFLAGS): likewise
27283 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27284 * conf/i386-ieee1275.rmk: likewise
27285 * conf/i386-pc.rmk: likewise
27286 * conf/powerpc-ieee1275.rmk: likewise
27287 * conf/sparc64-ieee1275.rmk: likewise
27288
70b7f9fd 272892009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27290
27291 Fix handling of string like \"hello\" and "a
27292 b"
27293
27294 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27295 (grub_script_yylex): fix parsing of quoting, escaping and newline
27296
71c79a6b 272972009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27298
dd74360c 27299 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27300 handling
dd74360c 27301
0644f96c 273022009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27303
27304 * util/grub-mkconfig.in: Fix parsing of --output option.
27305
e40893c3 273062009-06-12 Pavel Roskin <proski@gnu.org>
27307
27308 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27309 genmk.rb don't need to be generated or installed.
27310
3a1acfe2 273112009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 * commands/i386/pc/drivemap_int13h.S: add more comments
27314
3a4575d4 273152009-06-11 Pavel Roskin <proski@gnu.org>
27316
0658e928 27317 * Makefile.in (uninstall): Uninstall manuals.
27318
ca0388f0 27319 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27320 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27321 and update-grub_lib in two places.
27322 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27323
e3b27c39 27324 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27325 a compiler warning.
27326
3a4575d4 27327 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27328 `entry_lo' to fix variable shadowing.
27329
af1f4f55 273302009-06-11 Christian Franke <franke@computer.org>
27331
27332 * kern/misc.c (__enable_execute_stack): Add missing return type
27333 to prevent gcc warning.
27334
5225e649 273352009-06-11 Felix Zielcke <fzielcke@z-51.de>
27336
27337 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27338
7d83bd47 273392009-06-11 Pavel Roskin <proski@gnu.org>
27340
c1cb63ba 27341 * Makefile.in: Don't rely on any scripts being executable.
27342 Always use $(SHELL) to run shell scripts.
27343
7d83bd47 27344 * configure.ac: Always define ___main if using -nostdlib. This
27345 fixes tests on Cygwin.
27346
948f48e7 273472009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27348
27349 UDF fix
27350
7d83bd47 27351 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27352 is in bytes and not in blocks
7d83bd47 27353
8ada9bc1 273542009-06-11 Pavel Roskin <proski@gnu.org>
27355
27356 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27357 warning.
27358
25ad2323 273592009-06-11 Felix Zielcke <fzielcke@z-51.de>
27360
27361 * util/grub.d/30_os-prober.in: Fix a comment. Source
27362 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27363 to set the root device. Place drivemap command in the generated
27364 chain entry.
27365
e65acb0c 273662009-06-11 Pavel Roskin <proski@gnu.org>
27367
27368 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27369 have long been resolved.
27370
f285fe2d 273712009-06-11 Colin Watson <cjwatson@ubuntu.com>
27372
bd47b0b5 27373 * util/grub.d/10_linux.in: Capitalise "Linux".
27374
f285fe2d 27375 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27376
a0c62e4e 273772009-06-11 Pavel Roskin <proski@gnu.org>
27378
b6783cb2 27379 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27380 fix a gcc warning and ensure that the function won't ever exit.
27381
dde032e8 27382 * kern/i386/ieee1275/init.c: Add missing prototype for
27383 grub_stop_floppy().
27384
22cd079d 27385 * loader/ieee1275/multiboot2.c [__i386__]: Include
27386 grub/cpu/multiboot.h.
27387
a0c62e4e 27388 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27389 casts to short - they are not portable and cause warnings. Fix
27390 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27391
63963d17 273922009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 Drivemap fixes
27395
27396 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27397 new function
27398 (grub_get_root_biosnumber_saved): new variable
27399 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27400 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27401 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27402 %dx after the call if necessary
27403 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27404 (boot_mod_SOURCES): remove
27405 (boot_mod_CFLAGS): remove
27406 (boot_mod_LDFLAGS): remove
27407 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27408 (boot_mod_SOURCES): new variable
27409 (boot_mod_CFLAGS): likewise
27410 (boot_mod_LDFLAGS): likewise
27411 * conf/i386-efi.rmk: likewise
27412 * conf/i386-ieee1275.rmk: likewise
27413 * conf/i386-pc.rmk: likewise
27414 * conf/powerpc-ieee1275.rmk: likewise
27415 * conf/sparc64-ieee1275.rmk: likewise
27416 * conf/x86_64-efi.rmk: likewise
27417 * include/grub/i386/pc/biosnum.h: new file
27418 * lib/i386/pc/biosnum.c: likewise
27419 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27420 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27421 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27422
33abf7ae 274232009-06-10 Pavel Roskin <proski@gnu.org>
27424
5ac35b35 27425 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27426 Use separate variables. Read only the file size at the end, but
27427 not the checksum that we don't use.
27428
5c5215d5 27429 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27430 Adjust all callers.
27431
27d5fef7 27432 * kern/ieee1275/openfw.c: Remove libc includes.
27433 * kern/ieee1275/cmain.c: Likewise.
27434 * include/grub/ieee1275/ieee1275.h: Likewise.
27435
33abf7ae 27436 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27437 compiler warnings.
27438
19d50c2b 274392009-06-10 Felix Zielcke <fzielcke@z-51.de>
27440
27441 * Makefile.in: Remove all trailing whitespace.
27442 * conf/i386-pc.rmk: Likewise.
27443 * conf/powerpc-ieee1275.rmk: Likewise.
27444 * conf/sparc64-ieee1275.rmk: Likewise.
27445 * docs/grub.texi: Likewise.
27446 * docs/texinfo.tex: Likewise.
27447 * disk/fs_uuid.c: Likewise.
27448 * disk/lvm.c: Likewise.
27449 * disk/scsi.c: Likewise.
27450 * disk/ata.c: Likewise.
27451 * disk/ieee1275/ofdisk.c: Likewise.
27452 * disk/i386/pc/biosdisk.c: Likewise.
27453 * disk/host.c: Likewise.
27454 * disk/raid.c: Likewise.
27455 * disk/efi/efidisk.c: Likewise.
27456 * disk/usbms.c: Likewise.
27457 * disk/memdisk.c: Likewise.
27458 * disk/loopback.c: Likewise.
27459 * kern/powerpc/dl.c: Likewise.
27460 * kern/device.c: Likewise.
27461 * kern/dl.c: Likewise.
27462 * kern/sparc64/dl.c: Likewise.
27463 * kern/ieee1275/ieee1275.c: Likewise.
27464 * kern/term.c: Likewise.
27465 * kern/fs.c: Likewise.
27466 * kern/i386/dl.c: Likewise.
27467 * kern/i386/pc/startup.S: Likewise.
27468 * kern/i386/pc/init.c: Likewise.
27469 * kern/i386/pc/mmap.c: Likewise.
27470 * kern/i386/pc/lzo1x.S: Likewise.
27471 * kern/i386/ieee1275/init.c: Likewise.
27472 * kern/i386/realmode.S: Likewise.
27473 * kern/i386/tsc.c: Likewise.
27474 * kern/partition.c: Likewise.
27475 * kern/corecmd.c: Likewise.
27476 * kern/file.c: Likewise.
27477 * kern/efi/efi.c: Likewise.
27478 * kern/efi/init.c: Likewise.
27479 * kern/efi/mm.c: Likewise.
27480 * kern/main.c: Likewise.
27481 * kern/err.c: Likewise.
27482 * kern/env.c: Likewise.
27483 * kern/disk.c: Likewise.
27484 * kern/generic/millisleep.c: Likewise.
27485 * kern/generic/rtc_get_time_ms.c: Likewise.
27486 * kern/misc.c: Likewise.
27487 * kern/parser.c: Likewise.
27488 * genmk.rb: Likewise.
27489 * configure.ac: Likewise.
27490 * boot/i386/pc/diskboot.S: Likewise.
27491 * boot/i386/pc/pxeboot.S: Likewise.
27492 * boot/i386/pc/boot.S: Likewise.
27493 * boot/i386/pc/lnxboot.S: Likewise.
27494 * boot/i386/pc/cdboot.S: Likewise.
27495 * parttool/pcpart.c: Likewise.
27496 * video/readers/tga.c: Likewise.
27497 * video/video.c: Likewise.
27498 * video/bitmap.c: Likewise.
27499 * lib/envblk.c: Likewise.
27500 * lib/i386/setjmp.S: Likewise.
27501 * fs/xfs.c: Likewise.
27502 * fs/afs.c: Likewise.
27503 * fs/fat.c: Likewise.
27504 * fs/ntfs.c: Likewise.
27505 * fs/udf.c: Likewise.
27506 * fs/affs.c: Likewise.
27507 * fs/iso9660.c: Likewise.
27508 * fs/hfs.c: Likewise.
27509 * fs/fshelp.c: Likewise.
27510 * fs/ext2.c: Likewise.
27511 * fs/jfs.c: Likewise.
27512 * fs/reiserfs.c: Likewise.
27513 * fs/hfsplus.c: Likewise.
27514 * fs/minix.c: Likewise.
27515 * fs/cpio.c: Likewise.
27516 * fs/sfs.c: Likewise.
27517 * fs/ufs.c: Likewise.
27518 * efiemu/prepare.c: Likewise.
27519 * efiemu/loadcore_common.c: Likewise.
27520 * efiemu/runtime/efiemu.sh: Likewise.
27521 * efiemu/runtime/efiemu.S: Likewise.
27522 * efiemu/runtime/efiemu.c: Likewise.
27523 * efiemu/pnvram.c: Likewise.
27524 * efiemu/main.c: Likewise.
27525 * efiemu/i386/pc/cfgtables.c: Likewise.
27526 * efiemu/i386/loadcore64.c: Likewise.
27527 * efiemu/i386/loadcore32.c: Likewise.
27528 * efiemu/loadcore.c: Likewise.
27529 * efiemu/symbols.c: Likewise.
27530 * efiemu/mm.c: Likewise.
27531 * include/grub/autoefi.h: Likewise.
27532 * include/grub/datetime.h: Likewise.
27533 * include/grub/term.h: Likewise.
27534 * include/grub/hfs.h: Likewise.
27535 * include/grub/lvm.h: Likewise.
27536 * include/grub/i386/tsc.h: Likewise.
27537 * include/grub/i386/linux.h: Likewise.
27538 * include/grub/i386/xnu.h: Likewise.
27539 * include/grub/i386/efiemu.h: Likewise.
27540 * include/grub/i386/pc/biosdisk.h: Likewise.
27541 * include/grub/i386/pc/memory.h: Likewise.
27542 * include/grub/i386/pc/vbe.h: Likewise.
27543 * include/grub/parttool.h: Likewise.
27544 * include/grub/video.h: Likewise.
27545 * include/grub/memory.h: Likewise.
27546 * include/grub/fs.h: Likewise.
27547 * include/grub/partition.h: Likewise.
27548 * include/grub/xnu.h: Likewise.
27549 * include/grub/efi/api.h: Likewise.
27550 * include/grub/efi/pe32.h: Likewise.
27551 * include/grub/efi/memory.h: Likewise.
27552 * include/grub/multiboot.h: Likewise.
27553 * include/grub/usbdesc.h: Likewise.
27554 * include/grub/multiboot2.h: Likewise.
27555 * include/grub/acpi.h: Likewise.
27556 * include/grub/efiemu/efiemu.h: Likewise.
27557 * include/grub/disk.h: Likewise.
27558 * include/grub/ieee1275/ieee1275.h: Likewise.
27559 * include/grub/net.h: Likewise.
27560 * include/grub/machoload.h: Likewise.
27561 * include/grub/macho.h: Likewise.
27562 * include/multiboot.h: Likewise.
27563 * genmoddep.awk: Likewise.
27564 * normal/main.c: Likewise.
27565 * normal/menu_entry.c: Likewise.
27566 * normal/menu_viewer.c: Likewise.
27567 * normal/completion.c: Likewise.
27568 * normal/cmdline.c: Likewise.
27569 * normal/misc.c: Likewise.
27570 * normal/datetime.c: Likewise.
27571 * bus/usb/usbtrans.c: Likewise.
27572 * bus/usb/ohci.c: Likewise.
27573 * bus/usb/uhci.c: Likewise.
27574 * bus/usb/usb.c: Likewise.
27575 * mmap/efi/mmap.c: Likewise.
27576 * mmap/i386/pc/mmap_helper.S: Likewise.
27577 * mmap/i386/pc/mmap.c: Likewise.
27578 * mmap/i386/mmap.c: Likewise.
27579 * mmap/i386/uppermem.c: Likewise.
27580 * mmap/mmap.c: Likewise.
27581 * commands/acpi.c: Likewise.
27582 * commands/echo.c: Likewise.
27583 * commands/blocklist.c: Likewise.
27584 * commands/loadenv.c: Likewise.
27585 * commands/usbtest.c: Likewise.
27586 * commands/boot.c: Likewise.
27587 * commands/parttool.c: Likewise.
27588 * commands/search.c: Likewise.
27589 * commands/cat.c: Likewise.
27590 * commands/i386/pc/play.c: Likewise.
27591 * commands/i386/pc/drivemap.c: Likewise.
27592 * commands/i386/pc/vbeinfo.c: Likewise.
27593 * commands/i386/pc/acpi.c: Likewise.
27594 * commands/i386/pc/vbetest.c: Likewise.
27595 * commands/ls.c: Likewise.
27596 * commands/cmp.c: Likewise.
27597 * commands/test.c: Likewise.
27598 * commands/efi/acpi.c: Likewise.
27599 * commands/gptsync.c: Likewise.
27600 * commands/help.c: Likewise.
27601 * partmap/amiga.c: Likewise.
27602 * partmap/apple.c: Likewise.
27603 * partmap/acorn.c: Likewise.
27604 * partmap/pc.c: Likewise.
27605 * partmap/sun.c: Likewise.
27606 * partmap/gpt.c: Likewise.
27607 * script/sh/lexer.c: Likewise.
27608 * script/sh/function.c: Likewise.
27609 * font/font.c: Likewise.
27610 * font/font_cmd.c: Likewise.
27611 * loader/powerpc/ieee1275/linux.c: Likewise.
27612 * loader/efi/chainloader.c: Likewise.
27613 * loader/multiboot_loader.c: Likewise.
27614 * loader/macho.c: Likewise.
27615 * loader/i386/multiboot.c: Likewise.
27616 * loader/i386/linux.c: Likewise.
27617 * loader/i386/pc/linux.c: Likewise.
27618 * loader/i386/pc/multiboot2.c: Likewise.
27619 * loader/i386/pc/chainloader.c: Likewise.
27620 * loader/i386/pc/xnu.c: Likewise.
27621 * loader/i386/bsd_trampoline.S: Likewise.
27622 * loader/i386/efi/linux.c: Likewise.
27623 * loader/i386/multiboot_elfxx.c: Likewise.
27624 * loader/i386/bsd_helper.S: Likewise.
27625 * loader/i386/bsd.c: Likewise.
27626 * loader/i386/linux_trampoline.S: Likewise.
27627 * loader/i386/xnu_helper.S: Likewise.
27628 * loader/i386/xnu.c: Likewise.
27629 * loader/i386/bsd_pagetable.c: Likewise.
27630 * loader/i386/multiboot_helper.S: Likewise.
27631 * loader/xnu.c: Likewise.
27632 * loader/xnu_resume.c: Likewise.
27633 * io/gzio.c: Likewise.
27634 * term/efi/console.c: Likewise.
27635 * term/terminfo.c: Likewise.
27636 * term/ieee1275/ofconsole.c: Likewise.
27637 * term/i386/pc/serial.c: Likewise.
27638 * term/i386/pc/vesafb.c: Likewise.
27639 * term/i386/pc/vga.c: Likewise.
27640 * term/usb_keyboard.c: Likewise.
27641 * term/gfxterm.c: Likewise.
27642 * aclocal.m4: Likewise.
27643 * util/lvm.c: Likewise.
27644 * util/grub.d/30_os-prober.in: Likewise.
27645 * util/grub.d/10_hurd.in: Likewise.
27646 * util/console.c: Likewise.
27647 * util/grub-macho2img.c: Likewise.
27648 * util/grub-probe.c: Likewise.
27649 * util/hostfs.c: Likewise.
27650 * util/i386/pc/grub-mkimage.c: Likewise.
27651 * util/i386/pc/grub-setup.c: Likewise.
27652 * util/i386/efi/grub-mkimage.c: Likewise.
27653 * util/grub-mkconfig.in: Likewise.
27654 * util/raid.c: Likewise.
27655 * util/resolve.c: Likewise.
27656 * util/grub-mkdevicemap.c: Likewise.
27657 * util/grub-emu.c: Likewise.
27658 * util/getroot.c: Likewise.
27659 * util/hostdisk.c: Likewise.
27660 * util/usb.c: Likewise.
27661 * util/grub-editenv.c: Likewise.
27662 * util/misc.c: Likewise.
27663
d2d49665 276642009-06-10 Felix Zielcke <fzielcke@z-51.de>
27665
27666 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27667 `genparttoollist.sh'.
27668 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27669 Add `*.sh' to the list find searches for and change `mdate.sh'
27670 to `mdate-sh'.
27671
fe052e37 276722009-06-10 Pavel Roskin <proski@gnu.org>
27673
2763ac18 27674 * include/grub/multiboot2.h: Provide compatibility defines for
27675 multiboot2.h.
27676 * include/multiboot2.h: Include stdint.h only if needed, using
27677 angle brackets.
27678 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27679 grub/multiboot2.h.
27680 * loader/ieee1275/multiboot2.c: Likewise.
27681 * loader/multiboot2.c: Likewise.
27682 * loader/multiboot_loader.c: Likewise.
27683
437e6adc 27684 * configure.ac: Use -nostdlib when probing for the target. It
27685 should not be required to have libc for the target.
27686
06a6836c 27687 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27688 they fail without libc headers for the target.
27689 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27690 exports.
27691 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27692 preprocessor conditionals.
27693
fe052e37 27694 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27695 build system doesn't need to be aware of the tar.c internals.
27696
afd22553 276972009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27698
afd22553 27699 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27700
6b787c4f 277012009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27702
27703 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27704 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27705
277062009-06-09 Felix Zielcke <fzielcke@z-51.de>
27707
27708 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27709 aren't available if ata.mod gets used.
6b787c4f 27710
473d1e45 277112009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27712
473d1e45 27713 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27714 initialising controller.
473d1e45 27715 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27716
255a27d4 277172009-06-08 Felix Zielcke <fzielcke@z-51.de>
27718
27719 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27720 to choose between ata and biosdisk module on i386-pc.
27721
473d1e45 277222009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27723
d55842d8 27724 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27725 Subclass and Programming Interface fields in terms of the 3 byte
27726 Class Code register.
27727 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27728
fa5db0b1 27729 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27730 interface is OHCI. Add grub_dprintf for symmetry with
27731 bus/usb/uhci.c.
27732 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27733 interface is UHCI. Add interf variable for programming
27734 interface. Print interface with class/subclass.
27735
c0947beb 27736 * bus/usb/ohci.c: Set interf with correct field.
27737
69da8877 27738 * bus/usb/uhci.c: Remove unneeded doubled lines.
27739 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27740 Remove whitespace inside comment.
27741
9e172e30 277422009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27743
27744 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27745 as fallback an equivalent option without depth.
27746
de65ee2b 277472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27748
27749 Not fail if unable to retrieve C/H/S on LBA disks
27750
473d1e45 27751 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27752 if unable to retrieve C/H/S on LBA disks
27753
b57ea2c9 277542009-06-08 Pavel Roskin <proski@gnu.org>
27755
27756 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27757 about aliasing.
27758
af361263 277592009-06-08 Felix Zielcke <fzielcke@z-51.de>
27760
27761 * Makefile.in (uninstall): Remove all $lib_DATA files.
27762
4c9ec6b3 277632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27764
27765 Bugfix: install on partitionless device
27766
27767 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27768 is a whole disk
27769
e76fc924 277702009-06-08 Felix Zielcke <fzielcke@z-51.de>
27771
27772 * Makefile.in (uninstall): Remove all $include_DATA files.
27773
ba5a0d05 277742009-06-08 Felix Zielcke <fzielcke@z-51.de>
27775
27776 * commands/true.c: New file. Implement the true and false commands.
27777 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27778 (true_mod_SOURCES): New variable.
27779 (true_mod_CFLAGS): Likewise.
27780 (true_mod_LDFLAGS): Likewise.
27781
c8048e32 277822009-06-05 Colin D Bennett <colin@gibibit.com>
27783
27784 Optimized font character lookup using binary search instead of linear
27785 search. Fonts now are required to have the character index ordered by
27786 code point.
27787
27788 * font/font.c (load_font_index): Verify that fonts have ordered
27789 character indices.
27790 (find_glyph): Use binary search instead of linear search to find a
27791 character in a font.
27792
408305be 277932009-06-05 Michael Scherer <misc@mandriva.org>
27794
27795 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27796 uses case sensitive btree.
27797 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27798 only for case insensitive filesystems.
27799
8ee1e0d9 278002009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27803 * conf/common.rmk (search_mod_CFLAGS): likewise
27804
a9966eb1 278052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27806
473d1e45 27807 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27808 compensate a compiler bug
27809
9e7100fb 278102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27811
473d1e45 27812 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27813 instead of '\b'
473d1e45 27814
ede21d71 278152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 Definitions for creating asm symbols with Apple's CC
27818
27819 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27820 [APPLE_CC] (VARIABLE): likewise
27821
9dbf7653 278222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27823
27824 Disable lnxboot.img when compiled
27825 with Apple's CC
27826
27827 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27828 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27829 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27830 [! APPLE_CC] (CODE_LENG): skip
27831 [! APPLE_CC] (setup_sects): likewise
27832 [! APPLE_CC]: skip filling
473d1e45 27833
e93cdc3d 278342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27835
27836 Address in trampolines based on 32-bit registers when compiled
27837 with Apple's CC
27838
473d1e45 27839 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27840 for addresses
27841 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27842
6c688477 278432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27846
27847 * kern/misc.c [APPLE_CC] (memcpy): new function
27848 [APPLE_CC] (memmove): likewise
27849 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27850 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27851 (memset): likewise
27852 (abort): likewise
27853 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27854 APPLE_CC are defined
27855 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27856 (grub_assert_fail): make prototype conditional
27857
e37ffc5c 278582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27859
27860 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27861
473d1e45 27862 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27863 grub-macho2img
e37ffc5c 27864 (CLEANFILES): add grub-macho2img
27865 (grub_macho2img_SOURCES): new variable
27866 * kern/i386/pc/startup.S (bss_start): new variable
27867 (bss_end): likewise
27868 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27869 * util/grub-macho2img.c: new file
27870
cf00df31 278712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27872
27873 Use objconv when compiling with Apple's CC
27874
27875 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27876 (efiemu64.o): likewise
27877 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27878 when compiling with Apple's CC
27879 (efiemu64_s.o): likewise
27880 * configure.ac: check for objconv when compiling with Apple's CC
27881 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27882
d119a20c 278832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27884
27885 Define segment as well as section when compiling with
27886 Apple's CC
27887
27888 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27889 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27890 (efiemu_convert_pointer): likewise
27891 (efiemu_set_virtual_address_map): likewise
27892 (efiemu_convert_pointer): likewise
27893 (efiemu_getcrc32): likewise
27894 (init_crc32_table): likewise
27895 (reflect): likewise
27896 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27897 (GRUB_MOD_DEP): likewise
473d1e45 27898
c8600122 278992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27900
27901 Allow a compilation without -mcmodel=large
27902
27903 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27904 when compiled without -mcmodel=large
473d1e45 27905 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27906 without -mcmodel=large
473d1e45 27907 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27908 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27909
e8df1d4e 279102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27911
27912 Remove nested functions in efiemu core
27913
27914 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27915
cc6c3ac1 279162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27919
27920 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27921 temporary storage
473d1e45 27922 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27923 using Apple's CC
cc6c3ac1 27924 (grub_cpu_is_tsc_supported): likewise
27925 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27926
3e325901 279272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 Absolute addressing through constant with Apple's cc
27930
27931 * kern/i386/pc/startup.S: Define necessary constants
27932 and address through it when using ABS with Apple's CC
27933 * boot/i386/pc/diskboot.S: likewise
27934 * boot/i386/pc/boot.S: likewise
27935 * boot/i386/pc/lnxboot.S: likewise
27936 * boot/i386/pc/cdboot.S: likewise
27937 * mmap/i386/pc/mmap_helper.S: likewise
27938 * commands/i386/pc/drivemap_int13h.S: likewise
27939
2b167a72 279402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 Check if compiler is apple cc
27943
27944 * Makefile.in (ASFLAGS): new variable
27945 (TARGET_ASFLAGS): likewise
27946 (TARGET_MODULE_FORMAT): likewise
27947 (TARGET_APPLE_CC): likewise
27948 (OBJCONV): likewise
27949 (TARGET_IMG_CFLAGS): likewise
27950 (TARGET_CPPFLAGS): add includedir
27951 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27952 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27953 Check for linker script only if compiler isn't Apple's CC
27954 (TARGET_MODULE_FORMAT): set
27955 (TARGET_APPLE_CC): likewise
27956 (TARGET_ASFLAGS): likewise
27957 (ASFLAGS): likewise
27958 Check for objcopy only if compiler isn't Apple's CC
27959 Check for BSS symbol only if compiler isn't Apple's CC
27960 * genmk.rb: adapt nm options if we use Apple's utils
27961 * aclocal.m4 (grub_apple_cc): new test
27962 (grub_apple_target_cc): likewise
473d1e45 27963
fb14123e 279642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27965
27966 Simplify sed expressions and improve awk
27967
27968 * Makefile.in (install-local): simplify sed expression
27969 * gencmdlist.sh: likewise
27970 * genmoddep.awk: avoid adding module as a dependency of itself
27971
5b889789 279722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27973
27974 Add missing start symbols
27975
27976 * boot/i386/pc/boot.S: add start
fb14123e 27977 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27978
fd2bf2e3 279792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27982
27983 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27984 (relocate_addresses): consider both r_addend and value at offset
27985 (make_mods_section): zerofill modinfo and header
27986 (convert_elf): write prefix here
473d1e45 27987
5389763d 279882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 Use .asciz instead of .string
27991
27992 * i386/pc/diskboot.S: use .asciz instead of .string
27993 * i386/pc/boot.S: likewise
27994 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27995 (GRUB_MOD_NAME): likewise
473d1e45 27996
3eb5ed4e 279972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 gfxpayload support
28000
28001 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28002 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28003 (grub_video_setup): remove
28004 (grub_video_set_mode): new prototype
28005 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28006 (vid_mode): remove
28007 (linux_vesafb_res): compile only on PCBIOS
28008 (grub_linux_boot): support gfxpayload
28009 * loader/i386/pc/xnu.c (video_hook): new function
28010 (grub_xnu_set_video): support gfxpayload
28011 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28012 (DEFAULT_VIDEO_HEIGHT): likewise
28013 (DEFAULT_VIDEO_FLAGS): likewise
28014 (DEFAULT_VIDEO_MODE): new definition
28015 (video_hook): new function
28016 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28017 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28018 loading xnu
28019 * video/video.c (grub_video_setup): removed
473d1e45 28020 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28021 grub_video_setup
28022
4b0e1143 280232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28024
28025 Avoid calling biosdisk in drivemap
28026
28027 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28028 (revparse_biosdisk): likewise
28029 (list_mappings): derive name from id directly
28030 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28031
fda6cb98 280322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28033
28034 Script fixes
28035
28036 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28037 (grub_lexer_param): add tokenonhold
28038 (grub_script_create_cmdline): remove cmdline. All callers updated
28039 (grub_script_function_create): make functionname
28040 grub_script_arg. All callers updated
28041 (grub_script_execute_argument_to_string): new prototype
28042 * kern/parser.c (state_transitions): reorder
28043 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28044 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28045 make global
28046 (grub_script_execute_cmdline): use new format
28047 * script/sh/function.c (grub_script_function_create): make functionname
28048 grub_script_arg. All callers updated
473d1e45 28049 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28050 (grub_script_yylex): remove
28051 (grub_script_yylex2): renamed to ...
28052 (grub_script_yylex): ...renamed
28053 parse the expressions like a${b}c
28054 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28055 (GRUB_PARSER_TOKEN_VAR): remove
28056 (GRUB_PARSER_TOKEN_NAME): likewise
28057 ("if"): declare as typeless
28058 ("while"): likewise
28059 ("function"): likewise
28060 ("else"): likewise
28061 ("then"): likewise
28062 ("fi"): likewise
28063 (text): remove
28064 (argument): likewise
28065 (script): accept empty scripts and make exit on error
28066 (arguments): use GRUB_PARSER_TOKEN_ARG
28067 (function): likewise
28068 (command): move error handling to script
28069 (menuentry): move grub_script_lexer_ref before
473d1e45 28070 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28071 argument. All callers updated
28072
f4448a07 280732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28074
28075 Prevent GRUB from probing floppies during boot.
28076
28077 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28078 * commands/search.c (options): Add --no-floppy.
28079 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28081 --no-floppy when searching for UUIDs.
28082
2bf5885a 280832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28084
28085 Simplify the code duplication in commands/search.c.
28086
28087 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28088 (search_fs): ... this. Update all users.
28089
f6fd460a 280902009-06-03 Felix Zielcke <fzielcke@z-51.de>
28091
28092 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28093
cbb3c83e 280942009-05-28 Pavel Roskin <proski@gnu.org>
28095
57788cfd 28096 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28097 Remove the original symlink explicitly.
28098
cbb3c83e 28099 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28100 just one slash. That's how grub_fshelp_find_file() does it.
28101
cd0d5e30 281022009-05-26 Pavel Roskin <proski@gnu.org>
28103
f0f8bbe2 28104 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28105 to `str'.
28106
cd0d5e30 28107 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28108 possibly unused.
28109
8c2cab51 281102009-05-25 Christian Franke <franke@computer.org>
28111
28112 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28113 register.
28114 (grub_atapi_identify): Add wait after drive select.
28115 (grub_ata_identify): Do more strict status register check before
28116 calling grub_atapi_identify (). Suppress error message if status
28117 register is 0x00 after command failure. Add status register
28118 check after PIO read to avoid bogus identify due to stuck DRQ.
28119 Thanks to Pavel Roskin for testing.
28120 (grub_device_initialize): Remove unsafe status register check.
28121 Thanks to 'phcoder' for problem report and patch.
28122 Prevent sign extension in debug message.
28123
230c0ad6 281242009-05-23 Colin D Bennett <colin@gibibit.com>
28125
28126 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28127 definition file, and functions defined in `normal/menu.c' have had
28128 their prototypes moved to `include/grub/menu.h' for consistency.
28129
28130 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28131 from normal.h.
28132 (grub_menu_get_entry): Likewise.
28133 (grub_menu_get_timeout): Likewise.
28134 (grub_menu_set_timeout): Likewise.
28135 (grub_menu_execute_entry): Likewise.
28136 (grub_menu_execute_with_fallback): Likewise.
28137 (grub_menu_entry_run): Likewise.
28138
28139 * include/grub/normal.h: Re-ordered and grouped function
28140 prototypes by file that the function is defined in.
28141 (grub_menu_execute_callback): Removed; moved to menu.h.
28142 (grub_menu_get_entry): Likewise.
28143 (grub_menu_get_timeout): Likewise.
28144 (grub_menu_set_timeout): Likewise.
28145 (grub_menu_execute_entry): Likewise.
28146 (grub_menu_execute_with_fallback): Likewise.
28147 (grub_menu_entry_run): Likewise.
28148 (grub_menu_addentry): Renamed from this ...
28149 (grub_normal_add_menu_entry): ... to this.
28150
28151 * normal/main.c (grub_menu_addentry): Renamed from this ...
28152 (grub_normal_add_menu_entry): ... to this.
28153
28154 * script/sh/execute.c (grub_script_execute_menuentry): Update
28155 reference to renamed grub_menu_addentry function.
28156
861f03a5 281572009-05-23 Felix Zielcke <fzielcke@z-51.de>
28158
28159 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28160
96b1619a 281612009-05-22 Pavel Roskin <proski@gnu.org>
28162
bf6a5fb2 28163 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28164 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28165 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28166 compiling for the i386 targets, but not for the utilities.
28167
96b1619a 28168 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28169 to grub_uint8_t.
28170 (grub_root_drive): Likewise.
28171 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28172 remove alignment.
28173 (grub_root_drive): Change size to byte.
28174 (grub_start_addr): Remove.
28175 (grub_end_addr): Likewise.
28176 (grub_apm_bios_info): Likewise.
28177
b729776b 281782009-05-21 Felix Zielcke <fzielcke@z-51.de>
28179
28180 * normal/i386: Remove.
28181 * normal/powerpc: Likewise.
28182 * normal/sparc64: Likewise.
28183 * normal/x86_64: Likewise.
28184
0a15ce80 281852009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28186
28187 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28188 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28189 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28190
33db9015 281912009-05-18 Colin D Bennett <colin@gibibit.com>
28192
d6da58e6 28193 Display error messages when parsing a Lua statement fails.
28194 Previously, executing a syntactically invalid statement like
28195 ")foo" or "bar;" would silently fail.
33db9015 28196
28197 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28198 (grub_lua_parse_line): Improved reporting of Lua parser and
28199 execution errors.
33db9015 28200
46422c89 282012009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28202
28203 Remove -Werror which causes build to fail on some systems
28204
28205 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28206 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28207 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28208
22f53a96 282092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 trampoline for linux on 64-bit platform
28212
18f547ad 28213 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28214 loader/i386/efi/linux_trampoline.S
28215 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28216 declaration
d6da58e6 28217 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28218 here
22f53a96 28219 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28220 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28221 trampoline
22f53a96 28222 (jumpvector): removed
28223 (grub_linux_trampoline_start): new declaration
28224 (grub_linux_trampoline_end): likewise
28225 (grub_linux_boot): use trampoline when on 64-bit platform
28226 * loader/i386/linux.c: likewise
28227
cb5a0f40 282282009-05-16 Pavel Roskin <proski@gnu.org>
28229
28230 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28231 const to avoid a warning.
28232 (grub_lua_setenv): Likewise.
28233 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28234 lmsg to fix a warning.
28235
334f2c28 282362009-05-16 Felix Zielcke <fzielcke@z-51.de>
28237
28238 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28239 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28240 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28241 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28242 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28243 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28244 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28245 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28246
59e5d3ec 282472009-05-16 Felix Zielcke <fzielcke@z-51.de>
28248
28249 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28250
9d87a1ba 282512009-05-16 Bean <bean123ch@gmail.com>
28252
28253 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28254 (lua_mod_SOURCES): New variable.
28255 (lua_mod_CFLAGS): Likewise.
28256 (lua_mod_LDFLAGS): Likewise.
28257
28258 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28259 (setjmp_mod_SOURCES): New variable.
28260 (setjmp_mod_CFLAGS): Likewise.
28261 (setjmp_LDFLAGS): Likewise.
28262
28263 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28264 (setjmp_mod_SOURCES): New variable.
28265 (setjmp_mod_CFLAGS): Likewise.
28266 (setjmp_LDFLAGS): Likewise.
28267
28268 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28269 (setjmp_mod_SOURCES): New variable.
28270 (setjmp_mod_CFLAGS): Likewise.
28271 (setjmp_LDFLAGS): Likewise.
28272
28273 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28274 (setjmp_mod_SOURCES): New variable.
28275 (setjmp_mod_CFLAGS): Likewise.
28276 (setjmp_LDFLAGS): Likewise.
28277
28278 * normal/i386/setjmp.S: Moved from here ...
28279 * lib/i386/setjmp.S: ... Moved here
28280 * normal/x86_64/setjmp.S: Moved from here ...
28281 * lib/x86_64/setjmp.S: ... Moved here
28282 * normal/powerpc/setjmp.S: Moved from here ...
28283 * lib/powerpc/setjmp.S: ... Moved here
28284 * normal/sparc64/setjmp.S: Moved from here ...
28285 * lib/sparc64/setjmp.S: ... Moved here
28286
28287 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28288 returns_twice in mingw.
28289
28290 * script/lua/grub_lib.c: New file.
28291 * script/lua/grub_lib.h: Likewise.
28292 * script/lua/grub_lua.h: Likewise.
28293 * script/lua/grub_main.c: Likewise.
28294 * script/lua/lapi.c: Likewise.
28295 * script/lua/lapi.h: Likewise.
28296 * script/lua/lauxlib.c: Likewise.
28297 * script/lua/lauxlib.h: Likewise.
28298 * script/lua/lbaselib.c: Likewise.
28299 * script/lua/lcode.c: Likewise.
28300 * script/lua/lcode.h: Likewise.
28301 * script/lua/ldblib.c: Likewise.
28302 * script/lua/ldebug.c: Likewise.
28303 * script/lua/ldebug.h: Likewise.
28304 * script/lua/ldo.c: Likewise.
28305 * script/lua/ldo.h: Likewise.
28306 * script/lua/ldump.c: Likewise.
28307 * script/lua/lfunc.c: Likewise.
28308 * script/lua/lfunc.h: Likewise.
28309 * script/lua/lgc.c: Likewise.
28310 * script/lua/lgc.h: Likewise.
28311 * script/lua/linit.c: Likewise.
28312 * script/lua/liolib.c: Likewise.
28313 * script/lua/llex.c: Likewise.
28314 * script/lua/llex.h: Likewise.
28315 * script/lua/llimits.h: Likewise.
28316 * script/lua/lmathlib.c: Likewise.
28317 * script/lua/lmem.c: Likewise.
28318 * script/lua/lmem.h: Likewise.
28319 * script/lua/loadlib.c: Likewise.
28320 * script/lua/lobject.c: Likewise.
28321 * script/lua/lobject.h: Likewise.
28322 * script/lua/lopcodes.c: Likewise.
28323 * script/lua/lopcodes.h: Likewise.
28324 * script/lua/loslib.c: Likewise.
28325 * script/lua/lparser.c: Likewise.
28326 * script/lua/lparser.h: Likewise.
28327 * script/lua/lstate.c: Likewise.
28328 * script/lua/lstate.h: Likewise.
28329 * script/lua/lstring.c: Likewise.
28330 * script/lua/lstring.h: Likewise.
28331 * script/lua/lstrlib.c: Likewise.
28332 * script/lua/ltable.c: Likewise.
28333 * script/lua/ltable.h: Likewise.
28334 * script/lua/ltablib.c: Likewise.
28335 * script/lua/ltm.c: Likewise.
28336 * script/lua/ltm.h: Likewise.
28337 * script/lua/lua.h: Likewise.
28338 * script/lua/luaconf.h: Likewise.
28339 * script/lua/lualib.h: Likewise.
28340 * script/lua/lundump.c: Likewise.
28341 * script/lua/lundump.h: Likewise.
28342 * script/lua/lvm.c: Likewise.
28343 * script/lua/lvm.h: Likewise.
28344 * script/lua/lzio.c: Likewise.
28345 * script/lua/lzio.h: Likewise.
28346
5e898c9d 283472009-05-16 Bean <bean123ch@gmail.com>
28348
28349 * include/grub/kernel.h (grub_module_header_types): Add type
28350 OBJ_TYPE_CONFIG.
28351
28352 * kern/main.c (grub_load_config): New function.
28353 (grub_main): Call grub_load_config to read boot config.
28354
28355 * grub-mkimage (generate_image): New parameter config_path.
28356 (options): New option --config.
28357 (main): Parse --config option, and pass it to generate_image.
28358
cf353a47 283592009-05-14 Christian Franke <franke@computer.org>
28360
28361 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28362 This fixes build on Cygwin.
28363
3834887f 283642009-05-14 Pavel Roskin <proski@gnu.org>
28365
28366 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28367 jump. This saves two bytes, so the typical case of 2 swapped
28368 drives would fit 32 bytes.
28369
8090fc01 283702009-05-13 Pavel Roskin <proski@gnu.org>
28371
ac963883 28372 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28373 grub_uint32_t to avoid a warning.
28374
8090fc01 28375 * loader/i386/linux.c (allocate_pages): When assigning
28376 real_mode_mem, cast through grub_size_t to fix a warning. The
28377 code already makes sure that the value would fit a pointer.
28378 (grub_linux_setup_video): Cast render_target->data to
28379 grub_size_t to fix a warning.
28380
18f547ad 283812009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28382
28383 * commands/i386/pc/drivemap.c: New file - implement drivemap
28384 command.
28385 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28386 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28387
6f6a8b28 283882009-05-13 Pavel Roskin <proski@gnu.org>
28389
28390 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28391 embedding_area_exists.
28392
15fbf4c4 283932009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28394
28395 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28396 it easier to understand / work with.
59978c8a 28397 Improve warning messages for cases where there's no embedding area,
28398 or when it is too small (or core.img too large).
15fbf4c4 28399
238e871f 284002009-05-13 Pavel Roskin <proski@gnu.org>
28401
0ab3a9a4 28402 * loader/i386/pc/multiboot2.c: Add necessary includes for
28403 grub_multiboot2_real_boot().
28404
a2c8c5f8 28405 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28406 PX record is always little-endian. We only need the lower 2
28407 bytes of the mode.
28408
faec96af 28409 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28410 facilitate code reuse.
28411 (grub_cpio_mount): Use "struct head", not a char buffer. This
28412 fixes a warning reported by gcc 4.4.
28413
238e871f 28414 * kernel/disk.c (grub_disk_read): Use void pointer for the
28415 buffer.
28416 (grub_disk_write): Use const void pointer for the buffer.
28417 Adjust all callers. Remove unnecessary casts.
28418
901d2f0c 284192009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28420
28421 * util/i386/pc/grub-install.in: Update copyright year.
28422
18f547ad 284232009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28424
28425 gptsync
28426
28427 * commands/gptsync.c: new file
28428 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28429 (gptsync_mod_SOURCES): new variable
28430 (gptsync_mod_CFLAGS): likewise
28431 (gptsync_mod_LDFLAGS): likewise
18f547ad 28432 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28433 new definition
28434 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28436 * conf/i386-ieee1275.rmk: likewise
28437 * conf/i386-pc.rmk: likewise
28438 * conf/powerpc-ieee1275.rmk: likewise
28439
b4ba690a 284402009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28441
28442 Fixed grub-emu
28443
28444 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28445 (grub_dl_ref): likewise
28446
317e1a44 284472009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28450 split in two functions (one for msdos and one for gpt).
28451
041b8094 284522009-05-08 Pavel Roskin <proski@gnu.org>
28453
752473c2 28454 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28455 not modified.
28456
041b8094 28457 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28458 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28459 Initialize them with -1. Add sanity check for bad1. Eliminate
28460 nerr variable.
28461
172800ce 284622009-05-08 David S. Miller <davem@davemloft.net>
28463
28464 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28465
29aa5e81 284662009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28467
28468 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28469 existence.
29aa5e81 28470
96613b62 284712009-05-05 Felix Zielcke <fzielcke@z-51.de>
28472
28473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28474 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28475
eef73c8a 284762009-05-05 David S. Miller <davem@davemloft.net>
28477
28478 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28479
119494b5 284802009-05-05 Pavel Roskin <proski@gnu.org>
28481
28482 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28483 of grub_dl_ref() and grub_dl_unref().
28484 * commands/parttool.c: Remove preprocessor conditionals around
28485 grub_dl_ref() and grub_dl_unref().
28486 * fs/affs.c: Likewise.
28487 * fs/afs.c: Likewise.
28488 * fs/cpio.c: Likewise.
28489 * fs/ext2.c: Likewise.
28490 * fs/fat.c: Likewise.
28491 * fs/hfs.c: Likewise.
28492 * fs/hfsplus.c: Likewise.
28493 * fs/iso9660.c: Likewise.
28494 * fs/jfs.c: Likewise.
28495 * fs/minix.c: Likewise.
28496 * fs/ntfs.c: Likewise.
28497 * fs/reiserfs.c: Likewise.
28498 * fs/sfs.c: Likewise.
28499 * fs/udf.c: Likewise.
28500 * fs/ufs.c: Likewise.
28501 * fs/xfs.c: Likewise.
28502 * include/grub/dl.h: Likewise.
28503 * loader/xnu.c: Likewise.
28504
de5fd76e 285052009-05-04 Pavel Roskin <proski@gnu.org>
28506
28507 * commands/acpi.c: Remove unused variable my_mod.
28508 * partmap/amiga.c: Likewise.
28509 * partmap/apple.c: Likewise.
28510 * partmap/gpt.c: Likewise.
28511 * partmap/pc.c: Likewise.
28512 * partmap/sun.c: Likewise.
28513 * term/gfxterm.c: Likewise.
28514 * term/i386/pc/vesafb.c: Likewise.
28515 * term/i386/pc/vga.c: Likewise.
28516
983598ad 285172009-05-04 David S. Miller <davem@davemloft.net>
28518
28519 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28520 pointer args to grub_ieee1275_get_property().
28521
8aadec43 28522 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28523
9554b15e 28524 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28525 devices, and do not traverse down under controller nodes.
28526
67e23c90 28527 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28528 (grub_ofdisk_open): Use it to un-escape "," characters.
28529 * kern/disk.c (find_part_sep): New.
28530 (grub_disk_open): Use it to find the first non-escaped ','
28531 character in the disk name.
28532 * util/ieee1275/devicemap.c (escape_of_path): New.
28533 (grub_util_emit_devicemap_entry): Use it.
28534 * util/sparc64/ieee1275/grub-install.in: Update script to
28535 strip partition specifiers properly by not triggering on
28536 '\' escaped ',' characters.
28537
74bfdd2f 285382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28539
28540 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28541 to 0x300.
28542 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28543 resolutions.
28544 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28545 on documentation from Wikipedia).
28546
4241d2b1 285472009-05-04 Pavel Roskin <proski@gnu.org>
28548
28549 * disk/ata.c: Spelling fixes.
28550 * disk/raid.c: Likewise.
28551 * disk/usbms.c: Likewise.
28552 * disk/dmraid_nvidia.c: Likewise.
28553 * kern/ieee1275/openfw.c: Likewise.
28554 * kern/ieee1275/init.c: Likewise.
28555 * kern/ieee1275/cmain.c: Likewise.
28556 * boot/i386/pc/cdboot.S: Likewise.
28557 * video/readers/png.c: Likewise.
28558 * video/i386/pc/vbe.c: Likewise.
28559 * fs/udf.c: Likewise.
28560 * fs/hfs.c: Likewise.
28561 * fs/reiserfs.c: Likewise.
28562 * efiemu/runtime/efiemu.c: Likewise.
28563 * efiemu/main.c: Likewise.
28564 * efiemu/mm.c: Likewise.
28565 * include/grub/elf.h: Likewise.
28566 * include/grub/xnu.h: Likewise.
28567 * include/grub/usbdesc.h: Likewise.
28568 * include/grub/usb.h: Likewise.
28569 * include/grub/script_sh.h: Likewise.
28570 * include/grub/lib/LzmaEnc.h: Likewise.
28571 * include/grub/efiemu/efiemu.h: Likewise.
28572 * include/grub/command.h: Likewise.
28573 * normal/menu.c: Likewise.
28574 * normal/main.c: Likewise.
28575 * normal/datetime.c: Likewise.
28576 * bus/usb/uhci.c: Likewise.
28577 * mmap/i386/uppermem.c: Likewise.
28578 * mmap/mmap.c: Likewise.
28579 * commands/acpi.c: Likewise.
28580 * commands/test.c: Likewise.
28581 * partmap/apple.c: Likewise.
28582 * font/font.c: Likewise.
28583 * loader/sparc64/ieee1275/linux.c: Likewise.
28584 * loader/macho.c: Likewise.
28585 * loader/i386/bsd_trampoline.S: Likewise.
28586 * loader/i386/bsd.c: Likewise.
28587 * loader/xnu.c: Likewise.
28588 * term/i386/pc/vesafb.c: Likewise.
28589 * term/usb_keyboard.c: Likewise.
28590 * util/resolve.c: Likewise.
28591 * util/getroot.c: Likewise.
28592
0cfc0083 285932009-05-04 Felix Zielcke <fzielcke@z-51.de>
28594
28595 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28596
7c1d00cd 285972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28598
28599 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28600 build error.
28601
b01f0548 286022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28603
28604 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28605 parameter only available on BIOS.
28606
ecc3eb22 286072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28608
28609 Removed wrong semicolon in declaration
28610
28611 * grub/misc.h (grub_dprintf): remove semicolon
28612
112972a9 286132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28614
28615 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28616 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28617 is done by grub_cmd_linux() now).
28618 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28619 restore video to text mode.
28620 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28621 indicates lack of "vga=" parameter. "vga=0" is mapped to
28622 `GRUB_LINUX_VID_MODE_NORMAL'.
28623
afd5c115 286242009-05-04 Felix Zielcke <fzielcke@z-51.de>
28625
28626 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28627 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28628 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28629 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28630 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28631 `grub_script.tab.c'.
28632
28633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28634 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28638
faa517ce 28639 * Makefile.in: Remove duplicated 2008 in Copyright line.
28640
ae0c0bdc 286412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28642
473d1e45 28643 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28644 unconditionally.
28645 * include/grub/util/misc.h (grub_util_warn): New declaration.
28646
28647 * util/i386/pc/grub-install.in: Understand --force and pass it down
28648 to grub-setup.
28649
28650 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28651 down to setup().
28652 (setup): Improve error messages and add warnings when requested to
28653 install in odd layouts. Refuse to install using blocklists unless
28654 --force was set.
28655
18f547ad 286562009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28657
28658 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28659
6d260daa 286602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 Updated copyright year
28663
28664 * fs/hfsplus.c: updated copyright year
18f547ad 28665
69f853f8 286662009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28667
28668 HFS+ UUID
28669
18f547ad 28670 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28671 in the space previously used by unused3
28672 (grub_hfsplus_uuid): new function
28673 (grub_hfsplus_fs): added uuid field
28674
4c402e73 286752009-05-03 Pavel Roskin <proski@gnu.org>
28676
28677 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28678 suppress warnings. It's no longer needed.
28679 * disk/host.c: Likewise.
28680 * disk/ata_pthru.c: Likewise.
28681 * disk/loopback.c: Likewise.
28682 * hook/datehook.c: Likewise.
28683 * parttool/pcpart.c: Likewise.
28684 * fs/i386/pc/pxe.c: Likewise.
28685 * fs/ntfscomp.c: Likewise.
28686 * efiemu/main.c: Likewise.
28687 * mmap/mmap.c: Likewise.
28688 * commands/crc.c: Likewise.
28689 * commands/hexdump.c: Likewise.
28690 * commands/hdparm.c: Likewise.
28691 * commands/acpi.c: Likewise.
28692 * commands/echo.c: Likewise.
28693 * commands/minicmd.c: Likewise.
28694 * commands/blocklist.c: Likewise.
28695 * commands/memrw.c: Likewise.
28696 * commands/loadenv.c: Likewise.
28697 * commands/usbtest.c: Likewise.
28698 * commands/lsmmap.c: Likewise.
28699 * commands/boot.c: Likewise.
28700 * commands/parttool.c: Likewise.
28701 * commands/configfile.c: Likewise.
28702 * commands/search.c: Likewise.
28703 * commands/ieee1275/suspend.c: Likewise.
28704 * commands/cat.c: Likewise.
28705 * commands/i386/pc/pxecmd.c: Likewise.
28706 * commands/i386/pc/play.c: Likewise.
28707 * commands/i386/pc/halt.c: Likewise.
28708 * commands/i386/pc/vbeinfo.c: Likewise.
28709 * commands/i386/pc/vbetest.c: Likewise.
28710 * commands/lspci.c: Likewise.
28711 * commands/date.c: Likewise.
28712 * commands/handler.c: Likewise.
28713 * commands/ls.c: Likewise.
28714 * commands/test.c: Likewise.
28715 * commands/cmp.c: Likewise.
28716 * commands/efi/loadbios.c: Likewise.
28717 * commands/efi/fixvideo.c: Likewise.
28718 * commands/halt.c: Likewise.
28719 * commands/help.c: Likewise.
28720 * commands/reboot.c: Likewise.
28721 * hello/hello.c: Likewise.
28722 * script/sh/main.c: Likewise.
28723 * loader/xnu.c: Likewise.
28724 * term/terminfo.c: Likewise.
28725 * term/i386/pc/serial.c: Likewise.
28726 * term/usb_keyboard.c: Likewise.
28727
515b5079 287282009-05-03 David S. Miller <davem@davemloft.net>
28729
28730 * normal/menu.c: Include grub/parser.h
28731
dfc31a22 287322009-05-03 Pavel Roskin <proski@gnu.org>
28733
2fee74f1 28734 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28735 not char*.
28736 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28737 Suggested by Javier Martín <lordhabbit@gmail.com>
28738
dfc31a22 28739 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28740 efiemu??.o doesn't exist.
28741 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28742 copying.
28743
18f547ad 287442009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28745
28746 FreeBSD 64-bit support
28747
18f547ad 28748 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28749 and loader/i386/bsd_trampoline.S
28750 (bsd_mod_ASFLAGS): new variable
28751 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28752 (FREEBSD_MODTYPE_KERNEL64): likewise
28753 (grub_bsd64_trampoline_start): likewise
28754 (grub_bsd64_trampoline_end): likewise
28755 (grub_bsd64_trampoline_selfjump): likewise
28756 (grub_bsd64_trampoline_gdt): likewise
28757 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28758 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28759 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28760 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28761 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28762 of "attrib" member
28763 * loader/i386/bsd_pagetable.c: new file
28764 * loader/i386/bsd_trampoline.S: likewise
28765 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28766 (ALIGN_VAR): likewise
28767 (entry_hi): new variable
28768 (kern_end_mdofs): likewise
28769 (is_64bit): likewise
28770 (grub_freebsd_add_meta): use ALIGN_VAR
28771 (grub_e820_mmap): new declaration
28772 (grub_freebsd_add_mmap): new function
28773 (grub_freebsd_add_meta_module): support 64 bit kernels
28774 (grub_freebsd_list_modules): use ALIGN_VAR
28775 (gdt_descriptor): new declaration
28776 (grub_freebsd_boot): support 64 bit kernels
28777 (grub_bsd_elf64_hook): new function
28778 (grub_bsd_load_elf): support elf64
28779
038c5720 287802009-05-03 Bean <bean123ch@gmail.com>
28781
28782 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28783 after we get the result of if statement.
28784
fc45fb58 287852009-05-03 Bean <bean123ch@gmail.com>
28786
28787 * Makefile.in (enable_efiemu): New variable.
28788
28789 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28790 set.
28791 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28792 path.
28793 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28794 path, add -mno-red-zone option.
28795 (efiemu64_s.o): Likewise.
28796 (efiemu64.o): Use macro $^ for source file.
28797
28798 * configure.ac (--enable-efiemu): New option.
28799
bbee0f2b 288002009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 xnu support
28803
28804 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28805 (pkglib_MODULES): add xnu.mod
28806 (xnu_mod_SOURCES): new variable
28807 (xnu_mod_CFLAGS): likewise
28808 (xnu_mod_LDFLAGS): likewise
28809 (xnu_mod_ASFLAGS): likewise
28810 * conf/i386-pc.rmk: likewise
28811 * conf/x86_64-efi.rmk: likewise
7dd4a573 28812 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28813 new declaration
28814 * include/grub/i386/macho.h: new file
28815 * include/grub/i386/xnu.h: likewise
28816 * include/grub/macho.h: likewise
28817 * include/grub/machoload.h: likewise
28818 * include/grub/x86_64/macho.h: likewise
28819 * include/grub/x86_64/xnu.h: likewise
28820 * include/grub/xnu.h: likewise
28821 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28822 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28823 * loader/i386/efi/xnu.c: new file
28824 * loader/i386/pc/xnu.c: likewise
28825 * loader/i386/xnu.c: likewise
28826 * loader/i386/xnu_helper.S: likewise
28827 * loader/macho.c: likewise
28828 * loader/xnu.c: likewise
28829 * loader/xnu_resume.c: likewise
28830 * util/grub-dumpdevtree: likewise
28831 * include/grub/i386/pit.h: include grub/err.h
28832 (grub_pit_wait): export
28833 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28834
5caf964d 288352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 Efiemu
7dd4a573 28838
5caf964d 28839 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28840 _linux_efi, linux_efi.
28841 new files in grub-emu
5caf964d 28842 new targets efiemu32.o and efiemu64.o
28843 * loader/linux_normal_efiemu.c: likewise
28844 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28845 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28846 files to copy
28847 * include/grub/autoefi.h: new file
7dd4a573 28848 * include/grub/i386/efiemu.h: likewise
5caf964d 28849 * include/grub/i386/pc/efiemu.h: likewise
28850 * include/grub/efi/api.h: add LL suffix when necessary
28851 new definitions relating to tables
28852 * include/grub/efiemu/efiemu.h: new file
28853 * include/grub/efiemu/runtime.h: likewise
28854 * efiemu/prepare.c: likewise
28855 * efiemu/loadcore_common.c: likewise
28856 * efiemu/loadcore64.c: likewise
28857 * efiemu/runtime/efiemu.sh: likewise
28858 * efiemu/runtime/efiemu.S: likewise
28859 * efiemu/runtime/efiemu.c: likewise
28860 * efiemu/runtime/config.h: likewise
28861 * efiemu/prepare32.c: likewise
28862 * efiemu/main.c: likewise
28863 * efiemu/modules/pnvram.c: likewise
28864 * efiemu/modules/i386: likewise
28865 * efiemu/modules/i386/pc: likewise
28866 * efiemu/modules/acpi.c: likewise
28867 * efiemu/i386/pc/cfgtables.c: likewise
28868 * efiemu/i386/loadcore64.c: likewise
28869 * efiemu/i386/loadcore32.c: likewise
28870 * efiemu/prepare64.c: likewise
28871 * efiemu/loadcore.c: likewise
28872 * efiemu/symbols.c: likewise
28873 * efiemu/mm.c: likewise
28874 * efiemu/loadcore32.c: likewise
7dd4a573 28875
288762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28877
28878 ACPI spoofing
28879
28880 * commands/acpi.c: new file
28881 * commands/i386/pc/acpi.c: likewise
28882 * commands/efi/acpi.c: likewise
28883 * include/grub/acpi.h: likewise
28884 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28885 (acpi_mod_SOURCES): new variable
28886 (acpi_mod_CFLAGS): likewise
28887 (acpi_mod_LDFLAGS): likewise
28888 * conf/i386-efi.rmk: likewise
28889 * conf/x86_64-efi.rmk: likewise
28890
7dd4a573 288912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28892
28893 Missing part from mmap patch
28894
28895 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28896 (grub_mmap_unregister)
28897 (grub_mmap_free_and_unregister): use grub_mmap_register
28898
7dd4a573 288992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28900
28901 Mmap services
28902
28903 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28904 * loader/i386/linux.c (find_mmap_size): likewise
28905 (allocate_pages): likewise
28906 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28907 (grub_fill_multiboot_mmap): likewise
28908 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28909 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28910 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28911 (OPENBSD_MMAP_RESERVED): likewise
28912 * include/grub/i386/pc/memory.h: include grub/memory.h
28913 (grub_lower_mem): removed
28914 (grub_upper_mem): likewise
28915 (GRUB_MACHINE_MEMORY_ACPI): new definition
28916 (GRUB_MACHINE_MEMORY_NVS): likewise
28917 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28918 (GRUB_MACHINE_MEMORY_HOLE): likewise
28919 (grub_machine_mmap_register): likewise
28920 (grub_machine_mmap_unregister): likewise
28921 (grub_machine_get_upper): likewise
28922 (grub_machine_get_lower): likewise
28923 (grub_machine_get_post64): likewise
28924 * include/grub/i386/efi/memory.h: new file
28925 * include/grub/x86_64/efi/memory.h: likewise
28926 * include/grub/efi/memory.h: likewise
28927 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28928 (mmap_mod_SOURCES): new variable
28929 (mmap_mod_LDFLAGS): likewise
28930 (mmap_mod_ASFLAGS): likewise
28931 * conf/i386-coreboot.rmk: likewise
28932 * conf/i386-ieee1275.rmk: likewise
28933 * conf/i386-efi.rmk: likewise
28934 * conf/x86_64-efi.rmk: likewise
28935 * include/grub/types.h (UINT_TO_PTR): new macro
28936 (PTR_TO_UINT32): likewise
28937 (PTR_TO_UINT64): likewise
28938 * include/grub/memory.h: new file
28939 * mmap/i386/pc/mmap.c: likewise
28940 * mmap/i386/pc/mmap_helper.S: likewise
28941 * mmap/i386/uppermem.c: likewise
28942 * mmap/mmap.c: likewise
28943 * mmap/efi/mmap.c: likewise
7dd4a573 28944 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28945 grub_upper_mem
28946 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28947 (grub_upper_mem): likewise
28948 (grub_machine_init): don't use grub_upper_mem,
28949 make grub_lower_mem local
28950 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28951 grub_mmap_iterate and grub_mmap_get_upper
28952 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28953
d558e6b5 289542009-05-02 Bean <bean123ch@gmail.com>
28955
28956 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28957 script/sh/parser.y.
28958 (pkglib_MODULES): Add normal.mod and sh.mod.
28959 (normal_SOURCES): New variable.
28960 (normal_mod_CFLAGS): Likewise.
28961 (normal_mod_LDFLAGS): Likewise.
28962 (sh_mod_SOURCES): Likewise.
28963 (sh_mod_CFLAGS): Likewise.
28964 (sh_mod_LDFLAGS): Likewise.
28965
28966 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28967 script/sh/lexer.c_DEPENDENCIES.
28968 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28969 kern/rescue_reader.c and kern/rescue_parser.c.
28970 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28971 (grub_emu_SOURCES): Change source files.
28972 (pkglib_MODULES): Remove normal.mod.
28973 (normal_SOURCES): Removed.
28974 (normal_mod_CFLAGS): Likewise.
28975 (normal_mod_LDFLAGS): Likewise.
28976 * conf/i386-coreboot.rmk: Likewise.
28977 * conf/i386-efi.rmk: Likewise.
28978 * conf/i386-ieee1276.rmk: Likewise.
28979 * conf/powerpc-ieee1275.rmk: Likewise.
28980 * conf/sparc64-ieee1275.rmk: Likewise.
28981 * conf/x86_64-efi.rmk: Likewise.
28982
28983 * include/grub/command.h (grub_command_execute): New inline function.
28984
28985 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28986
28987 * include/grub/normal.h: Remove <grub/setjmp.h>.
28988 (grub_fs_module_list): Moved to normal/autofs.c.
28989 (grub_exit_env): Removed.
28990 (grub_command_execute): Likewise.
28991 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28992 parameter script.
28993 (read_command_list): New function declaration.
28994 (read_fs_list): Likewise.
28995
28996 * include/parser.h: Include <grub/reader.h>.
28997 (grub_parser_split_cmdline): Change type of getline parameter.
28998 (grub_parser): New structure.
28999 (grub_parser_class): New variable.
29000 (grub_parser_execute): New function declaration.
29001 (grub_register_rescue_parser): Likewise.
29002 (grub_parser_register): New inline function.
29003 (grub_parser_unregister): Likewise.
29004 (grub_parser_get_current): Likewise.
29005 (grub_parser_set_current): Likewise.
29006
29007 * include/grub/reader.h: New file.
29008 * kern/reader.c: Likewise.
29009 * kern/rescue_parser.c: Likewise.
29010 * kern/rescue_reader.c: Likewise.
29011 * normal/autofs.c: Likewise.
29012 * normal/dyncmd.c: Likewise.
29013
29014 * include/grub/rescue.h: Removed.
29015 * normal/command.h: Likewise.
29016
29017 * include/grub/script.h: Moved to ...
29018 * include/grub/script_sh.h: ... Moved here.
29019 * normal/execute.c: Moved to ...
29020 * script/sh/execute.c: ... Moved here.
29021 * normal/function.c: Moved to ...
29022 * script/sh/function.c: ... Moved here.
29023 * normal/lexer.c: Moved to ...
29024 * script/sh/lexer.c: ... Moved here.
29025 * normal/parser.y: Moved to ...
29026 * script/sh/parser.y: ... Moved here.
29027 * normal/script.c: Moved to ...
29028 * script/sh/script.c: ... Moved here.
29029
29030 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29031 <grub/reader.h>.
29032 (grub_exit_env): Removed.
29033 (fs_module_list): Moved to normal/autofs.c.
29034 (grub_file_getline): Don't handle comment here.
29035 (free_menu): Skip removed field entry->commands.
29036 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29037 script parameter.
29038 (read_config_file): Removed nested parameter, change getline function.
29039 (grub_enter_normal_mode): Removed.
29040 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29041 (read_command_list): Likewise.
29042 (autoload_fs_module): Moved to normal/autofs.c.
29043 (read_fs_list): Likewise.
29044 (reader_nested): New variable.
29045 (grub_normal_execute): Run parser.sh to switch to sh parser.
29046 (grub_cmd_rescue): Removed.
29047 (cmd_normal): Removed.
29048 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29049 rescue command.
29050 (grub_cmdline_run): New function.
29051 (grub_normal_reader_init): Likewise.
29052 (grub_normal_read_line): Likewise.
29053 (grub_env_write_pager): Likewise.
29054 (cmdline): New variable.
29055 (grub_normal_reader): Likewise.
29056 (GRUB_MOD_INIT): Register normal reader and set as current, register
29057 pager hook, register normal command with grub_register_command_prio,
29058 so that it won't show up in command.lst.
29059 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29060 grub_fs_autoload_hook.
29061
29062 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29063 (grub_menu_execute_entry): Replace grub_script_execute with
29064 grub_parser_execute, change parameter to grub_command_execute.
29065
29066 * normal/menu_text.c: Remove <grub/script.h>.
29067
29068 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29069 and <grub/parser.h>.
29070 (run): Change editor_getline to use new parser interface. Change
29071 parameter to grub_command_execute.
29072
29073 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29074 <grub/reader.h> and <grub/parser.h>.
29075 (grub_load_normal_mode): Execute normal command.
29076 (grub_main): Call grub_register_core_commands,
29077 grub_register_rescue_parser and grub_register_rescue_reader, use
29078 grub_reader_loop to enter input loop.
29079
7dd4a573 29080 * kern/parser.c (grub_parser_split_cmdline): Change type of
29081 getline parameter.
d558e6b5 29082 (grub_parser_class): New variable.
29083 (grub_parser_execute): New function.
29084
29085 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29086 * loader/multiboot2.c: Likewise.
29087 * loader/sparc64/ieee1275/linux.c: Likewise.
29088
29089 * util/grub-emu.c (read_command_list): New dummy function.
29090
18db813d 290912009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29092
29093 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29094 count to 16 for CCISS and IDA.
29095
6c67de15 290962009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29097
29098 * normal/menu_text.c (grub_wait_after_message): Print a newline
29099 after waiting for user input.
29100
29101 * loader/i386/linux.c: Include `<grub/normal.h>'.
29102 (grub_cmd_linux): Improve the error message about `ask' mode, by
29103 waiting for user input so it's not missed (we can do this, since
29104 user requested interaction).
29105
d9dc87b0 291062009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29107
29108 Added missing lst to grub-mkrescue
29109
29110 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29111 and ${input_dir}/parttool.lst
29112
ac8a2baa 291132009-04-30 David S. Miller <davem@davemloft.net>
29114
ad22a610 29115 * util/hostdisk.c (device_is_wholedisk): New function.
29116 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29117 zero only if device_is_wholedisk() returns true.
29118
6966215d 29119 * util/hostdisk.c (convert_system_partition_to_system_disk):
29120 Handle virtual disk devices named /dev/vdiskX as found on sparc
29121 and powerpc.
29122
ac8a2baa 29123 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29124 lettered partition specifier is found, convert to numbered.
29125
979b4fb4 291262009-04-29 David S. Miller <davem@davemloft.net>
29127
e2bf39b2 29128 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29129 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29130
3c64e104 29131 * normal/command.c: Add missing newline at end of file.
29132
979b4fb4 29133 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29134 warnings.
29135 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29136 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29137 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29138 ihandles have a 32-bit type but need to be stored in a "void *".
29139
136d9f82 291402009-04-28 Pavel Roskin <proski@gnu.org>
29141
9459c306 29142 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29143 not disk. Adjust all dependencies.
2e08a26a 29144 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29145 grub_disk_close().
29146
136d9f82 29147 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29148 parent's partition, don't copy it by reference, as it gets freed
29149 on close.
29150
7dd4a573 291512009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29152
29153 Preboot hooks support
29154
29155 * commands/boot.c (struct grub_preboot_t): new declaration
29156 (preboots_head): new variable
29157 (preboots_tail): likewise
29158 (grub_loader_register_preboot_hook): new function
29159 (grub_loader_unregister_preboot_hook): likewise
29160 (grub_loader_set): launch preboot hooks
29161 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29162 (grub_loader_register_preboot_hook): new declaration
29163 (grub_loader_unregister_preboot_hook): likewise
29164
5af922b5 291652009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 Warning fix
29168
7dd4a573 29169 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29170 calling grub_dprintf
29171
a5562c30 291722009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29173
29174 Bug and warning fixes
29175
7dd4a573 29176 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29177 declaration
29178 * commands/test.c (test_parse): fixed bug with file tests and corrected
29179 declaration of find_file
29180
4006f85c 291812009-04-26 Pavel Roskin <proski@gnu.org>
29182
29183 * Makefile.in: Don't install empty manual pages if help2man is
29184 missing. Use help2man option for output, not shell redirection.
29185
5c77c3de 291862009-04-26 David S. Miller <davem@davemloft.net>
29187
29188 * util/grub-mkdevicemap.c (make_device_map): Add missing
29189 NESTED_FUNC_ATTR to process_device().
29190
033b10a8 291912009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 Test command
29194
29195 * commands/test.c: rewritten to use bash-like test
29196
e4343593 291972009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 Parttool autoloading and improvements
29200
7dd4a573 29201 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29202 (parttool.lst): new target
29203 * genmk.rb: generate parttool-*
29204 (CLEANFILES): add #{parttool}
29205 (PARTTOOLFILES): new variable
29206 * genparttoollist.sh: new file
7dd4a573 29207 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29208 (grub_pcpart_type): likewise
29209 * commands/parttool.c (helpmsg): new variable
29210 (grub_cmd_parttool): output help if not enough arguments are supplied
29211 autoload modules
29212 (GRUB_MOD_INIT(parttool)): use helpmsg
29213
0d312500 292142009-04-24 David S. Miller <davem@davemloft.net>
29215
7dd4a573 29216 Avoiding opening same device multiple times in device iterator.
0d312500 29217
29218 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29219 and use it to build a list of partitions in iterate_disk() and
0d312500 29220 iterate_partition().
29221
ac20caff 29222 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29223 on disk->data.
29224
0dcf7495 29225 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29226 grub_devalias_iterate() result instead of unconditional 0.
29227 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29228 Also, capture hook return value, either directly or via
29229 grub_children_iterate(), and propagate to caller.
29230 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29231 grub_children_iterate): Return value is now 'int' instead of
29232 'grub_err_t'.
29233 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29234 like a proper iterator, stopping when hooks return non-zero.
29235 (grub_devalias_iterate): Likewise.
29236
c8c08833 292372009-04-23 David S. Miller <davem@davemloft.net>
29238
29239 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29240
f01005a8 292412009-04-22 David S. Miller <davem@davemloft.net>
29242
29243 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29244 is larger than address_cells, use that value for address_cells too.
29245
4e8269da 29246 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29247 IEEE1275_MAX_PATH_LEN): Define.
29248 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29249 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29250 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29251 'devtype'. Explicitly NULL terminate devalias expansion.
29252
a1447506 29253 * util/sparc64/ieee1275/misc.c: New file.
29254 * util/sparc64/ieee1275/grub-setup.c: New file.
29255 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29256 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29257 * util/sparc64/ieee1275/grub-install.in: New file.
29258 * util/ieee1275/ofpath.c: New file.
29259 * util/ieee1275/devicemap.c: New file.
29260 * util/devicemap.c: New file.
29261 * util/deviceiter.c: New file.
29262 * kern/sparc64/ieee1275/init.c: New file.
29263 * include/grub/util/ofpath.h: New file.
29264 * include/grub/util/deviceiter.h: New file.
29265 * util/grub-mkdevicemap.c: Include deviceiter.h.
29266 Implement using grub_util_emit_devicemap_entry and
29267 grub_util_iterate_devices.
29268 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29269 util/devicemap.c into grub-mkdevicemap
29270 * conf/i386-efi.rmk: Likewise.
29271 * conf/i386-ieee1275.rmk: Likewise.
29272 * conf/i386-pc.rmk: Likewise.
29273 * conf/powerpc-ieee1275.rmk: Likewise.
29274 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29275 images and installation utilities. Build kernel as image
29276 instead of as elf binary. Use common rules as much as possible.
29277
7dd4a573 292782009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29279
29280 Correct GPT definition
29281
7dd4a573 29282 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29283 of "attrib" member
29284
c6c5219f 292852009-04-19 Felix Zielcke <fzielcke@z-51.de>
29286
29287 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29288
0552ff9f 292892009-04-19 David S. Miller <davem@davemloft.net>
29290
29291 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29292 (grub_rescue_cmd_linux): Rename to...
29293 (grub_cmd_linux): and fix prototype.
29294 (grub_rescue_cmd_initrd): Rename to...
29295 (grub_cmd_initrd): and fix prototype.
29296 (cmd_linux, cmd_initrd): New.
29297 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29298 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29299
d1a282fc 293002009-04-17 Pavel Roskin <proski@gnu.org>
29301
07c5039f 29302 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29303 format.
29304 (grub_ohci_transfer): Likewise.
29305
b012002d 29306 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29307
1bc09c35 29308 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29309 return without a value. Fix inconsistent indentation.
29310
e0ff9126 29311 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29312 match struct grub_fs.
29313
d1a282fc 29314 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29315 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29316 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29317 * commands/lspci.c (grub_lspci_iter): Likewise.
29318
a96df3f2 293192009-04-16 Bean <bean123ch@gmail.com>
29320
29321 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29322 value.
29323
41bb0fe9 293242009-04-15 Pavel Roskin <proski@gnu.org>
29325
29326 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29327 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29328 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29329 definitions.
29330
596c6970 293312009-04-15 Felix Zielcke <fzielcke@z-51.de>
29332
29333 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29334 that no multiple data or metadata areas are supported and `Unknown
596c6970 29335 metadata header'.
29336
7dd4a573 293372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29338
29339 Move loader out of the kernel
29340
29341 * kern/loader.c: moved to ...
29342 * commands/boot.c: ... moved here
29343 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29344 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29345 * include/grub/kernel.h (grub_machine_fini): export
29346 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29347 (grub_loader_set): likewise
29348 (grub_loader_unset): likewise
29349 (grub_loader_boot): likewise
29350 * conf/common.rmk: new module boot.mod
29351 (pkglib_MODULES): add boot.mod
29352 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29353 (grub_emu_SOURCES): likewise
29354 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29355 (grub_emu_SOURCES): likewise
29356 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29357 (grub_emu_SOURCES): likewise
29358 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29359 (grub_emu_SOURCES): likewise
29360 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29361 (grub_emu_SOURCES): likewise
7dd4a573 29362 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29363 (grub_emu_SOURCES): likewise
0d5d5653 29364 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29365 (grub_emu_SOURCES): likewise
0d5d5653 29366
7dd4a573 293672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29368
29369 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29370
5999d619 29371 * kern/misc.c (grub_itoa): Removed function
29372 (grub_ltoa): likewise
29373 (grub_vsprintf): use grub_lltoa
29374
7dd4a573 293752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29376
29377 Restore grub-emu
29378
29379 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29380 * conf/i386-coreboot.rmk: likewise
29381 * conf/i386-ieee1275.rmk: likewise
29382 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29383
20318222 293842009-04-15 Felix Zielcke <fzielcke@z-51.de>
29385
29386 * INSTALL: Add that `./autogen.sh' needs to be run before
29387 `./configure.'.
29388
d05f0df3 293892009-04-14 Bean <bean123ch@gmail.com>
29390
29391 * Makefile.in (pkglib_DATA): Add handler.lst.
29392 (handler.lst): New rule.
29393
29394 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29395 * conf/i386-coreboot.rmk: Likewise.
29396 * conf/i386-ieee1275.rmk: Likewise.
29397 * conf/i386-efi.rmk: Likewise.
29398 * conf/x86_64-efi.rmk: Likewise.
29399 * conf/powerpc-ieee1275.rmk: Likewise.
29400 * conf/sparc64-ieee1275.rmk: Likewise.
29401
29402 * genhandlerlist.sh: New file.
29403
29404 * genmk.rb: Add rules to generate handler.lst.
29405
29406 * include/grub/normal.h (grub_file_getline): New function definition.
29407 (read_handler_list): Likewise.
29408 (free_handler_list): Likewise.
29409
29410 * include/grub/term.h (grub_term_register_input): Add name parameter
29411 for auto generation of handler.lst.
29412 (grub_term_register_output): Likewise.
29413
29414 * normal/handler.c: New file.
29415
29416 * normal/main.c (get_line): Renamed to grub_file_getline.
29417 (read_config_file): Use the newly renamed grub_file_getline.
29418 (read_command_list): Likewise.
29419 (read_fs_list): Likewise.
29420 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29421 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29422
29423 * term/efi/console.c (grub_console_init): Add name parameter for auto
29424 generation of handler.lst.
29425 * term/gfxterm.c: Likewise.
29426 * term/i386/pc/at_keyboard.c: Likewise.
29427 * term/i386/pc/console.c: Likewise.
29428 * term/i386/pc/serial.c: Likewise.
29429 * term/i386/pc/vesafb.c: Likewise.
29430 * term/i386/pc/vga.c: Likewise.
29431 * term/i386/pc/vga_text.c: Likewise.
29432 * term/ieee1275/ofconsole.c: Likewise.
29433 * term/usb_keyboard.c: Likewise.
29434
33c846be 294352009-04-14 Bean <bean123ch@gmail.com>
29436
29437 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29438 properly with null character.
29439
4484e01e 294402009-04-14 Felix Zielcke <fzielcke@z-51.de>
29441
29442 * configure: Remove.
29443 * config.h.in: Likewise.
f93d668e 29444 * stamp-h.in: Likewise.
4484e01e 29445 * DISTLIST: Likewise.
29446 * conf/common.mk: Likewise.
29447 * conf/i386-coreboot.mk: Likewise.
29448 * conf/i386-efi.mk: Likewise.
29449 * conf/i386-ieee1275.mk: Likewise.
29450 * conf/i386.mk: Likewise.
29451 * conf/i386-pc.mk: Likewise.
29452 * conf/powerpc-ieee1275.mk: Likewise.
29453 * conf/sparc64-ieee1275.mk: Likewise.
29454 * conf/x86_64-efi.mk: Likewise.
29455
29456 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29457 develop on GRUB.
29458
7dd4a573 294592009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29460 David S. Miller <davem@davemloft.net>
29461
29462 * util/hostdisk.c (make_device_name): Fix buffer length
29463 calculations.
29464
e25b5a8c 294652009-04-14 Felix Zielcke <fzielcke@z-51.de>
29466
29467 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29468 <sys/param.h> and <sys/sysctl.h>.
29469 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29470 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29471 opening the device and reset them afterwards.
29472
1f1f580c 294732009-04-13 Pavel Roskin <proski@gnu.org>
29474
29475 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29476 Reported by John Stanley <jpsinthemix@verizon.net>
29477
7ebc2d6b 294782009-04-13 Robert Millan <rmh@aybabtu.com>
29479
29480 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29481 that name for menuentries when appropriate.
7ebc2d6b 29482
d8ba3667 294832009-04-13 Felix Zielcke <fzielcke@z-51.de>
29484
29485 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29486
cba416eb 294872009-04-13 Robert Millan <rmh@aybabtu.com>
29488
29489 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29490 to Linux, simply abort telling the user it's no longer supported.
29491
a547a745 294922009-04-13 Felix Zielcke <fzielcke@z-51.de>
29493
29494 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29495 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29496 `freebsd_loadenv' only when devices.hints exist.
29497
232a769c 294982009-04-13 Pavel Roskin <proski@gnu.org>
29499
29500 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29501
c3012039 295022009-04-13 Felix Zielcke <fzielcke@z-51.de>
29503
29504 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29505 partition number.
29506 (grub_drive): Likewise.
29507
234022fe 295082009-04-13 David S. Miller <davem@davemloft.net>
29509
29510 * kern/sparc64/ieee1275/ieee1275.c: New file.
29511 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29512 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29513 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29514 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29515 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29516 grub_ieee1275_alloc_physmem): Declare new exported functions.
29517
d8e1836c 29518 * include/grub/sparc64/ieee1275/loader.h: New file.
29519 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29520 * include/grub/sparc64/kernel.h: Likewise.
29521 * loader/sparc64/ieee1275/linux.c: Likewise.
29522
96bd81ec 29523 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29524 (grub_fstest_SOURCES): Likewise.
29525
6a4737e5 29526 * util/hostdisk.c (make_device_name): Do not make any assumptions
29527 about the length of drive names.
29528
1d7a72fd 29529 * kern/dl.c (grub_dl_load_file): Close file immediately when
29530 we are done using it.
29531
56bc2471 295322009-04-12 David S. Miller <davem@davemloft.net>
29533
29534 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29535 values. Noticed by Pavel Roskin.
29536
df38d0bb 29537 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29538 target compiler.
7dd4a573 29539
e382e93a 29540 * genmk.rb: Add more flexible image type specification, also
29541 pass --strip-unneeded to objcopy.
29542 * conf/i386-pc.rmk: Use *_FORMAT.
29543 * conf/i386-pc.mk: Rebuilt.
29544
f5dbbca9 29545 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29546 (OFDISK_HASH_SZ): Define.
29547 (ofdisk_hash): New hash table.
29548 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29549 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29550 instead of device phandle which is not unique.
29551
91c88b12 29552 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29553 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29554 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29555 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29556 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29557 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29558 GRUB_KERNEL_MACHINE_DATA_END): Define.
29559 (grub_kernel_image_size, grub_total_module_size): Declare.
29560
5b5d4aa5 295612009-04-12 Pavel Roskin <proski@gnu.org>
29562
7dd4a573 29563 * configure.ac: Change the logic when we check for target tools.
29564 Do it when the target is specified and it's different from the
29565 specified value of the host.
5b5d4aa5 29566
c91e1793 295672009-04-11 Felix Zielcke <fzielcke@z-51.de>
29568
29569 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29570 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29571 GNU/kFreeBSD. Check if a device is a character device. Use
29572 DIOCGMEDIASIZE to get the size.
29573 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29574 support for GNU/kFreeBSD.
29575 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29576 is a character device instead of a block device. Add support for
29577 FreeBSD device names.
29578
29579 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29580 is a character device instead of a block device.
29581
29582 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29583 is a character device instead of a block device.
29584
b1ac8644 295852009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29586
29587 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29588 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29589 FreeBSD. Check if a device is a character device. Use
29590 DIOCGMEDIASIZE to get the size.
29591 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29592 support for FreeBSD.
29593 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29594 is a character device instead of a block device. Add support for
29595 FreeBSD device names.
29596
29597 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29598 a character device instead of a block device.
29599 (grub_util_check_char_device): New function.
29600
29601 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29602 a character device instead of a block device.
29603
29604 * include/grub/util/getroot.h (grub_util_check_char_device): New
29605 prototype.
29606
a3f7515a 296072009-04-11 David S. Miller <davem@davemloft.net>
29608
29609 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29610 static libgcc.
29611 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29612 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29613 function, if present.
29614 (__bswapdi2): Likewise.
29615
0d44993d 29616 * include/grub/sparc64/ieee1275/boot.h: New file.
29617 * boot/sparc64/ieee1275/boot.S: Likewise.
29618 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29619
ed3d2bc2 29620 * kern/misc.c (grub_ltoa): New function.
29621 (grub_vsprintf): Use it to format 'long' integers.
29622
d3bfb59c 296232009-04-10 David S. Miller <davem@davemloft.net>
29624
29625 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29626 slots are of type grub_ieee1275_cell_t.
29627 (grub_nand_read): Likewise.
29628 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29629 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29630 macros are used to compare values in arg/ret block of the call.
29631 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29632 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29633 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29634 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29635 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29636 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29637 grub_ieee1275_close, grub_ieee1275_set_property,
29638 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29639 grub_ieee1275_cell_t.
29640 * kern/ieee1275/openfw.c (grub_map): Likewise.
29641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29642 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29643
450e2238 29644 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29645 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29646 (grub_devalias_iterate): Likewise.
29647
7dd4a573 296482009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29649
29650 UFS improvements
29651
29652 * fs/ufs.c (INODE_NBLOCKS): new definition
29653 (struct grub_ufs_dirent): added fields for non-BSD dirents
29654 (grub_ufs_get_file_block): fixed double indirect handling
29655 (grub_ufs_lookup_symlink): use more robust way to determine whether
29656 symlink is inline
29657 (grub_ufs_find_file): support for non-BSD dirents
29658 (grub_ufs_dir): support for non-BSD dirents
29659
e7e6862a 296602009-04-10 Bean <bean123ch@gnail.com>
29661
29662 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29663 attribute, otherwise the size would be wrong for i386 platform.
29664
29665 * include/grub/pci.h (grub_pci_read_word): New inline function.
29666 (grub_pci_read_byte): Likewise.
29667 (grub_pci_write): Likewise.
29668 (grub_pci_write_word): Likewise.
29669 (grub_pci_write_byte): Likewise.
29670
29671 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29672
29673 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29674 (find_framebuf): Scan pci to locate the frame buffer address.
29675
29676 * commands/efi/fixvideo.c: New file.
29677
29678 * commands/efi/loadbios.c: Likewise.
29679
29680 * commands/memrw.c: Likewise.
29681
29682 * util/grub-dumpbios.in: Likewise.
29683
29684 * conf/common.rmk (grub-dumpbios): New utility.
29685 (pkglib_MODULES): New module memrw.mod.
29686 (memrw_mod_SOURCE): New macro.
29687 (memrw_mod_CFLAGS): Likewise.
29688 (memrw_mod_LDFLAGS): Likewise.
29689
7dd4a573 29690 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29691 fixvideo.mod.
29692 (loadbios_mod_SOURCE): New macro.
29693 (loadbios_mod_CFLAGS): Likewise.
29694 (loadbios_mod_LDFLAGS): Likewise.
29695 (fixvideo_mod_SOURCE): Likewise.
29696 (fixvideo_mod_CFLAGS): Likewise.
29697 (fixvideo_mod_LDFLAGS): Likewise.
29698
7dd4a573 29699 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29700 fixvideo.mod.
29701 (loadbios_mod_SOURCE): New macro.
29702 (loadbios_mod_CFLAGS): Likewise.
29703 (loadbios_mod_LDFLAGS): Likewise.
29704 (fixvideo_mod_SOURCE): Likewise.
29705 (fixvideo_mod_CFLAGS): Likewise.
29706 (fixvideo_mod_LDFLAGS): Likewise.
29707
af63ada2 297082009-04-08 Felix Zielcke <fzielcke@z-51.de>
29709
29710 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29711
c2cdde70 297122009-04-07 David S. Miller <davem@davemloft.net>
29713
29714 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29715 support for R_SPARC_OLO10 relocations. Fix compile warning for
29716 R_SPARC_WDISP30 case.
ea3f72cf 29717 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29718
761319cf 297192009-04-06 Pavel Roskin <proski@gnu.org>
29720
1007d1f5 29721 * include/grub/misc.h (ARRAY_SIZE): New macro.
29722 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29723 New macro.
29724 * loader/i386/linux.c (allocate_pages): Use free_pages().
29725 (grub_linux_unload): Don't use free_pages().
29726 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29727 wrong index. Treat all other modes as text modes.
29728 (grub_cmd_linux): Initialize vid_mode unconditionally to
29729 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29730
761319cf 29731 * commands/help.c (print_command_help): Use cmd->prio, not
29732 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29733
ea761d40 297342009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29735
ea761d40 29736 Parttool
29737
29738 * parttool/pcpart.c: new file
29739 * commands/parttool.c: likewise
29740 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29741 (parttool_mod_SOURCES): new variable
29742 (parttool_mod_CFLAGS): likewise
29743 (parttool_mod_LDFLAGS): likewise
29744 (pcpart_mod_SOURCES): likewise
29745 (pcpart_mod_CFLAGS): likewise
29746 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29748 and parttool/pcpart.c
29749 * conf/i386-efi.rmk: likewise
29750 * conf/i386-ieee1275.rmk: likewise
29751 * conf/i386-pc.rmk: likewise
29752 * conf/powerpc-ieee1275.rmk: likewise
29753 * conf/sparc64-ieee1275.rmk: likewise
29754 * conf/x86_64-ieee1275.rmk: likewise
29755
05aaebfb 297562009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29757
29758 Support for mtime and further expandability of dir command
29759
29760 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29761 * include/grub/datetime.h: ... moved here and added
05aaebfb 29762 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29763 * include/grub/fs.h: new syntax for dir and mtime functions in
29764 struct grub_fs
05aaebfb 29765 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29766 and GRUB_FSHELP_FLAGS_MASK
29767 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29768 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29769 (grub_ext2_mtime): new function
29770 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29771 (grub_hfsplus_mtime): new function
29772 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29773 (GRUB_UFS_ATTR_FILE): likewise
29774 (GRUB_UFS_ATTR_LNK): likewise
29775 (struct grub_ufs_sblock): new fields mtime
29776 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29777 all users updated
29778 (grub_ufs_dir): mtime support
29779 (grub_ufs_mtime): new function
29780 * fs/affs.c (grub_affs_dir): use new dir syntax
29781 * fs/afs.c (grub_afs_dir): likewise
29782 * fs/cpio.c (grub_cpio_dir): likewise
29783 * fs/fat.c (grub_fat_find_dir): likewise
29784 * fs/hfs.c (grub_hfs_dir): likewise
29785 * fs/iso9660.c (grub_iso9660_dir): likewise
29786 * fs/jfs.c (grub_jfs_dir): likewise
29787 * fs/minix.c (grub_minix_dir): likewise
29788 * fs/ntfs.c (grub_ntfs_dir): likewise
29789 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29790 * fs/sfs.c (grub_sfs_dir): likewise
29791 * fs/xfs.c (grub_xfs_dir): likewise
29792 * util/hostfs.c (grub_hostfs_dir): likewise
29793 * lib/datetime.c: moved to ...
29794 * normal/datetime.c: ... moved here
29795 (grub_unixtime2datetime): new function
29796 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29797 * normal/completion.c (iterate_dir): use new dir syntax
29798 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29799 last modification time of a volume
7dd4a573 29800 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29801 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29803 (normal_mod_SOURCES): likewise
29804 (datetime_mod_SOURCES): Removed lib/datetime.c
29805 * conf/i386-efi.rmk: likewise
7dd4a573 29806 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29807 * conf/i386-pc.rmk: likewise
29808 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29809 * conf/sparc64-ieee1275.rmk: likewise
29810 * conf/x86_64-efi.rmk: likewise
05aaebfb 29811
8a7e1a14 298122009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29813
29814 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29815
29816 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29817 on grub_fat_find_dir
29818 (grub_fat_find_dir): use grub_fat_iterate_dir
29819 (grub_fat_label): likewise
29820
04186a9c 298212009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29822
7dd4a573 29823 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29824 and command.h
29825 remove extraneous kernel_elf_HEADERS
29826
da4c0bb6 298272009-04-04 Bean <bean123ch@gnail.com>
29828
29829 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29830
29831 * util/misc.c: Likewise.
29832
54ad9555 298332009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29834
29835 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29836 instead of grub_printf.
29837
7a6bf9f2 298382009-04-03 Robert Millan <rmh@aybabtu.com>
29839
29840 * loader/i386/linux.c (grub_linux_setup_video): Fill
29841 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29842 values from `mode info' structure instead of hardcoded
29843 values.
29844
3fcc2083 298452009-04-01 Pavel Roskin <proski@gnu.org>
29846
29847 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29848 unused now.
29849 * genmk.rb: Likewise.
29850 * configure.ac: Likewise.
29851
5ec9740b 298522009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29853
29854 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29855 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29856
5270cec8 298572009-04-01 David S. Miller <davem@davemloft.net>
29858
29859 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29860 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29861 (grub_setjmp): Mark with 'returns_twice' attribute.
29862 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29863 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29864 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29865
9c3dd854 298662009-04-01 Robert Millan <rmh@aybabtu.com>
29867
29868 Reapply fix from 2008-07-28 which was accidentally reverted; also
29869 perform the same fix to a similar check in same function.
29870
29871 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29872 with the same number are found, just use issue a warning with
29873 grub_dprintf(), as this error has been reported to be non-fatal.
29874
0d818b7e 298752009-03-31 Pavel Roskin <proski@gnu.org>
29876
29877 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29878 for cross-compilation.
29879
95646d92 298802009-03-30 Robert Millan <rmh@aybabtu.com>
29881
29882 Fix i386-ieee1275 build.
29883
29884 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29885 Remove declaration.
29886
6a003ed1 298872009-03-30 Pavel Roskin <proski@gnu.org>
29888
29889 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29890 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29891 zero-terminated, rely only on the strlen value. Fix comparison
29892 of strings differing in length.
29893
92f33540 298942009-03-30 Robert Millan <rmh@aybabtu.com>
29895
29896 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29897 checking for abi version. Improve error messages on BIOS to notify
29898 user about `linux16' command.
29899
a8c48fd5 299002009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29901
f968172e 29902 Leak fixes
a8c48fd5 29903
f968172e 29904 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29905 in case of collision
29906 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29907
9c323f09 299082009-03-29 Robert Millan <rmh@aybabtu.com>
29909
29910 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29911 set `vid_mode' accordingly.
29912 (grub_linux_boot): Process `vid_mode' and set video mode.
29913
ae68f423 299142009-03-29 Robert Millan <rmh@aybabtu.com>
29915
29916 * util/grub.d/10_linux.in (linux_entry): New function.
29917 Factorize generation of Linux boot entries.
29918
5709cfc4 299192009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29920
29921 Make the format of Environment Block plain text. The boot loader
29922 part is not tested well yet.
7dd4a573 29923
5709cfc4 29924 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29925 (buffer): Removed.
29926 (envblk): Likewise.
29927 (usage): Remove "info" and "clear". Add "unset". Update the
29928 description of "set", as this does not delete variables any
29929 longer.
29930 (create_envblk_file): Complete rewrite.
29931 (open_envblk_file): Likewise.
29932 (cmd_info): Removed.
29933 (cmd_list): Likewise.
29934 (cmd_set): Likewise.
29935 (cmd_clear): Likewise.
29936 (list_variables): New function.
29937 (write_envblk): Likewise.
29938 (set_variables): Likewise.
29939 (unset_variables): Likewise.
29940 (main): Complete rewrite.
29941
29942 * commands/loadenv.c (buffer): Removed.
29943 (envblk): Likewise.
29944 (open_envblk_file): New function.
29945 (read_envblk_file): Complete rewrite.
29946 (grub_cmd_load_env): Likewise.
29947 (grub_cmd_list_env): Likewise.
29948 (struct blocklist): New struct.
29949 (free_blocklists): New function.
29950 (check_blocklists): Likewise.
29951 (write_blocklists): Likewise.
29952 (grub_cmd_save_env): Complete rewrite.
29953
29954 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29955 a plain text signature.
29956 (GRUB_ENVBLK_MAXLEN): Removed.
29957 (struct grub_envblk): Complete rewrite.
29958 (grub_envblk_find): Removed.
29959 (grub_envblk_insert): Likewise.
29960 (grub_envblk_open): New prototype.
29961 (grub_envblk_set): Likewise.
29962 (grub_envblk_delete): Put const to VALUE.
29963 (grub_envblk_iterate): Put const to NAME and VALUE.
29964 (grub_envblk_close): New prototype.
29965 (grub_envblk_buffer): New inline function.
29966 (grub_envblk_size): Likewise.
29967
29968 * lib/envblk.c: Include grub/mm.h.
29969 (grub_env_find): Removed.
29970 (grub_envblk_open): New function.
29971 (grub_envblk_close): Likewise.
29972 (escaped_value_len): Likewise.
29973 (find_next_line): Likewise.
29974 (grub_envblk_insert): Removed.
29975 (grub_envblk_set): New function.
29976 (grub_envblk_delete): Complete rewrite.
29977 (grub_envblk_iterate): Likewise.
29978
a9368fd3 299792009-03-28 Robert Millan <rmh@aybabtu.com>
29980
29981 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29982 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29983 variables. Use 16-bit loader.
29984 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29985 loader.
29986 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29987 (grub_linux16_boot): ... this. Update all users.
29988 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29989 (grub_linux_boot): ... this. Update all users.
29990
29991 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29992 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29993 commands to `linux16' and `initrd16'.
29994 (GRUB_MOD_FINI(linux)): Rename to ...
29995 (GRUB_MOD_FINI(linux16)): ... this.
29996
e4dd5a7e 299972009-03-24 Pavel Roskin <proski@gnu.org>
29998
29999 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30000 not just for compilation.
30001
c04d6e05 300022009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30003
30004 Move multiboot helper out of kernel
30005
30006 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30007 `loader/i386/multiboot_helper.S'.
30008 * conf/i386-coreboot.rmk: Likewise
30009 * conf/i386-ieee1275.rmk: Likewise
30010
30011 * kern/i386/loader.S: Move multiboot helpers from here...
30012 * loader/i386/multiboot_helper.S: ...moved here
30013 * include/grub/i386/loader.h: Move declarations of multiboot
30014 helpers from here...
30015 * include/grub/i386/multiboot.h: ...moved here
30016 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30017
42a5b3fc 300182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30019
30020 * kern/env.c (grub_env_context_open): Added an argument to specify
30021 whether a new context inherits exported variables from current
30022 one. This is useful when making a sandbox to interpret a config
30023 file.
30024 All callers updated.
30025
30026 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30027
b28bbc4e 300282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30029
30030 * kern/env.c (grub_env_context_close): Fix memory leaks.
30031
f04f02e4 300322009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30033
30034 * normal/main.c (grub_normal_execute): Added an argument
30035 BATCH to specify if an interactive interface should be provided
30036 after reading a config file.
30037 All callers updated.
30038 (read_command_list): Prevent being executed twice.
30039 (read_fs_list): Likewise.
30040
42a5b3fc 30041 * include/grub/normal.h (grub_normal_execute): Updated the
30042 prototype.
f04f02e4 30043
41473ac2 300442009-03-22 Pavel Roskin <proski@gno.org>
30045
fbc00b0c 30046 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30047 _start.
30048 * kern/i386/pc/startup.S: Likewise.
30049 * kern/i386/efi/startup.S: Likewise.
30050 * kern/i386/ieee1275/startup.S: Likewise.
30051 * kern/i386/coreboot/startup.S: Likewise.
30052 * kern/x86_64/efi/startup.S: Likewise.
30053
41473ac2 30054 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30055 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30056 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30057
2274cc8f 300582009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30059
30060 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30061
30062 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30063 limit detection.
30064 Use vaddr of correct segment for entry_point.
30065
b1b797cb 300662009-03-21 Bean <bean123ch@gmail.com>
30067
30068 * commands/blocklist.c: Add include file <grub/command.h>, remove
30069 <grub/normal.h> and <grub/arg.h>.
30070 (grub_cmd_blocklist): Use the new command interface.
30071 (GRUB_MOD_INIT): Likewise.
30072 (GRUB_MOD_FINI): Likewise.
30073 * commands/boot.c: Likewise.
30074 * commands/cat.c: Likewise.
30075 * commands/cmp.c: Likewise.
30076 * commands/configfile.c: Likewise.
30077 * commands/crc.c: Likewise.
30078 * commands/echo.c: Likewise.
30079 * commands/halt.c: Likewise.
30080 * commands/handler.c: Likewise.
30081 * commands/hdparm.c: Likewise.
30082 * commands/help.c: Likewise.
30083 * commands/hexdump.c: Likewise.
30084 * commands/loadenv.c: Likewise.
30085 * commands/ls.c: Likewise.
30086 * commands/lsmmap.c: Likewise.
30087 * commands/lspci.c: Likewise.
30088 * commands/loadenv.c: Likewise.
30089 * commands/read.c: Likewise.
30090 * commands/reboot.c: Likewise.
30091 * commands/search.c: Likewise.
30092 * commands/sleep.c: Likewise.
30093 * commands/test.c: Likewise.
30094 * commands/usbtest.c: Likewise.
30095 * commands/videotest.c: Likewise.
30096 * commands/i386/cpuid.c: Likewise.
30097 * commands/i386/pc/halt.c: Likewise.
30098 * commands/i386/pc/play.c: Likewise.
30099 * commands/i386/pc/pxecmd.c: Likewise.
30100 * commands/i386/pc/vbeinfo.c: Likewise.
30101 * commands/i386/pc/vbetest.c: Likewise.
30102 * commands/ieee1275/suspend.c: Likewise.
30103 * disk/loopback.c: Likewise.
30104 * font/font_cmd.c: Likewise.
30105 * hello/hello.c: Likewise.
30106 * loader/efi/appleloader.c: Likewise.
30107 * loader/efi/chainloader.c: Likewise.
30108 * loader/i386/bsd.c: Likewise.
30109 * loader/i386/efi/linux.c: Likewise.
30110 * loader/i386/ieee1275/linux.c: Likewise.
30111 * loader/i386/linux.c: Likewise.
30112 * loader/i386/pc/chainloader.c: Likewise.
30113 * loader/i386/pc/linux.c: Likewise.
30114 * loader/powerpc/ieee1275/linux.c: Likewise.
30115 * loader/multiboot_loader.c: Likewise.
30116 * term/gfxterm.c: Likewise.
30117 * term/i386/pc/serial.c: Likewise.
30118 * term/terminfo.c: Likewise.
30119
30120 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30121 * term/i386/pc/vga.c: Likewise.
30122 * video/readers/jpeg.c: Likewise.
30123 * video/readers/png.c: Likewise.
30124 * video/readers/tga.c: Likewise.
30125
30126 * util/grub-fstest (cmd_loopback): Removed.
30127 (cmd_blocklist): Likewise.
30128 (cmd_ls): Likewise.
30129 (grub_register_command): Likewise.
30130 (grub_unregister_command): Likewise.
30131 (execute_command): Use grub_command_find to locate command and execute
30132 it.
30133
30134 * include/grub/efi/chainloader.h: Removed.
30135 * loader/efi/chainloader_normal.c: Likewise.
30136 * loader/i386/bsd_normal.c: Likewise.
30137 * loader/i386/pc/chainloader_normal.c: Likewise.
30138 * loader/i386/pc/multiboot_normal.c: Likewise.
30139 * loader/linux_normal.c: Likewise.
30140 * loader/multiboot_loader_normal.c: Likewise.
30141 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30142
30143 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30144 and grub_register_command_p1.
30145
30146 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30147 kern/command.c, lib/arg.c and commands/extcmd.c.
30148 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30149 (minicmd_mod_SOURCES): New variable.
30150 (minicmd_mod_CFLAGS): Likewise.
30151 (minicmd_mod_LDFLAGS): Likewise.
30152 (extcmd_mod_SOURCES): Likewise.
30153 (extcmd_mod_CFLAGS): Likewise.
30154 (extcmd_mod_LDFLAGS): Likewise.
30155 (boot_mod_SOURCES): Removed.
30156 (boot_mod_CFLAGS): Likewise.
30157 (boot_mod_LDFLAGS): Likewise.
30158
30159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30160 kern/corecmd.c.
30161 (kernel_img_HEADERS): Add command.h.
30162 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30163 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30164 and lib/arg.c.
30165 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30166 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30167 remove the corresponding normal mode command.
30168 (normal_mod_SOURCES): Remove normal/arg.c.
30169 * conf/i386-coreboot.rmk: Likewise.
30170 * conf/i386-efi.rmk: Likewise.
30171 * conf/i386-ieee1275.rmk: Likewise.
30172 * conf/powerpc-ieee1275.rmk: Likewise.
30173 * conf/x86_64-efi.rmk: Likewise.
30174
30175 * include/grub/arg.h: Move from here ...
30176 * include/grub/lib/arg.h: ... to here.
30177
30178 * normal/arg.c: Move from here ...
30179 * lib/arg.c: ... to here.
30180
30181 * commands/extcmd.c: New file.
30182 * commands/minicmd.c: Likewise.
30183 * include/grub/command.h: Likewise.
30184 * include/grub/extcmd.h: Likewise.
30185 * kern/command.c: Likewise.
30186 * kern/corecmd.c: Likewise.
30187
30188 * kern/list.c (grub_list_iterate): Return int instead of void.
30189 (grub_list_insert): New function.
30190 (grub_prio_list_insert): Likewise.
30191
30192 * kern/rescue.c (grub_rescue_command): Removed.
30193 (grub_rescue_command_list): Likewise.
30194 (grub_rescue_register_command): Likewise.
30195 (grub_rescue_unregister_command): Likewise.
30196 (grub_rescue_cmd_boot): Move to minicmd.c
30197 (grub_rescue_cmd_help): Likewise.
30198 (grub_rescue_cmd_info): Likewise.
30199 (grub_rescue_cmd_boot): Likewise.
30200 (grub_rescue_cmd_testload): Likewise.
30201 (grub_rescue_cmd_dump): Likewise.
30202 (grub_rescue_cmd_rmmod): Likewise.
30203 (grub_rescue_cmd_lsmod): Likewise.
30204 (grub_rescue_cmd_exit): Likewise.
30205 (grub_rescue_print_devices): Moved to corecmd.c.
30206 (grub_rescue_print_files): Likewise.
30207 (grub_rescue_cmd_ls): Likewise.
30208 (grub_rescue_cmd_insmod): Likewise.
30209 (grub_rescue_cmd_set): Likewise.
30210 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30211 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30212 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30213 commands, remove grub_rescue_register_command calls.
b1b797cb 30214
7d074e3c 30215 * normal/command.c (grub_register_command): Removed.
b1b797cb 30216 (grub_unregister_command): Likewise.
30217 (grub_command_find): Likewise.
30218 (grub_iterate_commands): Likewise.
30219 (rescue_command): Likewise.
30220 (export_command): Moved to corecmd.c.
30221 (set_command): Removed.
30222 (unset_command): Likewise.
30223 (insmod_command): Likewise.
30224 (rmmod_command): Likewise.
30225 (lsmod_command): Likewise.
30226 (grub_command_init): Likewise.
30227
30228 * normal/completion.c (iterate_command): Use cmd->prio to check for
30229 active command.
30230 (complete_arguments): Use grub_extcmd_t structure to find options.
30231 (grub_normal_do_completion): Change function grub_iterate_commands to
30232 grub_command_iterate.
30233
30234 * normal/execute.c (grub_script_execute_cmd): No need to parse
30235 argument here.
30236
30237 * normal/main.c (grub_dyncmd_dispatcher): New function.
30238 (read_command_list): Register unload commands as dyncmd.
30239 (grub_cmd_normal): Use new command interface, register rescue,
30240 unregister normal at entry, register normal, unregister rescue at exit.
30241
30242 * include/grub/list.h (grub_list_test_t): New type.
30243 (grub_list_iterate): Return int instead of void.
30244 (grub_list_insert): New function.
30245 (GRUB_AS_NAMED_LIST_P): New macro.
30246 (GRUB_AS_PRIO_LIST): Likewise.
30247 (GRUB_AS_PRIO_LIST_P): Likewise.
30248 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30249 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30250 (grub_prio_list): New structure.
30251 (grub_prio_list_insert): New function.
30252 (grub_prio_list_remove): New inline function.
30253
30254 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30255 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30256 (GRUB_COMMAND_FLAG_MENU): Likewise.
30257 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30258 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30259 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30260 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30261 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30262 (grub_command): Likewise.
30263 (grub_register_command): Likewise.
30264 (grub_command_find): Likewise.
30265 (grub_iterate_commands): Likewise.
30266 (grub_command_init): Likewise.
30267 (grub_arg_parse): Likewise.
30268 (grub_arg_show_help): Likewise.
30269
30270 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30271 (grub_rescue_unregister_command): Likewise.
30272
30273 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30274 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30275 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30276
30277 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30278 grub_rescue_cmd_initrd.
30279 * include/grub/i386/loader.h: Likewise.
30280 * include/grub/x86_64/loader.h: Likewise.
30281
30282 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30283
1f4147aa 302842009-03-21 Bean <bean123ch@gmail.com>
30285
30286 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30287 instead of stat in mingw environment.
30288
30289 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30290
30291 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30292
30293 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30294 AC_CONFIG_LINKS.
30295
2156d5ba 302962009-03-21 Bean <bean123ch@gmail.com>
30297
30298 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30299 out of range error.
30300
177b82ca 303012009-03-18 Michel Dänzer <michel@daenzer.net>
30302
30303 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30304 checking inode flags for EXT4_EXTENTS_FLAG.
30305
14aad807 303062009-03-18 Robert Millan <rmh@aybabtu.com>
30307
30308 * loader/i386/linux.c: Include `<grub/video.h>' and
30309 `<grub/i386/pc/vbe.h>'..
30310 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30311 (grub_linux32_boot): Attempt to configure video settings with
30312 grub_linux_setup_video().
30313 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30314 to avoid grub_console_fini() which would step out of graphical mode
30315 unconditionally.
30316
8cf83a27 303172009-03-14 Robert Millan <rmh@aybabtu.com>
30318
30319 Fix build on powerpc.
30320 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30321
40164e75 303222009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30323
30324 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30325 background image command.
30326
c58bc32a 303272009-03-12 Colin D Bennett <colin@gibibit.com>
30328
30329 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30330 (grub_gfxterm_putchar): Extract pairs of identical calls to
30331 draw_cursor out of conditional blocks.
30332
5415144a 303332009-03-11 Pavel Roskin <proski@gnu.org>
30334
30335 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30336 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30337
6394042e 303382009-03-11 Robert Millan <rmh@aybabtu.com>
30339
30340 * loader/i386/multiboot_elfxx.c
30341 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30342
b7b50e5f 303432009-03-11 Felix Zielcke <fzielcke@z-51.de>
30344
30345 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30346 `kern/handler.c'.
30347
1ca7fc96 303482009-03-11 Robert Millan <rmh@aybabtu.com>
30349
30350 * loader/i386/multiboot.c (code_size): New variable.
30351 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30352 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30353 4-byte alignment to MBI and others by increasing
7d074e3c 30354 `boot_loader_name_length' appropriately.
1ca7fc96 30355
30356 * loader/i386/multiboot_elfxx.c
30357 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30358
a83ea1d2 303592009-03-09 Felix Zielcke <fzielcke@z-51.de>
30360
30361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30362 `fs/ext2.c'.
30363
aa9f3bff 303642009-03-08 Robert Millan <rmh@aybabtu.com>
30365
30366 Make loader/i386/linux.c usable on i386-pc again.
30367
30368 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30369 memory to heap.
30370 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30371 `#error' stanza.
30372
d8b3b60e 303732009-03-07 Bean <bean123ch@gmail.com>
30374
30375 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30376 allocation.
30377
b362c9e9 303782009-03-06 Robert Millan <rmh@aybabtu.com>
30379
30380 Fix display issue on terminals with screen size other than 80x25
30381 (e.g. gfxterm with resolution higher than 640x480).
30382
30383 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30384 position relative to the center of the terminal instead of relying
b362c9e9 30385 on a hardcoded offset.
30386
9304eef1 303872009-03-04 Robert Millan <rmh@aybabtu.com>
30388
30389 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30390 installed.
30391
30392 * Makefile.in (host_kernel): New variable.
30393 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30394 scripts instead of just the windows one.
30395 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30396
eabc95fb 303972009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30398
30399 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30400 `kern/handler.c'.
30401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30405 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30407
ceb1223c 304082009-03-04 Felix Zielcke <fzielcke@z-51.de>
30409
30410 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30411 or if there's no space for the disk label and print the partition number on a
30412 invalid magic.
30413
4910684a 304142009-03-04 Felix Zielcke <fzielcke@z-51.de>
30415
30416 * util/misc.c: Include <time.h>.
30417 (grub_millisleep): New function.
30418
7e9ca17a 304192009-03-04 Bean <bean123ch@gmail.com>
30420
30421 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30422 another option -mno-red-zone.
30423
30424 * commands/handler.c: Change module description.
30425
30426 * kern/handler.c: Add missing space at the end of description line.
30427
30428 * kern/list.c: Likewise.
30429
f501677c 304302009-03-03 Robert Millan <rmh@aybabtu.com>
30431
30432 Move more components to the relocation area, and fix mbi pointer
30433 handling to use the destination rather than the origin (thanks to
30434 Vladimir Serbinenko for spotting).
30435
30436 * loader/i386/multiboot.c (mbi_dest): New variable.
30437 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30438 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30439 relocation area.
30440
9902d047 304412009-03-01 Bean <bean123ch@gmail.com>
30442
50fb7002 30443 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30444 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30445 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30446 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30447
30448 * loader/i386/efi/linux.c (acpi_guid): New variable.
30449 (acpi_guid): Likewise.
30450 (EBDA_SEG_ADDR): New constant.
30451 (LOW_MEM_ADDR): Likewise.
30452 (FAKE_EBDA_SEG): Likewise.
30453 (fake_bios_data): New function.
30454 (grub_linux_boot): Call fake_bios_data.
30455
71b9f361 304562009-03-01 Bean <bean123ch@gmail.com>
30457
30458 * commands/terminal.c: Removed.
30459
30460 * commands/handler.c: New file.
30461
30462 * include/grub/list.h: Likewise.
30463
30464 * include/grub/handler.h: Likewise.
30465
30466 * kern/list.c: Likewise.
30467
30468 * kern/handler.c: Likewise.
30469
30470 * kern/term.h: Include header file <grub/handler.h>.
30471 (grub_term_input): Move next field to the beginning.
30472 (grub_term_output): Likewise.
30473 (grub_term_input_class): New variable.
30474 (grub_term_output_class): Likewise.
30475 (grub_term_register_input): Changed to inline function.
30476 (grub_term_register_output): Likewise.
30477 (grub_term_unregister_input): Likewise.
30478 (grub_term_unregister_output): Likewise.
30479 (grub_term_set_current_input): Likewise.
30480 (grub_term_set_current_output): Likewise.
30481 (grub_term_get_current_input): Likewise.
30482 (grub_term_get_current_output): Likewise.
30483 (grub_term_iterate_input): Removed.
30484 (grub_term_iterate_output): Likewise.
30485
30486 * kern/term.c (grub_term_list_input): Removed.
30487 (grub_term_list_output): Likewise.
30488 (grub_term_input_class): New variable.
30489 (grub_term_output_class): Likewise.
50fb7002 30490 (grub_cur_term_input): Change variable as macro.
71b9f361 30491 (grub_cur_term_output): Likewise.
30492 (grub_term_register_input): Removed.
30493 (grub_term_register_output): Likewise.
30494 (grub_term_unregister_input): Likewise.
30495 (grub_term_unregister_output): Likewise.
30496 (grub_term_set_current_input): Likewise.
30497 (grub_term_set_current_output): Likewise.
30498 (grub_term_iterate_input): Likewise.
30499 (grub_term_iterate_output): Likewise.
30500 (grub_term_get_current_input): Likewise.
30501 (grub_term_get_current_output): Likewise.
30502
30503 * util/grub-editenv.c: Include header file <grub/handler.h>.
30504 (grub_term_get_current_input): Removed.
30505 (grub_term_get_current_output): Likewise.
30506 (grub_term_input_class): New variable.
50fb7002 30507 (grub_term_output_class): Likewise.
71b9f361 30508
30509 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30510 (grub_term_get_current_output): Likewise.
30511 (grub_term_input_class): New variable.
50fb7002 30512 (grub_term_output_class): Likewise.
71b9f361 30513
30514 * util/grub-probe.c (grub_term_get_current_input): Removed.
30515 (grub_term_get_current_output): Likewise.
30516 (grub_term_input_class): New variable.
50fb7002 30517 (grub_term_output_class): Likewise.
71b9f361 30518
30519 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30520 (grub_term_get_current_output): Likewise.
30521 (grub_term_input_class): New variable.
50fb7002 30522 (grub_term_output_class): Likewise.
71b9f361 30523
30524 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30525 (terminal_mod_SOURCES): Likewise.
30526 (terminal_mod_CFLAGS): Likewise.
30527 (terminal_mod_LDFLAGS): Likewise.
30528
30529 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30530 handler.c.
30531 (kernel_img_SOURCES): Add list.c and handler.c.
30532 (kernel_img_HEADERS): Add list.h and handler.h.
30533
30534 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30535 handler.c.
30536 (kernel_mod_SOURCES): Add list.c and handler.c.
30537 (kernel_mod_HEADERS): Add list.h and handler.h.
30538
30539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30540 handler.c.
30541 (kernel_elf_SOURCES): Add list.c and handler.c.
30542 (kernel_elf_HEADERS): Add list.h and handler.h.
30543
30544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30545 handler.c.
30546 (kernel_elf_SOURCES): Add list.c and handler.c.
30547 (kernel_elf_HEADERS): Add list.h and handler.h.
30548
30549 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30550 handler.c.
30551 (kernel_mod_SOURCES): Add list.c and handler.c.
30552 (kernel_mod_HEADERS): Add list.h and handler.h.
30553
30554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30555 handler.c.
30556 (kernel_elf_SOURCES): Add list.c and handler.c.
30557 (kernel_elf_HEADERS): Add list.h and handler.h.
30558
8a31787f 305592009-02-27 Robert Millan <rmh@aybabtu.com>
30560
30561 Factorize elf32 / elf64 code in Multiboot loader. This will
30562 prevent it from getting out of sync again.
30563
30564 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30565 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30566 grub_multiboot_load_elf64): Move from here ...
30567 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30568 grub_multiboot_load_elf): ... to here (new file).
30569
51cd3dfc 305702009-02-27 Robert Millan <rmh@aybabtu.com>
30571
30572 * util/grub.d/10_linux.in: Rename "single-user mode" to
30573 "recovery mode".
30574
6e8c9c3a 305752009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30576
30577 Don't leak in SCSI code.
30578 * disk/scsi.c (grub_scsi_close): free `scsi'.
30579
4b6bf4f9 305802009-02-27 Robert Millan <rmh@aybabtu.com>
30581
30582 * loader/i386/pc/multiboot.c: Move from here ...
30583 * loader/i386/multiboot.c: ... to here. Update all users.
30584
b9413424 305852009-02-27 Robert Millan <rmh@aybabtu.com>
30586
30587 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30588 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30589
50fb7002 305902009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30591
30592 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30593 b-tree.
30594
8cc50345 305952009-02-27 Robert Millan <rmh@aybabtu.com>
30596
30597 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30598 `0x' qualifier as 0 when base is specified as parameter).
30599
6e09b8b7 306002009-02-24 Bean <bean123ch@gmail.com>
30601
30602 * configure.ac: Check for -mcmodel=large in x86_64 target.
30603
30604 * include/grub/efi/api.h (efi_call_10): New macro.
30605 (efi_wrap_10): New function.
30606
30607 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30608 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30609 (GRUB_PE32_REL_BASED_LOW): Likewise.
30610 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30611 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30612 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30613 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30614 (GRUB_PE32_REL_BASED_REL): Likewise.
30615 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30616 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30617 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30618
30619 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30620 issue.
30621
30622 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30623 (efi_wrap_10): New function.
30624
30625 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30626
30627 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30628 MB/MBP model (NV chipset).
30629 (devdata_devs): Add devpath_5 to the list.
30630
30631 * load/i386/efi/linux.c (video_base): Remove variable.
30632 (RGB_MASK): New macro.
30633 (RGB_MAGIC): Likewise.
30634 (LINE_MIN): Likewise.
30635 (LINE_MAX): Likewise.
30636 (FBTEST_STEP): Likewise.
30637 (FBTEST_COUNT): Likewise.
30638 (fb_list): New variable.
30639 (grub_find_video_card): Remove function.
30640 (find_framebuf): New function.
30641 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30642 line length.
30643
30644 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30645 problem for x86_64.
30646
74b21bee 306472009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30648
30649 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30650
30651 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30652 coding tool name.
30653
a455f472 306542009-02-22 Robert Millan <rmh@aybabtu.com>
30655
30656 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30657 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30658 in our relocation, instead of using it directly from heap. Also
30659 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30660
6374daf3 306612009-02-21 Robert Millan <rmh@aybabtu.com>
30662
30663 Implement USB keyboard support (based on patch by Marco Gerards)
30664
30665 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30666 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30667 (usb_keyboard_mod_LDFLAGS): New variables.
30668
30669 * term/usb_keyboard.c: New file.
30670
8fa4ea70 306712009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30672
30673 Corrected wrong declaration
30674
30675 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30676
353976ac 306772009-02-14 Christian Franke <franke@computer.org>
30678
30679 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30680 (grub_lspci_iter): Print class code and programming interface byte.
30681
6aa1169b 306822009-02-14 Christian Franke <franke@computer.org>
30683
30684 * gendistlist.sh: Ignore `.svn' directories.
30685
265372ca 306862009-02-14 Felix Zielcke <fzielcke@z-51.de>
30687
30688 * fs/fat.c: Add 2009 to Copyright line.
30689
9ff516f3 306902009-02-14 Christian Franke <franke@computer.org>
30691
30692 * commands/hdparm.c: New file. Provides `hdparm' command
30693 which sends ATA commands via grub_disk_ata_pass_through ().
30694
30695 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30696
30697 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30698 and <grub/cpu/io.h> to include/grub/ata.h.
30699 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30700 (GRUB_CDROM_SECTOR_SIZE): Remove.
30701 (GRUB_ATA_*): Move to include/grub/ata.h.
30702 (GRUB_ATAPI_*): Likewise.
30703 (enum grub_ata_commands): Likewise.
30704 (enum grub_ata_timeout_milliseconds): Likewise.
30705 (struct grub_ata_device): Likewise.
30706 (grub_ata_regset): Likewise.
30707 (grub_ata_regget): Likewise.
30708 (grub_ata_regset2): Likewise.
30709 (grub_ata_regget2): Likewise.
30710 (grub_ata_check_ready): Likewise.
30711 (grub_ata_wait_not_busy): Remove static, exported in
30712 include/grub/ata.h.
30713 (grub_ata_wait_drq): Likewise.
30714 (grub_ata_pio_read): Likewise.
30715
30716 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30717 function for hdparm.mod.
30718
30719 * include/grub/ata.h: New file, contains declarations from
30720 disk/ata.c.
30721 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30722
30723 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30724 (grub_disk_ata_pass_through): New exported variable.
30725
30726 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30727
772e23da 307282009-02-13 Colin D Bennett <colin@gibibit.com>
30729
30730 Support multiple fallback entries, and provide an API to support
30731 executing default+fallback menu entries. Renamed the `terminal' menu
30732 viewer to `text'.
30733
30734 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30735 variable declaration.
30736 (grub_menu_execute_callback): New structure declaration.
30737 (grub_menu_execute_callback_t): New typedef.
30738 (grub_menu_execute_with_fallback): New function declaration.
30739 (grub_menu_get_entry): Likewise.
30740 (grub_menu_get_timeout): Likewise.
30741 (grub_menu_set_timeout): Likewise.
30742
30743 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30744
30745 * normal/menu.c (grub_wait_after_message): Moved to
30746 `normal/menu_text.c'.
30747 (draw_border): Likewise.
30748 (print_message): Likewise.
30749 (print_entry): Likewise.
30750 (print_entries): Likewise.
30751 (grub_menu_init_page): Likewise.
30752 (get_entry_number): Likewise.
30753 (print_timeout): Likewise.
30754 (run_menu): Likewise.
30755 (grub_menu_execute_entry): Likewise.
30756 (show_text_menu): Likewise.
30757 (get_and_remove_first_entry_number): New function.
30758 (grub_menu_execute_with_fallback): Likewise.
30759 (get_entry): Renamed to ...
30760 (grub_menu_get_entry): .. this and made it global.
30761 (get_timeout): Renamed to ...
30762 (grub_menu_get_timeout): ... this and made it global.
30763 (set_timeout): Renamed to ...
30764 (grub_menu_set_timeout): ... this and made it global.
30765 (grub_normal_terminal_menu_viewer): Renamed to ...
30766 (grub_normal_text_menu_viewer): ... this.
30767
30768 * normal/menu_text.c: New file. Extracted text-menu-specific code
30769 from normal/menu.c.
30770
30771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30772 (normal_mod_SOURCES): Likewise.
30773
30774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30775 (normal_mod_SOURCES): Likewise.
30776
30777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30778 (normal_mod_SOURCES): Likewise.
30779
30780 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30781 (normal_mod_SOURCES): Likewise.
30782
30783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30784 (normal_mod_SOURCES): Likewise.
30785
30786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30787 (normal_mod_SOURCES): Likewise.
30788
30789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30790 (normal_mod_SOURCES): Likewise.
30791
16ac430e 307922009-02-11 Robert Millan <rmh@aybabtu.com>
30793
30794 * util/grub.d/00_header.in: Update old reference to `font' command.
30795
06ff20fc 307962009-02-10 Felix Zielcke <fzielcke@z-51.de>
30797
30798 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30799
30800 Based on patch from Javier Martín.
30801
96da9407 308022009-02-09 Felix Zielcke <fzielcke@z-51.de>
30803
30804 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30805 to avoid false positives with FAT.
96da9407 30806 (grub_fstest_SOURCES): Likewise.
30807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30810 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30811 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30813
6dca6fe4 308142009-02-09 Felix Zielcke <fzielcke@z-51.de>
30815
06ff20fc 30816 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30817 bpb.version_specific.fat12_or_fat16.fstype and
30818 bpb.version_specific.fat32.fstype.
30819
2550c62f 308202009-02-08 Robert Millan <rmh@aybabtu.com>
30821
be110b30 30822 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30823
56978920 308242009-02-08 Robert Millan <rmh@aybabtu.com>
30825
30826 * Makefile.in (host_os, host_cpu): New variables.
30827 (target_os): Remove. Update all users.
30828
d64399b5 308292009-02-08 Marco Gerards <marco@gnu.org>
30830
30831 * Makefile.in (enable_grub_emu_usb): New variable.
30832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30833 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30834 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30835 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30836 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30837 `usbtest.mod' and `usbms.mod'.
30838 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30839 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30840 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30841 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30842 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30843 variables.
30844
30845 * disk/usbms.c: New file.
30846
30847 * include/grub/usb.h: Likewise.
30848
30849 * include/grub/usbtrans.h: Likewise.
30850
30851 * include/grub/usbdesc.h: Likewise.
30852
30853 * bus/usb/usbtrans.c: Likewise.
30854
30855 * bus/usb/ohci.c: Likewise.
30856
30857 * bus/usb/uhci.c: Likewise.
30858
30859 * bus/usb/usbhub.c: Likewise.
30860
30861 * bus/usb/usb.c: Likewise.
30862
30863 * commands/usbtest.c: Likewise.
30864
30865 * util/usb.c: Likewise.
50fb7002 30866
d64399b5 30867 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30868
30869 * configure.ac: Test for libusb presence.
50fb7002 30870
d64399b5 30871 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30872
2b40d6bb 308732009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30874
30875 * kern/mm.c: Add more comments.
30876
73a4ce81 308772009-02-08 Robert Millan <rmh@aybabtu.com>
30878
30879 Patch from Javier Martín.
30880 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30881 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30882
f821ce59 308832009-02-08 Robert Millan <rmh@aybabtu.com>
30884
30885 * fs/cpio.c: Split tar functionality to ...
30886 * fs/tar.c: ... here (new file). Update all users.
30887
aebfc4b0 308882009-02-07 Robert Millan <rmh@aybabtu.com>
30889
30890 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30891 backward-incompatible features.
30892
30893 Based on patch from Javier Martín, with some adjustments.
30894
50fb7002 308952009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30896
30897 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30898
0bb5115e 308992009-02-07 Robert Millan <rmh@aybabtu.com>
30900
30901 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30902 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30903 after the RAID stuff.
30904
38a0f8e7 309052009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30906
50fb7002 30907 Fixes problem when running vbetest command as reported by
38a0f8e7 30908 Vladimir Serbinenko <phcoder@gmail.com>.
30909
30910 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30911
3143cc1c 309122009-02-04 Felix Zielcke <fzielcke@z-51.de>
30913
30914 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30915 /dev/md/NpN style mdraid devices.
30916
9cba6fce 309172009-02-03 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * util/unifont2pff.rb: Remove.
30920
e507a2c1 309212009-02-03 Felix Zielcke <fzielcke@z-51.de>
30922
30923 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30924 `#'.
30925
d2c2b4cd 309262009-02-03 Felix Zielcke <fzielcke@z-51.de>
30927
30928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30934 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30935
b4315fb0 309362009-02-02 Christian Franke <franke@computer.org>
30937
30938 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30939
de3aa260 309402009-02-01 Felix Zielcke <fzielcke@z-51.de>
30941
7c3ff286 30942 * INSTALL: Note that we now require at least autoconf 2.59 and
30943 that LZO is optional.
de3aa260 30944
825a182b 309452009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30946
30947 Base on patch on bug #24154 created by Tomas Tintera
30948 <trosos@seznam.cz>.
30949
30950 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30951
a69ef770 309522009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30953
7c3ff286 30954 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30955 <bero@arklinux.org>.
30956
30957 * normal/parser.y (script_init): Add missing semicolon.
30958
6fa42fa6 309592009-01-31 Colin D Bennett <colin@gibibit.com>
30960
7c3ff286 30961 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30962 (free_menu_entry_classes): Added.
30963 (grub_normal_menu_addentry): Added class property handling.
30964 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30965 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30966
30967 * normal/menu_viewer.c: New file.
30968
30969 * normal/menu.c (run_menu_entry): Renamed to ...
30970 (grub_menu_execute_entry): ... this and made it as global.
30971 (grub_menu_run): Renamed to ...
30972 (show_text_menu): ... this and made it local.
30973 (show_text_menu): Adapt to new function names.
30974 (grub_normal_terminal_menu_viewer): New global variable.
30975
30976 * include/grub/menu.h: New file.
30977
30978 * include/grub/menu_viewer.h: New file.
30979
30980 * include/grub/normal.h: Added include to grub/menu.h.
30981 (grub_menu_entry): Moved to include/grub/menu.h.
30982 (grub_menu_entry_t): Likewise.
30983 (grub_menu): Likewise.
30984 (grub_menu_t): Likewise.
30985 (grub_normal_terminal_menu_viewer): Added.
30986 (grub_menu_execute_entry): Likewise.
30987 (grub_menu_run): Removed.
30988
30989 * DISTLIST: Added include/grub/menu.h.
30990 Added include/grub/menu_viewer.h.
30991 Added normal/menu_viewer.c.
30992
309932009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30994
30995 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30996 arglist for menutitle arguments.
30997
30998 * normal/main.c (grub_normal_menu_addentry): Likewise.
30999
31000 * normal/parser.y (menuentry): Likewise.
31001
31002 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31003
31004 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31005 (grub_script_create_cmdmenu): Likewise.
31006
31007 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31008
31009 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31010 changes.
31011
31012 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31013
31014 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31015
31016 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31017
31018 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31019
31020 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31021
31022 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31023
56192c23 310242009-01-30 Christian Franke <franke@computer.org>
31025
31026 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31027 in option help text.
31028
d72521b3 310292009-01-27 Pavel Roskin <proski@gnu.org>
31030
31031 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31032
994b5e84 310332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31034
31035 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31036
31037 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31038
31039 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31040 unregister function.
31041
6a7eab2c 310422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31043
31044 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31045
31046 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31047
31048 * util/grub-mkfont.c (usage): Fix typo.
31049
31050 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31051
1806b56e 310522009-01-26 Daniel Mierswa <impulze@impulze.org>
31053
3fb18f09 31054 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31055
336e1fb9 31056 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31057
1806b56e 31058 * kern/misc.c (grub_strcasecmp): New function.
31059 (grub_strcasecmp): Use grub_size_t instead of int for length.
31060 Fix return value.
31061 * include/grub/misc.h: Update function prototypes.
31062
580b2a0f 310632009-01-26 Robert Millan <rmh@aybabtu.com>
31064
31065 * configure.ac: Fix cross-compilation check.
ef257b36 31066
d31c24f1 310672009-01-22 Christian Franke <franke@computer.org>
31068
31069 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31070 (precision) digit string. Allow `.format2' without `format1' (width).
31071 Limit input chars for `%s' output to `format2' if specified. This is
31072 compatible with standard printf ().
31073
3138b44c 310742009-01-22 Christian Franke <franke@computer.org>
31075
31076 * disk/ata.c (grub_ata_wait_status): Replace by ...
31077 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31078 other status bits may be invalid while BSY is asserted.
31079 (grub_ata_check_ready): New function.
31080 (grub_ata_cmd): Removed.
31081 (grub_ata_wait_drq): New function.
31082 (grub_ata_strncpy): Remove inline.
31083 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31084 and error check now done by grub_ata_wait_drq ().
31085 (grub_ata_pio_write): Likewise.
31086 (grub_atapi_identify): Set DEV before check for !BSY. Use
31087 grub_ata_wait_drq () to wait for data.
31088 (grub_ata_device_initialize): Add status register check to
31089 detect missing SATA slave devices. Add debug messages.
31090 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31091 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31092 transfer loop by grub_ata_pio_write ().
31093 (grub_ata_identify): Set DEV before check for !BSY. Use
31094 grub_ata_wait_drq () to wait for data.
ef257b36 31095 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31096 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31097 read/write in one loop. Fix invalid command on write. Fix incomplete
31098 command on (size % batch) == 0. Add missing error check after write of
31099 last block. Add debug messages.
31100 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31101
59a64ef6 311022009-01-19 Christian Franke <franke@computer.org>
31103
31104 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31105 (GRUB_ATAPI_IREASON_*): Likewise.
31106 (grub_ata_pio_write): Fix timeout error return.
31107 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31108 (grub_atapi_wait_drq): New function.
31109 (grub_atapi_packet): New parameter `size'.
31110 Use grub_atapi_wait_drq () and direct write instead of
31111 grub_ata_pio_write ().
31112 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31113 reads the number of bytes requested by the device for each DRQ
31114 assertion.
31115 (grub_atapi_write): Remove old implementation, return not
31116 implemented instead.
31117
1cfe20b3 311182009-01-19 Christian Franke <franke@computer.org>
31119
31120 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31121 of 512 to calculate data size.
31122 (grub_scsi_read12): Likewise.
31123 (grub_scsi_write10): Likewise.
31124 (grub_scsi_write12): Likewise.
31125 (grub_scsi_read): Adjust size according to blocksize.
31126 Add checks for invalid blocksize and unaligned transfer.
31127
bee5fe5d 311282009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31129
31130 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31131
ef257b36 31132 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31133 width glyphs.
31134
3e643f8c 311352009-01-19 Robert Millan <rmh@aybabtu.com>
31136
31137 * config.guess: Update to latest version from config git.
31138 * config.sub: Likewise.
31139
4fa80998 311402009-01-17 Felix Zielcke <fzielcke@z-51.de>
31141
31142 * Makefile.in: Change font compilation to use new grub-mkfont instead
31143 of java version.
31144
31145 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31146 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31147 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31148 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31149 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31150 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31151 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31152 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31153 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31154
7086085b 311552009-01-16 Christian Franke <franke@computer.org>
31156
31157 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31158 (enum grub_ata_timeout_milliseconds): New enum.
31159 (grub_ata_wait_status): Add parameter milliseconds.
31160 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31161 recovery from timed-out commands.
31162 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31163 return grub_errno instead of REG_ERROR.
31164 (grub_ata_pio_write): Add parameter milliseconds.
31165 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31166 Pass milliseconds to grub_ata_wait_status () and
31167 grub_ata_pio_read ().
31168 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31169 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31170 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31171 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31172 It is not suitable for device detection, because DEV bit is ignored,
31173 the command may run too long, and not all devices set the signature
31174 properly.
31175 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31176 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31177 Fix device selection, DEV bit must be set first to address the registers
31178 of the correct device.
31179 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31180 grub_ata_pio_read/write ().
31181 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31182 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31183
4a412913 311842009-01-13 Carles Pina i Estany <carles@pina.cat>
31185
31186 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31187
7795c55e 311882009-01-13 Bean <bean123ch@gmail.com>
d913988c 31189
31190 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31191
7795c55e 311922009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31193
31194 * Makefile.in: (enable_grub_mkfont): New variable.
31195 (freetype_cflags): Likewise.
31196 (freetype_libs): Likewise.
31197
31198 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31199 (grub_mkfont_SOURCES): New variable.
31200 (grub_mkfont_CFLAGS): Likewise.
31201 (grub_mkfont_LDFLAGS): Likewise.
31202
31203 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31204 library if `--enable-grub-mkfont' is requested.
31205 (enable_grub_mkfont): New variable.
31206 (freetype_cflags): Likewise.
31207 (freetype_libs): Likewise.
31208
31209 * util/grub-mkfont.c: New file.
31210
093af1fe 312112009-01-12 Christian Franke <franke@computer.org>
31212
31213 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31214 mode check. Fix setting of compat_use[].
31215
f36cc108 312162009-01-10 Robert Millan <rmh@aybabtu.com>
31217
31218 Update a few copyright years which we forgot to do in 2008 (only for
31219 files whose changes made in 2008 were copyright-significant)
31220
31221 * Makefile.in: Add 2008 to Copyright line.
31222 * disk/ieee1275/ofdisk.c: Likewise.
31223 * disk/efi/efidisk.c: Likewise.
31224 * kern/dl.c: Likewise.
31225 * kern/sparc64/ieee1275/init.c: Likewise.
31226 * kern/mm.c: Likewise.
31227 * kern/efi/mm.c: Likewise.
31228 * boot/i386/pc/boot.S: Likewise.
31229 * genfslist.sh: Likewise.
31230 * fs/iso9660.c: Likewise.
31231 * fs/hfs.c: Likewise.
31232 * fs/jfs.c: Likewise.
31233 * fs/minix.c: Likewise.
31234 * fs/ufs.c: Likewise.
31235 * gensymlist.sh.in: Likewise.
31236 * genkernsyms.sh.in: Likewise.
31237 * include/grub/misc.h: Likewise.
31238 * include/grub/types.h: Likewise.
31239 * include/grub/symbol.h: Likewise.
31240 * include/grub/elf.h: Likewise.
31241 * include/grub/kernel.h: Likewise.
31242 * include/grub/disk.h: Likewise.
31243 * include/grub/dl.h: Likewise.
31244 * include/grub/i386/linux.h: Likewise.
31245 * include/grub/i386/pc/biosdisk.h: Likewise.
31246 * include/grub/efi/api.h: Likewise.
31247 * include/grub/efi/pe32.h: Likewise.
31248 * include/grub/util/misc.h: Likewise.
31249 * normal/execute.c: Likewise.
31250 * normal/arg.c: Likewise.
31251 * normal/completion.c: Likewise.
31252 * normal/lexer.c: Likewise.
31253 * normal/parser.y: Likewise.
31254 * normal/misc.c: Likewise.
31255 * commands/i386/pc/vbeinfo.c: Likewise.
31256 * commands/hexdump.c: Likewise.
31257 * commands/terminal.c: Likewise.
31258 * commands/ls.c: Likewise.
31259 * commands/help.c: Likewise.
31260 * partmap/pc.c: Likewise.
31261 * loader/efi/chainloader.c: Likewise.
31262 * loader/multiboot_loader.c: Likewise.
31263 * loader/i386/pc/multiboot2.c: Likewise.
31264 * term/efi/console.c: Likewise.
31265 * term/i386/pc/serial.c: Likewise.
31266 * util/lvm.c: Likewise.
31267 * util/console.c: Likewise.
31268 * util/i386/efi/grub-mkimage.c: Likewise.
31269 * util/raid.c: Likewise.
31270
7f02114b 312712009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31272
31273 * commands/videotest.c: Removed include to grub/machine/memory.h.
31274
31275 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31276 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31277 (video_mod_SOURCES): Removed.
31278 (video_mod_CFLAGS): Likewise.
31279 (video_mod_LDFLAGS): Likewise.
31280 (gfxterm_mod_SOURCES): Likewise.
31281 (gfxterm_mod_CFLAGS): Likewise.
31282 (gfxterm_mod_LDFLAGS): Likewise.
31283 (videotest_mod_SOURCES): Likewise.
31284 (videotest_mod_CFLAGS): Likewise.
31285 (videotest_mod_LDFLAGS): Likewise.
31286 (bitmap_mod_SOURCES): Likewise.
31287 (bitmap_mod_CFLAGS): Likewise.
31288 (bitmap_mod_LDFLAGS): Likewise.
31289 (tga_mod_SOURCES): Likewise.
31290 (tga_mod_CFLAGS): Likewise.
31291 (tga_mod_LDFLAGS): Likewise.
31292 (jpeg_mod_SOURCES): Likewise.
31293 (jpeg_mod_CFLAGS): Likewise.
31294 (jpeg_mod_LDFLAGS): Likewise.
31295 (png_mod_SOURCES): Likewise.
31296 (png_mod_CFLAGS): Likewise.
31297 (png_mod_LDFLAGS): Likewise.
31298
31299 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31300 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31301 (video_mod_SOURCES): Added.
31302 (video_mod_CFLAGS): Likewise.
31303 (video_mod_LDFLAGS): Likewise.
31304 (videotest_mod_SOURCES): Likewise.
31305 (videotest_mod_CFLAGS): Likewise.
31306 (videotest_mod_LDFLAGS): Likewise.
31307 (bitmap_mod_SOURCES): Likewise.
31308 (bitmap_mod_CFLAGS): Likewise.
31309 (bitmap_mod_LDFLAGS): Likewise.
31310 (tga_mod_SOURCES): Likewise.
31311 (tga_mod_CFLAGS): Likewise.
31312 (tga_mod_LDFLAGS): Likewise.
31313 (jpeg_mod_SOURCES): Likewise.
31314 (jpeg_mod_CFLAGS): Likewise.
31315 (jpeg_mod_LDFLAGS): Likewise.
31316 (png_mod_SOURCES): Likewise.
31317 (png_mod_CFLAGS): Likewise.
31318 (png_mod_LDFLAGS): Likewise.
31319 (gfxterm_mod_SOURCES): Likewise.
31320 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31321 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31322
31323 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31324 grub/machine/console.h.
31325
644fff97 313262009-01-04 Jerone Young <jerone@gmail.com>
31327
31328 Make on screen instructions clearer
31329
31330 Based on patch created by Jidanni <jidanni@jidanni.org>
31331
31332 * normal/menu.c: print clearer instructions on the screen
31333
1e901a75 313342009-01-02 Colin D Bennett <colin@gibibit.com>
31335
31336 New font engine.
34c44600 31337
1e901a75 31338 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31339 build system and fixed gfxterm.c to work with different sized fonts.
31340
31341 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31342
1e901a75 31343 * configure: Re-generated.
34c44600 31344
1e901a75 31345 * DISTLIST: Removed font/manager.c.
31346 Added font/font.c.
31347 Added font/font_cmd.c.
34c44600 31348
1e901a75 31349 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31350 compilation.
34c44600 31351
1e901a75 31352 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31353
31354 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31355
31356 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31357
1e901a75 31358 * normal/menu.c: Likewise.
34c44600 31359
1e901a75 31360 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31361 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31362
1e901a75 31363 * include/grub/font.h: Replaced with new file.
34c44600 31364
1e901a75 31365 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31366 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31367 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31368 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31369 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31370 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31371 fg_red, fg_green, fg_blue, fg_alpha.
31372 (grub_video_adapter): Removed blit_glyph.
34c44600 31373 (grub_video_blit_glyph): Removed.
31374
1e901a75 31375 * font/manager.c: Removed file.
34c44600 31376
31377 * font/font.c: New file.
31378
1e901a75 31379 * font/font_cmd.c: Likewise.
34c44600 31380
1e901a75 31381 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31382
1e901a75 31383 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31384 (grub_video_vbe_map_rgba): Likewise.
31385 (grub_video_vbe_unmap_color_int): Likewise.
31386 (grub_video_vbe_blit_glyph): Removed.
31387 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31388
1e901a75 31389 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31390 (get_pixel): Likewise.
34c44600 31391 (set_pixel): Likewise.
31392
1e901a75 31393 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31394
1e901a75 31395 * term/gfxterm.c: Adapted to new font engine.
34c44600 31396
1e901a75 31397 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31398
1e901a75 31399 * term/i386/pc/vga.c: Likewise.
34c44600 31400
1e901a75 31401 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31402
1e901a75 31403 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31404
1e901a75 31405 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31406
1e901a75 31407 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31408
1e901a75 31409 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31410
1e901a75 31411 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31412
1e901a75 31413 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31414
1e901a75 31415 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31416
1e901a75 31417 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31418
31419 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31420
1e901a75 31421 * util/grub-mkconfig_lib.in: Changed font extension.
31422
278922e8 314232008-12-28 Felix Zielcke <fzielcke@z-51.de>
31424
31425 * util/getroot.c (grub_util_get_grub_dev): Add support for
31426 /dev/md/dNNpNN style partitionable mdraid devices.
31427
3ced05cf 314282008-12-12 Alex Smith <alex@alex-smith.me.uk>
31429
31430 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31431 at a time limit of the PXE TFTP API correctly.
31432 (grub_pxefs_close): Likewise.
31433
7fd0ee30 314342008-11-29 Robert Millan <rmh@aybabtu.com>
31435
34c44600 31436 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31437 grub_ata_device_initialize() calls.
31438
34c44600 314392008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31440
31441 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31442 iteration failed.
31443 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31444
89313780 314452008-11-28 Robert Millan <rmh@aybabtu.com>
31446
31447 Fix build on powerpc-ieee1275. Based on patch created by
31448 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31449 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31450 `kern/ieee1275/mmap.c'.
31451 * include/grub/powerpc/ieee1275/memory.h: New file.
31452
15257703 31453 Provide grub-install on coreboot.
31454 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31455 (grub_install_SOURCES): New variable.
31456 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31457 usable on coreboot.
31458
9fc5388a 314592008-11-25 Felix Zielcke <fzielcke@z-51.de>
31460
31461 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31462 to `grub_term_input_t'.
31463 (grub_term_get_current_output): Change return type to
31464 `grub_term_output_t'.
31465
bc3a2f31 314662008-11-22 Robert Millan <rmh@aybabtu.com>
31467
34c44600 31468 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31469 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31470 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31471 grub_vga_text_cls().
31472
80fc88f2 31473 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31474 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31475
cbf36fd3 31476 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31477 to 0x200000 (avoids trouble with some OFW implementations, and matches
31478 with the one in Yaboot).
31479 Reported by Manoel Abranches
31480
73e8e268 314812008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31482
31483 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31484 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31485
73e8e268 31486 * util/grub-mkconfig_lib.in (grub_warn): New function.
31487 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31488 warnings, to obtain consistent formatting.
31489 * util/grub.d/00_header.in: Likewise.
31490 * util/update-grub_lib.in: Likewise.
31491
e94045a1 31492 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31493 Move comment text to `#error' stanza.
e94045a1 31494
79d29fd7 31495 Harmonize ieee1275's grub_available_iterate() with the generic
31496 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31497 build problem on i386-ieee1275):
31498 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31499 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31500 parameter `type'. Update all users of this function.
31501 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31502 `kern/ieee1275/mmap.c'.
31503 * kern/ieee1275/init.c
31504 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31505 with ...
31506 (grub_machine_mmap_iterate): ... this.
31507 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31508 return type to `grub_err_t'. Update all implementations of this
31509 function prototype.
31510 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31511 Likewise.
31512
60d6b16e 31513 Add `lsmmap' command (lists firmware-provided memory map):
31514 * commands/lsmmap.c: New file.
31515 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31516 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31517 variables.
31518 * conf/powerpc-ieee1275.rmk: Likewise.
31519 * conf/i386-coreboot.rmk: Likewise.
31520 * conf/i386-ieee1275.rmk: Likewise.
31521
ebaaf49b 315222008-11-19 Robert Millan <rmh@aybabtu.com>
31523
31524 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31525 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31526 constraints to initrd allocation (based on code from
31527 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31528 for Linux to find it.
ebaaf49b 31529
dfab719f 315302008-11-14 Robert Millan <rmh@aybabtu.com>
31531
31532 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31533 order to cope with duplicate slashes.
31534
10fc3eb9 315352008-11-14 Robert Millan <rmh@aybabtu.com>
31536
31537 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31538 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31539 don't want to mess with lower memory, because it is used in the Linux
31540 loader.
31541
31542 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31543 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31544 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31545 is in our heap (probably as a result of it being corrupted during
2f2a3442 31546 decompression). Add #error instance with comment to explain why this
31547 loader isn't currently usable on PC/BIOS.
10fc3eb9 31548
e2e07847 315492008-11-14 Robert Millan <rmh@aybabtu.com>
31550
31551 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31552 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31553
fe8e8d69 315542008-11-12 Robert Millan <rmh@aybabtu.com>
31555
31556 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31557
31558 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31559 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31560 from here ...
31561 * include/grub/i386/pc/memory.h: ... to here.
31562
976b07d0 315632008-11-12 Robert Millan <rmh@aybabtu.com>
31564
31565 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31566 split).
31567
31568 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31569 (grub_console_cur_color, grub_console_real_putchar)
31570 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31571 (grub_console_setcolorstate, grub_console_setcolor)
31572 (grub_console_getcolor): Move from here ...
31573 * include/grub/i386/vga_common.h: ... to here (new file).
31574
31575 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31576 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31577 `<grub/i386/io.h>'.
31578 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31579 `<grub/i386/vga_common.h>'.
31580
76679cd3 315812008-11-12 Robert Millan <rmh@aybabtu.com>
31582
31583 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31584 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31585 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31586 variables.
31587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31588 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31589
31590 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31591 grub_console_init() with call to grub_vga_text_init().
31592 (grub_machine_fini): Replace call to
31593 grub_console_fini() with call to grub_vga_text_fini() and
31594 grub_at_keyboard_fini().
31595
31596 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31597 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31598 (grub_console_setcolorstate, grub_console_setcolor)
31599 (grub_console_getcolor): New function prototypes.
31600
31601 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31602 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31603 (grub_vga_text_setcursor): Static-ize.
31604 (grub_vga_text_term): New structure.
31605 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31606
31607 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31608 (grub_console_cur_color, grub_console_standard_color)
31609 (grub_console_normal_color, grub_console_highlight_color)
31610 (map_char, grub_console_putchar, grub_console_getcharwidth)
31611 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31612 (grub_console_getcolor): Move from here ...
31613 * term/i386/vga_common.c: ... to here (same function names).
31614
95b841d3 316152008-11-12 Robert Millan <rmh@aybabtu.com>
31616
31617 Use newly-added Multiboot support in coreboot.
31618
31619 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31620 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31621
31622 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31623 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31624 (codestart): Store the MBI in `startup_multiboot_info' when we're
31625 being loaded using Multiboot.
31626
31627 * kern/i386/coreboot/init.c (grub_machine_init): Move
31628 grub_at_keyboard_init() call to beginning of function (useful for
31629 debugging). Call grub_machine_mmap_init() before attempting to use
31630 grub_machine_mmap_iterate().
31631 (grub_lower_mem, grub_upper_mem): Move from here ...
31632 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31633 here (new file).
31634
31635 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31636 function prototype.
31637
761ca975 316382008-11-12 Robert Millan <rmh@aybabtu.com>
31639
31640 Fix a regression introduced by the at_keyboard.mod split. Because
31641 some terminals are default on some platforms and non-default on
31642 others, the first terminal being registered determines which is
31643 going to be default.
31644
31645 * kern/term.c (grub_term_register_input): If this is the first
31646 terminal being registered, set it as the current one.
31647 (grub_term_register_output): Likewise.
31648
31649 * term/efi/console.c (grub_console_init): Do not call
31650 grub_term_set_current_output() or grub_term_set_current_input().
31651 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31652 * term/i386/pc/console.c (grub_console_init): Likewise.
31653 (grub_console_fini): Do not call grub_term_set_current_input()
31654 (but leave grub_term_set_current_output() to restore text mode).
31655
6c529df7 316562008-11-10 Robert Millan <rmh@aybabtu.com>
31657
31658 * util/grub.d/00_header.in: Add backward compatibility check for
31659 versions of terminal.mod that don't understand `terminal_input' or
31660 `terminal_output'.
31661
132e4113 316622008-11-09 Robert Millan <rmh@aybabtu.com>
31663
31664 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31665 `terminal_input' / `terminal_output', not `terminal'.
31666
ac293d50 316672008-11-08 Robert Millan <rmh@aybabtu.com>
31668
31669 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31670 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31671
0025933a 316722008-11-08 Robert Millan <rmh@aybabtu.com>
31673
31674 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31675 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31676 members. Update all users.
31677 * util/console.c (grub_ncurses_term): Split in ...
31678 (grub_ncurses_term_input): ... this, and ...
31679 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31680 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31681
37c86336 316822008-11-08 Robert Millan <rmh@aybabtu.com>
31683
31684 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31685 (PKGDATA): Add $(pkgdata_SRCDIR).
31686 (pkglib_BUILDDIR): New variable.
31687 (pkgdata_SRCDIR): New variable.
31688 (build_env.mk): New target.
31689 (include_DATA): New variable.
31690 (install-local): Install $(include_DATA) files in $(includedir).
31691
b6c15a2d 316922008-11-07 Pavel Roskin <proski@gnu.org>
31693
d99d46f1 31694 * gendistlist.sh: Use C locale for sorting to ensure consistent
31695 output on all systems.
31696
b6c15a2d 31697 * util/grub.d/00_header.in: Remove incorrect space before
31698 "serial".
31699
c32ee8c9 317002008-11-07 Robert Millan <rmh@aybabtu.com>
31701
31702 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31703 per specification.
31704 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31705 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31706 (based on find_multi_boot1_header).
31707 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31708 using find_multi_boot2_header(), and abort if neither Multiboot or
31709 Multiboot headers were found.
31710
651c29b7 317112008-11-07 Robert Millan <rmh@aybabtu.com>
31712
31713 Modularize at_keyboard.mod:
31714
31715 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31716 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31717 (at_keyboard_mod_LDFLAGS): New variables.
31718
31719 Actual terminal split:
31720
31721 * include/grub/term.h (struct grub_term): Split in ...
31722 (struct grub_term_input): ... this, and ...
31723 (struct grub_term_output): ... this. Update all users.
31724 (grub_term_set_current): Split in ...
31725 (grub_term_set_current_input): ... this, and ...
31726 (grub_term_set_current_output): ... this.
31727 (grub_term_get_current): Split in ...
31728 (grub_term_get_current_input): ... this, and ...
31729 (grub_term_get_current_output): ... this.
31730 (grub_term_register): Split in ...
31731 (grub_term_register_input): ... this, and ...
31732 (grub_term_register_output): ... this.
31733 (grub_term_unregister): Split in ...
31734 (grub_term_unregister_input): ... this, and ...
31735 (grub_term_unregister_output): ... this.
31736 (grub_term_iterate): Split in ...
31737 (grub_term_iterate_input): ... this, and ...
31738 (grub_term_iterate_output): ... this.
31739
31740 * kern/term.c (grub_term_list): Split in ...
31741 (grub_term_list_input): ... this, and ...
31742 (grub_term_list_output): ... this. Update all users.
31743 (grub_cur_term): Split in ...
31744 (grub_cur_term_input): ... this, and ...
31745 (grub_cur_term_output): ... this. Update all users.
31746 (grub_term_set_current): Split in ...
31747 (grub_term_set_current_input): ... this, and ...
31748 (grub_term_set_current_output): ... this.
31749 (grub_term_get_current): Split in ...
31750 (grub_term_get_current_input): ... this, and ...
31751 (grub_term_get_current_output): ... this.
31752 (grub_term_register): Split in ...
31753 (grub_term_register_input): ... this, and ...
31754 (grub_term_register_output): ... this.
31755 (grub_term_unregister): Split in ...
31756 (grub_term_unregister_input): ... this, and ...
31757 (grub_term_unregister_output): ... this.
31758 (grub_term_iterate): Split in ...
31759 (grub_term_iterate_input): ... this, and ...
31760 (grub_term_iterate_output): ... this.
31761
31762 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31763 a check for input and one for output (and only attempt to get keys
31764 from user when input works).
31765
31766 * util/grub-probe.c (grub_term_get_current): Split in ...
31767 (grub_term_get_current_input): ... this, and ...
31768 (grub_term_get_current_output): ... this.
31769 * util/grub-fstest.c: Likewise.
31770 * util/i386/pc/grub-setup.c: Likewise.
31771 * util/grub-editenv.c: Likewise.
31772
31773 Portability adjustments:
31774
31775 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31776 `term/i386/pc/at_keyboard.c'.
31777 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31778 grub_keyboard_controller_init() (now handled by terminal .init).
31779 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31780 grub_at_keyboard_init().
31781 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31782 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31783 at_keyboard.mod via input terminal interface).
31784 * include/grub/i386/coreboot/console.h: Convert into a stub for
31785 `<grub/i386/pc/console.h>'.
31786
31787 Migrate full terminals to new API:
31788
31789 * term/efi/console.c (grub_console_term): Split into ...
31790 (grub_console_term_input): ... this, and ...
31791 (grub_console_term_output): ... this. Update all users.
31792 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31793 (grub_ofconsole_init): Split into ...
31794 (grub_ofconsole_init_input): ... this, and ...
31795 (grub_ofconsole_init_output): ... this.
31796 (grub_ofconsole_term): Split into ...
31797 (grub_ofconsole_term_input): ... this, and ...
31798 (grub_ofconsole_term_output): ... this. Update all users.
31799 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31800 (grub_serial_term_input): ... this, and ...
31801 (grub_serial_term_output): ... this. Update all users.
31802 * term/i386/pc/console.c (grub_console_term): Split into ...
31803 (grub_console_term_input): ... this, and ...
31804 (grub_console_term_output): ... this. Update all users.
31805 (grub_console_term_input): Only enable it on PC/BIOS platform.
31806 (grub_console_init): Remove grub_keyboard_controller_init() call.
31807
31808 Migrate input terminals to new API:
31809
31810 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31811 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31812 i386-specific anyway).
31813 (grub_console_checkkey): Rename to ...
31814 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31815 users.
31816 (grub_keyboard_controller_orig): New variable.
31817 (grub_console_getkey): Rename to ...
31818 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31819 users.
31820 (grub_keyboard_controller_init): Static-ize. Save original
31821 controller value so that it can be restored ...
31822 (grub_keyboard_controller_fini): ... here (new function).
31823 (grub_at_keyboard_term): New structure.
31824 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31825 functions.
31826
31827 Migrate output terminals to new API:
31828
31829 * term/i386/pc/vga.c (grub_vga_term): Change type to
31830 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31831 members. Update all users.
31832 * term/gfxterm.c (grub_video_term): Change type to
31833 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31834 members. Update all users.
31835 * include/grub/i386/pc/console.h (grub_console_checkkey)
31836 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31837 etc).
31838
31839 Migrate `terminal' command and userland tools to new API:
31840
31841 * commands/terminal.c (grub_cmd_terminal): Split into ...
31842 (grub_cmd_terminal_input): ... this, and ...
31843 (grub_cmd_terminal_output): ... this.
31844 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31845 `terminal_input' and `terminal_output'.
31846 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31847 `terminal_input' / `terminal_output' API.
31848 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31849 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31850 provided ${GRUB_TERMINAL}, convert it).
31851
96e5d876 318522008-11-04 Robert Millan <rmh@aybabtu.com>
31853
31854 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31855 for FreeBSD.
31856 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31857
556f3775 318582008-11-03 Bean <bean123ch@gmail.com>
31859
31860 * kern/elf.c (grub_elf32_load): Revert to previous code.
31861 (grub_elf64_load): Likewise.
31862
31863 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31864
926b9823 318652008-11-01 Robert Millan <rmh@aybabtu.com>
31866
31867 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31868 (TARGET_CPPFLAGS): Likewise.
31869 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31870
1432e958 318712008-11-01 Carles Pina i Estany <carles@pina.cat>
31872
31873 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31874
dba3f844 318752008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31876
31877 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31878 addition of objects until the code is not going to be able to fail.
31879
dba3f844 318802008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31881
31882 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31883 (add a missing NULL check, and correct them by moving the pointer
31884 operations after the actual check).
31885
7ab28c21 318862008-10-29 Robert Millan <rmh@aybabtu.com>
31887
31888 * util/i386/pc/grub-install.in: Handle empty string as output from
31889 make_system_path_relative_to_its_root().
31890
1b7748eb 318912008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31892
31893 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31894 circular metadata worst case scenario. If the metadata is circular
31895 then copy the wrap in place.
31896 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31897 project lib/format_text/layout.h
31898 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31899
c9618ab2 319002008-10-03 Felix Zielcke <fzielcke@z-51.de>
31901
7a36edca 31902 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31903
bf981c62 319042008-10-03 Felix Zielcke <fzielcke@z-51.de>
31905
31906 * util/update-grub_lib.in: Mention filename in warning message.
31907
6d994591 319082008-09-29 Felix Zielcke <fzielcke@z-51.de>
31909
31910 * NEWS: Update for rename of update-grub to grub-mkconfig.
31911
18ade780 319122008-09-29 Felix Zielcke <fzielcke@z-51.de>
31913
31914 * util/update-grub_lib.in: Copy to ...
31915 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31916 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31917 * util/update-grub.in: Rename to ...
31918 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31919 option. Add `--output' option to allow users to specify the generated
31920 configuration file. Default to stdout.
31921 (update_grub_dir): Rename to ...
31922 (grub_mkconfig_dir): ... this.
31923 (grub_cfg): Default to an empty string.
31924 * conf/common.rmk (update-grub): Rename to ...
31925 (grub-mkconfig): ... this.
31926 (update-grub_lib): Copy to ...
31927 (grub-mkconfig_lib): ... this.
31928 (update-grub_SCRIPTS): Copy to ...
31929 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31930 (update-grub_DATA): Rename to ...
31931 (grub-mkconfig_DATA): ... this.
31932
556ce6ac 319332008-09-28 Robert Millan <rmh@aybabtu.com>
31934
31935 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31936 to `modified'. Add the real `created' field.
31937 (grub_iso9660_uuid): Use `modified' rather than `created' for
31938 constructing the UUID.
31939
319402008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31941
31942 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31943 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31944
92274e85 319452008-09-28 Bean <bean123ch@gmail.com>
31946
31947 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31948 Thanks to Christian Franke for finding this bug.
31949
add6f17a 319502008-09-25 Robert Millan <rmh@aybabtu.com>
31951
31952 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31953 instances of grub_util_get_disk_name() (see previous commit).
31954
d2a367b8 319552008-09-25 Robert Millan <rmh@aybabtu.com>
31956
31957 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31958 `util/i386/get_disk_name.c'.
31959 * conf/i386-efi.rmk: Likewise.
31960 * conf/x86_64-efi.rmk: Likewise.
31961 * conf/i386-coreboot.rmk: Likewise.
31962 * conf/i386-ieee1275.rmk: Likewise.
31963 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31964 `util/ieee1275/get_disk_name.c'.
31965 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31966 * util/ieee1275/get_disk_name.c: Remove file.
31967 * util/i386/get_disk_name.c: Remove file.
31968 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31969 "hd%d" for device.map entries, rather than using
31970 grub_util_get_disk_name().
31971
81a06771 319722008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31973
31974 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31975 warning.
31976 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31977
5a004279 319782008-09-24 Carles Pina i Estany <carles@pina.cat>
31979
31980 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31981 Changed to 0x5100.
31982 (GRUB_TERM_PPAGE): Changed to 0x4900.
31983
397093d3 319842008-09-24 Robert Millan <rmh@aybabtu.com>
31985
31986 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31987 macros (they were i386-pc specific).
31988 * include/grub/sparc64/ieee1275/console.h: Likewise.
31989 * include/grub/efi/console.h: Likewise.
31990
a91b6c7c 319912008-09-22 Bean <bean123ch@gmail.com>
31992
31993 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31994 resident and in attribute list.
31995
31996 * include/grub/ntfs.h (BMP_LEN): Removed.
31997
c40fd116 319982008-09-22 Bean <bean123ch@gmail.com>
31999
81a06771 32000 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32001 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32002
32003 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32004 error occurs, as grub_disk_open will call grub_disk_close, which will
32005 call p->close (scsi).
32006
81a06771 320072008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32008
32009 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32010 (AC_PREREQ): Bumped to 2.59.
32011 (AC_TRY_COMPILE): Replace obsolete macro with ...
32012 (AC_COMPILE_IFELSE): ... this.
32013 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32014 (AC_LINK_IFELSE): ... this.
32015
5dc43410 320162008-09-21 Felix Zielcke <fzielcke@z-51.de>
32017
32018 * autogen.sh: Add a call to `gendistlist.sh'.
32019
9035dce4 320202008-09-19 Christian Franke <franke@computer.org>
32021
32022 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32023 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32024 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32025 Export __enable_execute_stack() to modules.
32026 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32027 New function.
32028
7fd75377 320292008-09-09 Felix Zielcke <fzielcke@z-51.de>
32030
040030b3 32031 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32032 Sort the list.
32033
320342008-09-09 Felix Zielcke <fzielcke@z-51.de>
32035
32036 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32037 #include <grub/util/hostdisk.h>.
32038
89d5ffcf 320392008-09-08 Robert Millan <rmh@aybabtu.com>
32040
32041 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32042 segments when their filesz is zero (grub_file_read() interprets
81a06771 32043 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32044 Use `lowest_segment' rather than 0 for calculating the current
32045 segment load address.
32046
40da438f 320472008-09-08 Robert Millan <rmh@aybabtu.com>
32048
32049 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32050 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32051 clobbered useful information.
32052
ddbf5556 320532008-09-08 Robert Millan <rmh@aybabtu.com>
32054
32055 * include/grub/util/biosdisk.h: Move to ...
32056 * include/grub/util/hostdisk.h: ... here. Update all users.
32057 * util/biosdisk.c: Move to ...
32058 * util/hostdisk.c: ... here. Update all users.
32059
783d0f48 320602008-09-07 Robert Millan <rmh@aybabtu.com>
32061
32062 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32063 variables.
32064 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32065 and length can be stored directly in the `mbi->mmap_addr' and
32066 `mbi->mmap_length' struct fields.
32067
548e2ea5 320682008-09-07 Robert Millan <rmh@aybabtu.com>
32069
32070 * conf/i386.rmk: New file. Provides declaration for building
32071 `cpuid.mod'.
32072 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32073 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32074 variables.
32075 Include `conf/i386.mk'.
32076 * conf/i386-efi.rmk: Likewise.
32077 * conf/x86_64-efi.rmk: Likewise.
32078 * conf/i386-coreboot.rmk: Likewise.
32079 * conf/i386-ieee1275.rmk: Likewise.
32080
0ea85a37 320812008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32082
32083 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32084 Adds optimization support for BGR based modes.
32085
32086 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32087 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32088 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32089 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32090 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32091 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32092 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32093 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32094 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32095 (grub_video_i386_vbeblit_index_index): Likewise.
32096 (grub_video_i386_vbeblit_replace_directN): Added.
32097 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32098 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32099 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32100 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32101 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32102 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32103 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32104 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32105 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32106 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32107 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32108 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32109 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32110
32111 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32112 (grub_video_i386_vbefill_R8G8B8): Likewise.
32113 (grub_video_i386_vbefill_index): Likewise.
32114 (grub_video_i386_vbefill_direct32): Added.
32115 (grub_video_i386_vbefill_direct24): Likewise.
32116 (grub_video_i386_vbefill_direct16): Likewise.
32117 (grub_video_i386_vbefill_direct8): Likewise.
32118
81a06771 32119 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32120 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32121 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32122 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32123 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32124 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32125
0ea85a37 32126 * video/video.c (grub_video_get_blit_format): Updated to use new
32127 blit formats. Added handling for 16 bit color modes.
81a06771 32128
32129 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32130 fillers.
32131 (common_blitter): Updated to use new blitters.
32132
32133 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32134 Removed.
32135 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32136 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32137 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32138 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32139 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32142 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32143 (grub_video_i386_vbeblit_index_index): Likewise.
32144 (grub_video_i386_vbeblit_replace_directN): Added.
32145 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32146 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32147 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32148 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32149 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32150 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32151 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32152 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32153 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32154 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32155 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32156 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32157 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32158
0ea85a37 32159 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32160 (grub_video_i386_vbefill_R8G8B8): Likewise.
32161 (grub_video_i386_vbefill_index): Likewise.
32162 (grub_video_i386_vbefill_direct32): Added.
32163 (grub_video_i386_vbefill_direct24): Likewise.
32164 (grub_video_i386_vbefill_direct16): Likewise.
32165 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32166
0ea85a37 32167 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32168 types.
81a06771 32169
0ea85a37 32170 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32171 types.
81a06771 32172
0ea85a37 32173 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32174 blitter types.
81a06771 32175
0ea85a37 32176 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32177 types.
32178
e8a83df6 321792008-09-06 Felix Zielcke <fzielcke@z-51.de>
32180
32181 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32182 RAID level 1.
32183
6bcd8ee5 321842008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32185
6bcd8ee5 32186 * fs/iso9660.c (grub_iso9660_date): New structure.
32187 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32188 (grub_iso9660_uuid): New function.
c375ae58 32189
59261157 321902008-09-05 Bean <bean123ch@gmail.com>
32191
32192 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32193
32194 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32195 insensitive bit for names in Win32 and Win32 & DOS namespace.
32196
32197 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32198
32199 * include/grub/types.h (LONG_MAX): Likewise.
32200
58b6645a 322012008-09-04 Felix Zielcke <fzielcke@z-51.de>
32202
4ee55921 32203 * util/getroot.c: Include <config.h>.
32204 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32205 add support for /dev/md/N devices and handle LVM double dash escaping.
32206
322072008-09-04 Felix Zielcke <fzielcke@z-51.de>
32208
32209 * config.guess: Update to latest version from config git.
32210 * config.sub: Likewise.
58b6645a 32211
9124f65d 322122008-09-03 Robert Millan <rmh@aybabtu.com>
32213
32214 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32215 `disk->total_sectors'.
32216
81a06771 322172008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32218
32219 * include/grub/normal.h: Fixed incorrect comment for
32220 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32221
81a06771 322222008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32223
32224 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32225 values with defines.
32226
32227 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32228 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32229 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32230 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32231 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32232 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32233 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32234 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32235 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32236 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32237 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32238 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32239 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32240 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32241 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32242 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32243 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32244 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32245 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32246
93d5cbf8 322472008-08-31 Robert Millan <rmh@aybabtu.com>
32248
32249 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32250 declaration.
32251 (grub_multiboot): Fix a few warnings.
32252
21751d50 322532008-08-31 Robert Millan <rmh@aybabtu.com>
32254
32255 * loader/i386/pc/multiboot.c: Update comment not to say that
32256 boot_device support is unimplemented.
32257
e27a75c5 322582008-08-31 Robert Millan <rmh@aybabtu.com>
32259
32260 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32261 or memory map support are unimplemented.
32262
81a06771 322632008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32264
32265 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32266
81a06771 322672008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32268
32269 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32270 total video memory in 'vbeinfo' output; show color format details for
32271 each video mode.
32272
7c5d8d95 322732008-08-30 Pavel Roskin <proski@gnu.org>
32274
32275 * util/genmoddep.c: Remove for real this time.
32276 * DISTLIST: Remove util/genmoddep.c.
32277
4cebd25a 322782008-08-30 Robert Millan <rmh@aybabtu.com>
32279
32280 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32281 as required by Multiboot spec (it was already 4-byte aligned, but
32282 only by chance).
32283
b497a269 322842008-08-29 Pavel Roskin <proski@gnu.org>
32285
e3925185 32286 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32287 * kern/powerpc/ieee1275/startup.S: ... this.
32288 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32289 * DISTLIST: Likewise.
32290
b497a269 32291 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32292 grub/cpu/kernel.h. Add start label for consistency with other
32293 platforms. Add grub_prefix immediately after start. Add jump
32294 to the code after grub_prefix.
32295 * include/grub/powerpc/kernel.h: Provide valid values for
32296 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32297
6e5a42fe 322982008-08-29 Bean <bean123ch@gmail.com>
32299
32300 * configure.ac: Change host_os to cygwin for mingw.
32301 (asprintf): New check for function.
32302
32303 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32304 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32305
32306 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32307 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32308 sync, sleep and grub_util_get_disk_size for mingw.
32309
32310 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32311 to get size in mingw.
32312 (open_device): Use flag O_BINARY if it's defined.
32313 (find_root_device): Add dummy code for mingw.
32314
32315 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32316 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32317 (get_scsi_disk_name): Return 0 for mingw.
32318
32319 * util/hostfs.c: #include <grub/util/misc.h>.
32320 (grub_hostfs_open): Use "rb" flag to open file, use
32321 grub_util_get_disk_size to get disk size for mingw.
32322
32323 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32324 (asprintf): New function if HAVE_ASPRINTF is not set.
32325 (sync): New function for mingw.
32326 (sleep): Likewise.
32327 (grub_util_get_disk_size): Likewise.
32328
ab3f2673 323292008-08-28 Pavel Roskin <proski@gnu.org>
32330
32331 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32332 kern/time.c.
32333
1c282483 323342008-08-28 Robert Millan <rmh@aybabtu.com>
32335
32336 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32337
678e849c 323382008-08-28 Robert Millan <rmh@aybabtu.com>
32339
32340 Change find_grub_drive() syntax so it doesn't prevent it from
32341 detecting NULL names as errors.
32342
32343 * util/biosdisk.c (find_grub_drive): Move free slot search code
32344 from here ...
32345 (find_free_slot): ... to here.
32346 (read_device_map): Use find_free_slot() to search for free slots.
32347
965c75ca 323482008-08-27 Marco Gerards <marco@gnu.org>
32349
32350 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32351 (scsi_mod_SOURCES): New variable.
32352 (scsi_mod_CFLAGS): Likewise
32353 (scsi_mod_LDFLAGS): Likewise.
32354
32355 * disk/scsi.c: New file.
32356
32357 * include/grub/scsi.h: Likewise.
32358
32359 * include/grub/scsicmd.h: Likewise.
32360
32361 * disk/ata.c: Include <grub/scsi.h>.
32362 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32363 instead.
32364 (grub_ata_iterate): Skip ATAPI devices.
32365 (grub_ata_open): Only handle ATAPI devices.
32366 (struct grub_atapi_read): Removed.
32367 (grub_atapi_readsector): Likewise.
32368 (grub_ata_read): No longer handle ATAPI devices.
32369 (grub_ata_write): Likewise.
32370 (grub_atapi_iterate): New function.
32371 (grub_atapi_read): Likewise.
32372 (grub_atapi_write): Likewise.
32373 (grub_atapi_open): Likewise.
32374 (grub_atapi_close): Likewise.
32375 (grub_atapi_dev): New variable.
32376 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32377 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32378
32379 * include/grub/disk.h (enum grub_disk_dev_id): Add
32380 `GRUB_DISK_DEVICE_SCSI_ID'.
32381
c07ae501 323822008-08-26 Robert Millan <rmh@aybabtu.com>
32383
32384 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32385 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32386 descriptive.
32387
5ed20adc 323882008-08-23 Bean <bean123ch@gmail.com>
32389
32390 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32391 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32392 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32393 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32394 dm_nv.mod.
32395 (raid5rec_mod_SOURCES): New macro.
32396 (raid5rec_mod_CFLAGS): Likewise.
32397 (raid5rec_mod_LDFLAGS): Likewise.
32398 (raid6rec_mod_SOURCES): Likewise.
32399 (raid6rec_mod_CFLAGS): Likewise.
32400 (raid6rec_mod_LDFLAGS): Likewise.
32401 (mdraid_mod_SOURCES): Likewise.
32402 (mdraid_mod_CFLAGS): Likewise.
32403 (mdraid_mod_LDFLAGS): Likewise.
32404 (dm_nv_mod_SOURCES): Likewise.
32405 (dm_nv_mod_CFLAGS): Likewise.
32406 (dm_nv_mod_LDFLAGS): Likewise.
32407
32408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32409 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32410 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32411
32412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32413 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32414
32415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32416
32417 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32418
32419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32420
32421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32422
32423 * disk/raid5_recover.c: New file.
32424
32425 * disk/raid6_recover.c: Likewise.
32426
32427 * disk/mdraid_linux.c: Likewise.
32428
32429 * disk/dmraid_nvidia.c: Likewise.
32430
32431 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32432 ULONG_MAX.
32433
32434 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32435 calculate the size of raid device.
32436 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32437 different layout of raid5.
32438 (grub_raid_scan_device): Remove code specific to mdraid.
32439 (grub_raid_list): New variable.
32440 (free_array): New function.
32441 (grub_raid_register): Likewise.
32442 (grub_raid_unregister): Likewise.
32443 (grub_raid_rescan): Likewise.
32444 (GRUB_MOD_INIT): Don't iterate device here.
32445 (GRUB_MOD_FINI): Use free_array to release resource.
32446
32447 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32448 (grub_raid5_recover_func_t): New function variable type.
32449 (grub_raid6_recover_func_t): Likewise.
32450 (grub_raid5_recover_func): New variable.
32451 (grub_raid6_recover_func): Likewise.
32452 (grub_raid_register): New function.
32453 (grub_raid_unregister): Likewise.
32454 (grub_raid_rescan): Likewise.
32455 (grub_raid_block_xor): Likewise.
32456
32457 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32458 (CMD_CRC): New macro.
32459 (part): Removed.
32460 (read_file): Handle device as well as file.
32461 (cmd_crc): New function.
32462 (fstest): Handle multiple disks.
32463 (options): Remove part, raw and long, add root and diskcount.
32464 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32465 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32466 add handling for the new options, support multiple disks.
32467
32468 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32469
29c18915 324702008-08-23 Bean <bean123ch@gmail.com>
32471
32472 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32473
32474 * genfslist.sh: Ignore kernel.mod.
32475
32476 * genpartmaplist.sh: Likewise.
32477
8415f261 324782008-08-23 Robert Millan <rmh@aybabtu.com>
32479
32480 * util/getroot.c (find_root_device): Skip anything that starts with
32481 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32482
d5a7dc5b 324832008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32484
d5a7dc5b 32485 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32486 * util/grub.d/00_header.in: Allow the administrator to change default
32487 gfxmode via ${GRUB_GFXMODE}.
32488
380cfbb4 324892008-08-21 Felix Zielcke <fzielcke@z-51.de>
32490
32491 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32492
c9baafe7 324932008-08-21 Robert Millan <rmh@aybabtu.com>
32494
32495 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32496 loader.
32497 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32498 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32499
e290bef2 325002008-08-20 Carles Pina i Estany <carles@pina.cat>
32501
32502 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32503 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32504
f9dbfc96 325052008-08-19 Robert Millan <rmh@aybabtu.com>
32506
32507 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32508 (struct grub_virtual_screen): Remove `cursor_color'.
32509 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32510 initialization.
32511 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32512
dd6bd6ab 325132008-08-18 Robert Millan <rmh@aybabtu.com>
32514
32515 Unify (identical) linux_normal.c files.
32516 * loader/i386/efi/linux_normal.c: Move from here ...
32517 * loader/linux_normal.c: ... to here. Update all users.
32518 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32519 * loader/i386/ieee1275/linux_normal.c: Likewise.
32520
7f42f83e 325212008-08-18 Robert Millan <rmh@aybabtu.com>
32522
32523 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32524 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32525 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32526 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32527 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32528 New macros.
32529 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32530 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32531 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32532 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32533 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32534 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32535 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32536 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32537 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32538 portably using grub_getxy().
32539 Replace `-EFI' with `-bzImage' in boot message.
32540
38487ddb 325412008-08-17 Robert Millan <rmh@aybabtu.com>
32542
32543 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32544
deceb3ec 325452008-08-17 Robert Millan <rmh@aybabtu.com>
32546
32547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32548
32549 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32550 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32551 (grub_machine_mmap_iterate): New function declaration.
32552 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32553 structure.
32554 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32555 macros.
32556
32557 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32558 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32559 Move e820 parsing from here ...
32560 * kern/i386/pc/mmap.c: New file.
32561 (grub_machine_mmap_iterate): ... to here.
32562
32563 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32564 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32565 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32566 (grub_available_iterate): Redeclare to return `void', and redeclare
32567 its hook to use grub_uint64_t as addr and size parameters, and rename
32568 to ...
32569 (grub_machine_mmap_iterate): ... this. Update all users.
32570
32571 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32572 to make it more readable. Rename to ...
32573 (grub_machine_mmap_iterate): ... this.
32574
32575 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32576 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32577 (grub_multiboot): Allocate an extra region after the payload, and fill
32578 it with a Multiboot memory map. Adjust a.out loader to calculate size
32579 with the extra space.
32580 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32581 with the extra space.
32582
f8aa0f43 325832008-08-17 Carles Pina i Estany <carles@pina.cat>
32584
9807deb9 32585 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32586
605f5bb6 325872008-08-17 Felix Zielcke <fzielcke@z-51.de>
32588
32589 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32590 mdate-sh to the list `find' searches for.
32591 * DISTLIST: Regenerated.
32592
210db6c6 325932008-08-16 Felix Zielcke <fzielcke@z-51.de>
32594
32595 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32596 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32597 genmoddep.awk, gensymlist.sh.in.
32598 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32599 * DISTLIST: Regenerated.
48cdbfd4 32600 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32601
1082b929 326022008-08-16 Robert Millan <rmh@aybabtu.com>
32603
32604 * disk/raid.c (grub_raid_init): Handle/report errors set by
32605 grub_device_iterate().
32606 * disk/lvm.c (grub_lvm_init): Likewise.
32607
42ce5170 326082008-08-15 Bean <bean123ch@gmail.com>
32609
32610 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32611 and datehook.mod.
32612 (datetime_mod_SOURCES): New macro.
32613 (datetime_mod_CFLAGS): Likewise.
32614 (datetime_mod_LDFLAGS): Likewise.
32615 (date_mod_SOURCES): Likewise.
32616 (date_mod_CFLAGS): Likewise.
32617 (date_mod_LDFLAGS): Likewise.
32618 (datehook_mod_SOURCES): Likewise.
32619 (datehook_mod_CFLAGS): Likewise.
32620 (datehook_mod_LDFLAGS): Likewise.
32621
32622 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32623 and datehook.mod.
32624 (datetime_mod_SOURCES): New macro.
32625 (datetime_mod_CFLAGS): Likewise.
32626 (datetime_mod_LDFLAGS): Likewise.
32627 (date_mod_SOURCES): Likewise.
32628 (date_mod_CFLAGS): Likewise.
32629 (date_mod_LDFLAGS): Likewise.
32630 (datehook_mod_SOURCES): Likewise.
32631 (datehook_mod_CFLAGS): Likewise.
32632 (datehook_mod_LDFLAGS): Likewise.
32633
32634 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32635 and datehook.mod.
32636 (datetime_mod_SOURCES): New macro.
32637 (datetime_mod_CFLAGS): Likewise.
32638 (datetime_mod_LDFLAGS): Likewise.
32639 (date_mod_SOURCES): Likewise.
32640 (date_mod_CFLAGS): Likewise.
32641 (date_mod_LDFLAGS): Likewise.
32642 (datehook_mod_SOURCES): Likewise.
32643 (datehook_mod_CFLAGS): Likewise.
32644 (datehook_mod_LDFLAGS): Likewise.
32645
32646 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32647 and datehook.mod.
32648 (datetime_mod_SOURCES): New macro.
32649 (datetime_mod_CFLAGS): Likewise.
32650 (datetime_mod_LDFLAGS): Likewise.
32651 (date_mod_SOURCES): Likewise.
32652 (date_mod_CFLAGS): Likewise.
32653 (date_mod_LDFLAGS): Likewise.
32654 (datehook_mod_SOURCES): Likewise.
32655 (datehook_mod_CFLAGS): Likewise.
32656 (datehook_mod_LDFLAGS): Likewise.
32657
32658 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32659 and datehook.mod.
32660 (datetime_mod_SOURCES): New macro.
32661 (datetime_mod_CFLAGS): Likewise.
32662 (datetime_mod_LDFLAGS): Likewise.
32663 (date_mod_SOURCES): Likewise.
32664 (date_mod_CFLAGS): Likewise.
32665 (date_mod_LDFLAGS): Likewise.
32666 (datehook_mod_SOURCES): Likewise.
32667 (datehook_mod_CFLAGS): Likewise.
32668 (datehook_mod_LDFLAGS): Likewise.
32669
32670 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32671
32672 * commands/date.c: New file.
32673
32674 * hook/datehook.c: Likewise.
32675
32676 * include/grub/lib/datetime.h: Likewise.
32677
32678 * include/grub/i386/cmos.h: Likewise.
32679
32680 * lib/datetime.c: Likewise.
32681
32682 * lib/i386/datetime.c: Likewise.
32683
32684 * lib/efi/datetime.c: Likewise.
32685
0e9242da 326862008-08-14 Robert Millan <rmh@aybabtu.com>
32687
32688 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32689 (grub_mkelfimage_SOURCES): New variable.
32690 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32691
32692 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32693 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32694 * conf/powerpc-ieee1275.rmk: Likewise.
32695 * conf/i386-ieee1275.rmk: Likewise.
32696
32697 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32698 * kern/i386/coreboot/init.c: Likewise.
32699
32700 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32701 with `<grub/cpu/kernel.h>'.
32702 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32703 to ...
32704 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32705 * kern/i386/coreboot/startup.S: Likewise.
32706
32707 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32708 (GRUB_MOD_GAP): Remove.
32709 * include/grub/powerpc/kernel.h: New file.
32710 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32711 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32712 * include/grub/i386/kernel.h: New file.
32713 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32714 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32715 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32716
32717 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32718 `grub-mkelfimage'.
32719 Use --directory when invoking grub_mkimage.
32720
32721 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32722 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32723 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32724 and GRUB_KERNEL_CPU_PREFIX.
32725
b86408f8 327262008-08-14 Felix Zielcke <fzielcke@z-51.de>
32727
d5e619ca 32728 * include/grub/err.h (grub_err_printf): New function prototype.
32729 * util/misc.c (grub_err_printf): New function.
32730 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32731 grub_printf.
32732 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32733
7161f0e0 327342008-08-13 Robert Millan <rmh@aybabtu.com>
32735
32736 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32737
a1967522 327382008-08-13 Robert Millan <rmh@aybabtu.com>
32739
32740 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32741 boot entry.
32742
371458b5 327432008-08-12 Robert Millan <rmh@aybabtu.com>
32744
32745 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32746 of the relocation code from here ...
32747 (grub_multiboot): ... to here.
32748 (forward_relocator, backward_relocator): Move from here ...
32749 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32750 (grub_multiboot_backward_relocator): ... to here.
32751 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32752 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32753 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32754 (grub_multiboot_forward_relocator_end)
32755 (grub_multiboot_backward_relocator)
32756 (grub_multiboot_backward_relocator_end): New variables.
32757
05f9452b 327582008-08-12 Bean <bean123ch@gmail.com>
32759
32760 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32761
20024ab0 327622008-08-11 Robert Millan <rmh@aybabtu.com>
32763
32764 * kern/i386/linuxbios/startup.S: Move from here ...
32765 * kern/i386/coreboot/startup.S: ... to here.
32766
32767 * kern/i386/linuxbios/init.c: Move from here ...
32768 * kern/i386/coreboot/init.c: ... to here.
32769
32770 * kern/i386/linuxbios/table.c: Move from here ...
32771 * kern/i386/coreboot/mmap.c: ... to here.
32772
32773 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32774
e352e9cd 327752008-08-11 Robert Millan <rmh@aybabtu.com>
32776
32777 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32778 errors. Leave it to the upper layer to handle them.
32779
2d05bc6a 327802008-08-09 Christian Franke <franke@computer.org>
32781
32782 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32783 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32784 Install `grub.d/10_windows' only on Cygwin.
32785 * configure.ac: Add subst of `target_os'.
32786 Check `target_os' also before setting TARGET_OBJ2ELF.
32787 Add `--enable-grub-pe2elf'.
32788
042bd419 327892008-08-08 Robert Millan <rmh@aybabtu.com>
32790
32791 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32792 (grub_last_time): Change type to grub_uint64_t.
32793 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32794 (grub_disk_close): Likewise.
32795
32796 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32797 (run_menu): Migrate code from to using grub_get_time_ms().
32798
32799 * util/misc.c (grub_get_time_ms): New function.
32800
7f280db5 328012008-08-08 Marco Gerards <marco@gnu.org>
32802
32803 * disk/ata.c (grub_ata_regget): Change return type to
32804 `grub_uint8_t'.
32805 (grub_ata_regget2): Likewise.
32806 (grub_ata_wait_status): New function.
32807 (grub_ata_wait_busy): Removed function, updated all users to use
32808 `grub_ata_wait_status'.
32809 (grub_ata_wait_drq): Likewise.
32810 (grub_ata_cmd): New function.
32811 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32812 error handling.
32813 (grub_ata_pio_write): Add error handling.
32814 (grub_atapi_identify): Likewise.
32815 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32816 handling.
32817 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32818 handling. Actually use the detected registers. Reorder the
32819 detection logic such that it is easier to read.
32820 (grub_ata_pciinit): Do not assign the same ID to each controller.
32821 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32822 handling.
32823 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32824
32825 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32826
1fbc5e66 328272008-08-08 Marco Gerards <marco@gnu.org>
32828
32829 * NEWS: Update.
32830
819ce6c0 328312008-08-07 Bean <bean123ch@gmail.com>
32832
32833 * include/grub/x86_64/pci.h: New file.
32834
5c41d44d 328352008-08-07 Christian Franke <franke@computer.org>
32836
32837 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32838 (TIMER2_GATE): Likewise.
32839 (grub_pit_wait): Add enable/disable of the timer2 gate
32840 bit of port 0x61. This fixes a possible infinite loop.
32841
5ebc275d 328422008-08-07 Bean <bean123ch@gmail.com>
32843
32844 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32845 kern/i386/tsc.c and kern/i386/pit.c.
32846
32847 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32848 x86_64 platform.
32849
32850 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32851 <grub/i386/tsc.h>.
32852
32853 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32854
e383b3d0 328552008-08-07 Bean <bean123ch@gmail.com>
32856
32857 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32858
32859 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32860
32861 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32862 multiple inclusion. Add #include <grub/types.h>.
32863
1cbb58ac 328642008-08-06 Christian Franke <franke@computer.org>
32865
32866 * conf/common.rmk: Build and install `10_windows'.
32867 * util/grub.d/10_windows.in: New script.
32868
337f5a1e 328692008-08-06 Pavel Roskin <proski@gnu.org>
32870
32871 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32872
057bc4ac 328732008-08-06 Robert Millan <rmh@aybabtu.com>
32874
32875 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32876 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32877
2b99f123 328782008-08-06 Bean <bean123ch@gmail.com>
32879
32880 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32881 (grub_pxefs_fs_int): Remove dummy definition.
32882 (grub_pxefs_open): Use data->block_size to store the current block
32883 size setting.
32884 (grub_pxefs_read): Use block size stored in data->block_size. As the
32885 value of grub_pxe_blksize can be changed after the file is opened.
32886
9f0234cb 328872008-08-06 Bean <bean123ch@gmail.com>
32888
32889 * fs/i386/pc/pxe.c (curr_file): new variable.
32890 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32891 require the dummy internal file system anymore.
32892 (grub_pxefs_read): Removed.
32893 (grub_pxefs_close): Likewise.
32894 (grub_pxefs_fs_int): Likewise.
32895 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32896 connection when we switch file.
32897 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32898
a55d42e0 328992008-08-06 Robert Millan <rmh@aybabtu.com>
32900
32901 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32902 `halt.mod'.
32903 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32904 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32905
32906 * kern/i386/halt.c: New file.
32907 * kern/i386/reboot.c: Likewise.
32908 * include/grub/i386/reboot.h: Likewise.
32909 * include/grub/i386/halt.h: Likewise.
32910
32911 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32912 Include `<grub/cpu/halt.h>'.
32913 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32914 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32915
32916 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32917 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32918 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32919 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32920 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32921 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32922 from here ...
32923 * include/grub/i386/at_keyboard.h: ... to here.
32924
24371d26 329252008-08-05 Robert Millan <rmh@aybabtu.com>
32926
32927 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32928 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32929 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32930 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32931 `kern/generic/millisleep.c'.
32932
32933 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32934 instead of grub_get_rtc().
32935 (grub_tsc_init): Initialize `tsc_boot_time'.
32936
32937 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32938 (grub_machine_init): Use grub_tsc_init() rather than
32939 installing an RTC-based handler via grub_install_get_time_ms().
32940
32941 * kern/i386/pit.c: New file.
32942 * include/grub/i386/pit.h: Likewise.
32943
9e7007b3 329442008-08-05 Bean <bean123ch@gmail.com>
32945
32946 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32947
32948 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32949 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32950 (pxe_mod_SOURCES): New macro.
32951 (pxe_mod_CFLAGS): Likewise.
32952 (pxe_mod_LDFLAGS): Likewise.
32953 (pxecmd_mod_SOURCES): Likewise.
32954 (pxecmd_mod_CFLAGS): Likewise.
32955 (pxecmd_mod_LDFLAGS): Likewise.
32956
32957 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32958 (grub_pxe_call): Likewise.
32959
32960 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32961
32962 * commands/i386/pc/pxecmd.c: New file.
32963
9f0234cb 32964 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32965
32966 * include/grub/i386/pc/pxe.h: Likewise.
32967
6977d49f 329682008-08-05 Bean <bean123ch@gmail.com>
32969
32970 * util/console.c (grub_console_cur_color): New variable.
32971 (grub_console_standard_color): Likewise.
32972 (grub_console_normal_color): Likewise.
32973 (grub_console_highlight_color): Likewise.
32974 (color_map): Likewise.
32975 (use_color): Likewise.
32976 (NUM_COLORS): New macro.
32977 (grub_ncurses_setcolorstate): Handle color properly.
32978 (grub_ncurses_setcolor): Don't change color here, just remember the
32979 settings, color will be set in grub_ncurses_setcolorstate.
32980 (grub_ncurses_getcolor): New function.
32981 (grub_ncurses_init): Initialize color pairs.
32982 (grub_ncurses_term): New member grub_ncurses_getcolor.
32983
9c2ff3ee 329842008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32985
9c2ff3ee 32986 High resolution timer support. Implemented for x86 CPUs using TSC.
32987 Extracted generic grub_millisleep() so it's linked in only as needed.
32988 This requires a Pentium compatible CPU; if the RDTSC instruction is
32989 not supported, then it falls back on the generic grub_get_time_ms()
32990 implementation that uses the machine's RTC.
32991
32992 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32993 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32994 `kern/generic/millisleep.c'.
32995
32996 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32997 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32998
32999 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33000 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33001
33002 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33003
33004 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33005 `kern/generic/millisleep.c'.
33006
33007 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33008
33009 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33010
33011 * kern/generic/rtc_get_time_ms.c: New file.
33012
33013 * kern/generic/millisleep.c: New file.
337f5a1e 33014
9c2ff3ee 33015 * kern/misc.c: Don't include
33016 <kern/time.h> anymore.
33017 (grub_millisleep_generic): Removed.
33018
33019 * commands/sleep.c (grub_interruptible_millisleep): Uses
33020 grub_get_time_ms() instead of grub_get_rtc().
33021
33022 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33023 function.
33024 (grub_cpu_is_cpuid_supported): New inline function.
33025 (grub_cpu_is_tsc_supported): New inline function.
33026 (grub_tsc_init): New function prototype.
33027 (grub_tsc_get_time_ms): New function prototype.
33028
33029 * kern/i386/tsc.c (grub_get_time_ms): New file.
33030
33031 * include/grub/time.h: Include <grub/types.h.
33032 (grub_millisleep_generic): Removed.
33033 (grub_get_time_ms): New prototype.
33034 (grub_install_get_time_ms): New prototype.
33035 (grub_rtc_get_time_ms): New prototype.
33036
33037 * kern/time.c (grub_get_time_ms): New function.
33038 (grub_install_get_time_ms): New function.
33039
33040 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33041 <grub/time.h> anymore.
33042 (grub_millisleep): Removed.
33043 (grub_machine_init): Call grub_tsc_init.
33044
33045 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33046 get_time_ms() implementation.
33047
33048 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33049 (ieee1275_get_time_ms): New function.
33050 (grub_machine_init): Install get_time_ms() implementation.
33051
33052 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33053 (grub_machine_init): Call grub_tsc_init().
33054 (grub_millisleep): Removed.
bf06a93f 33055
9c2ff3ee 33056 * kern/ieee1275/init.c (grub_millisleep): Removed.
33057 (grub_machine_init): Install ieee1275_get_time_ms()
33058 implementation.
33059 (ieee1275_get_time_ms): New function.
33060 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33061 real work.
33062
9ec92aaf 330632008-08-05 Marco Gerards <marco@gnu.org>
33064
33065 * disk/ata.c: Include <grub/pci.h>.
33066 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33067 (grub_ata_initialize): Rewritten.
33068 (grub_ata_device_initialize): New function.
33069
8d23f507 330702008-08-04 Pavel Roskin <proski@gnu.org>
33071
33072 * kern/main.c: Include grub/mm.h.
33073
5e15ee3d 330742008-08-04 Robert Millan <rmh@aybabtu.com>
33075
33076 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33077 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33078 corruption problem).
33079
a9053f8f 330802008-08-04 Robert Millan <rmh@aybabtu.com>
33081
33082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33083 warnings introduced in my last commit.
33084
dd19c7d7 330852008-08-03 Robert Millan <rmh@aybabtu.com>
33086
33087 Make PCI available on all i386 architectures.
33088
33089 * include/grub/i386/pc/pci.h: Move from here ...
33090 * include/grub/i386/pci.h: ... to here.
33091
33092 * include/grub/i386/pc/pci.h: Remove.
33093 * include/grub/i386/efi/pci.h: Remove.
33094 * include/grub/x86_64/efi/pci.h: Remove.
33095
33096 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33097 `<grub/cpu/pci.h>'.
33098
33099 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33100 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33101 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33102
33103 * conf/i386-ieee1275.rmk: Likewise.
33104
e14a6184 331052008-08-03 Robert Millan <rmh@aybabtu.com>
33106
33107 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33108 (grub_console_setcursor): Make it possible to set cursor off.
33109
52768e37 331102008-08-03 Robert Millan <rmh@aybabtu.com>
33111
33112 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33113 of modules instead of assuming which platform provides what.
33114 * util/update-grub.in: Likewise.
33115
2d52f57f 331162008-08-03 Robert Millan <rmh@aybabtu.com>
33117
33118 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33119 instead of `grub_install_dos_part' to determine whether a drive needs
33120 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33121 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33122
2a5cd121 331232008-08-02 Robert Millan <rmh@aybabtu.com>
33124
33125 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33126
93808428 331272008-08-02 Robert Millan <rmh@aybabtu.com>
33128
33129 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33130 of informational grub_dprintf() calls.
33131
3bd0a12a 331322008-08-02 Robert Millan <rmh@aybabtu.com>
33133
33134 * disk/memdisk.c (memdisk_size): Don't initialize.
33135 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33136
33137 * include/grub/i386/pc/kernel.h
33138 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33139 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33140 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33141 (grub_arch_memdisk_size): Remove.
33142
33143 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33144 field (was only used to transfer a constant). Add `type' field to
33145 support multiple module types.
33146 (grub_module_iterate): New function.
33147
33148 * kern/device.c (grub_device_open): Do not hide error messages
33149 when grub_disk_open() fails. Use grub_print_error() instead.
33150
33151 * kern/i386/pc/init.c (grub_arch_modules_addr)
33152 (grub_arch_memdisk_size): Remove functions.
33153 (grub_arch_modules_addr): Return the module address in high memory
33154 (now that it isn't copied anymore).
33155
33156 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33157 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33158 decompression routine (grub_total_module_size already includes that
33159 now). Don't copy modules back to low memory.
33160
33161 * kern/main.c: Include `<grub/mm.h>'.
33162 (grub_load_modules): Split out (and use) ...
33163 (grub_module_iterate): ... this function, which iterates through
33164 module objects and runs a hook.
33165 Comment out grub_mm_init_region() call, as it would cause non-ELF
33166 modules to be overwritten.
33167
33168 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33169 the memdisk image in its own region, make it part of the module list.
33170 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33171 (main): Parse --memdisk|-m option, and pass user-provided path as
33172 parameter to generate_image().
33173 (add_segments): Pass `memdisk_path' down to load_modules().
33174 (load_modules): Embed memdisk image in module section when requested.
33175 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33176 `header.type' instead of `header.offset'.
33177
33178 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33179 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33180 (memdisk_mod_LDFLAGS): New variables.
33181 * conf/i386-coreboot.rmk: Likewise.
33182 * conf/i386-ieee1275.rmk: Likewise.
33183
a927cc73 331842008-08-02 Robert Millan <rmh@aybabtu.com>
33185
33186 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33187 (backward_relocator): New variables. Used to allocate and relocate
33188 the payload, respectively.
33189 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33190 address, install the appropriate relocator code in each bound of
a927cc73 33191 the payload, and set the entry point such that
33192 grub_multiboot_real_boot() will jump to one of them.
33193
33194 * kern/i386/loader.S (grub_multiboot_payload_size)
33195 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33196 (grub_multiboot_payload_entry_offset): New variables.
33197 (grub_multiboot_real_boot): Set cpu context to what the relocator
33198 expects, and jump to the relocator instead of the payload.
33199
33200 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33201 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33202 (grub_multiboot_payload_entry_offset): Export.
33203
b15d8a0c 332042008-08-01 Bean <bean123ch@gmail.com>
33205
33206 * normal/menu_entry.c (editor_getline): Don't return the original
33207 string as result, as it will be released by lexer once it has done
33208 using it.
33209
cdfb3d22 332102008-08-01 Robert Millan <rmh@aybabtu.com>
33211
33212 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33213 within menuentries, not before them.
33214 util/grub.d/10_hurd.in: Likewise.
33215
9175e93d 332162008-08-01 Bean <bean123ch@gmail.com>
33217
33218 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33219 (bufio_mod_SOURCES): New macro.
33220 (bufio_mod_CFLAGS): Likewise.
33221 (bufio_mod_LDFLAGS): Likewise.
33222
33223 * include/grub/bufio.h: New file.
33224
33225 * io/bufio.c: Likewise.
33226
33227 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33228 (grub_video_reader_png): Use grub_buffile_open to open file.
33229
33230 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33231 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33232
33233 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33234 (grub_video_reader_tga): Use grub_buffile_open to open file.
33235
33236 * font/manager.c: Include <grub/bufio.h>.
33237 (add_font): Use grub_buffile_open to open file.
33238
3d8383e7 332392008-07-31 Robert Millan <rmh@aybabtu.com>
33240
33241 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33242 ELF segments, use a macro for arbitrarily accessing any of them instead
33243 of preparing a pointer that allows access to one at a time.
33244 (grub_multiboot_load_elf64): Likewise.
33245
16e641b6 332462008-07-31 Bean <bean123ch@gmail.com>
33247
33248 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33249 GRUB_KERNEL_MACHINE_DATA_END.
33250
59198b72 332512008-07-30 Robert Millan <rmh@aybabtu.com>
33252
33253 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33254 Increase from 0x50 to 0x60.
33255 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33256 use UUIDs to identify the root drive for them. If that's not
33257 possible, abort.
33258 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33259 check, for cross-disk installs.
33260
ae88bca3 332612008-07-30 Robert Millan <rmh@aybabtu.com>
33262
33263 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33264 is non-empty, use it to set the `prefix' environment variable instead
33265 of the usual approach.
33266 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33267 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33268 environment variable instead of dummy make_install_device().
33269
33270 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33271 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33272 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33273
33274 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33275 New variable reference.
33276 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33277 New macro. Defines offset of `grub_prefix' within startup.S (relative
33278 to `start').
33279 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33280 section within startup.S (relative to `start').
33281 * include/grub/i386/coreboot/kernel.h: Likewise.
33282
33283 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33284 Overwrite grub_prefix with its contents, at the beginning of the
33285 first segment.
33286 (main): Understand -p|--prefix.
33287
14f41dd1 332882008-07-30 Robert Millan <rmh@aybabtu.com>
33289
33290 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33291
4ca049a3 332922008-07-30 Robert Millan <rmh@aybabtu.com>
33293
33294 * term/i386/pc/vga_text.c (grub_console_cls): Use
33295 grub_console_gotoxy() to go back to beginning of the screen.
33296 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33297
2921d337 332982008-07-29 Christian Franke <franke@computer.org>
33299
33300 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33301 Add conversion of emulated mount points on Cygwin.
33302
b609876d 333032008-07-29 Christian Franke <franke@computer.org>
33304
33305 * util/update-grub.in: Add a check for admin
33306 group on Cygwin.
33307 Remove old `grub.cfg.new' before creation.
33308 Add `-f' to `mv' to handle the different filesystem
33309 semantics of Windows.
33310
e93e4679 333112008-07-29 Bean <bean123ch@gmail.com>
33312
33313 * normal/main.c (get_line): Fix buffer overflow bug.
33314
41694fd0 333152008-07-28 Robert Millan <rmh@aybabtu.com>
33316
33317 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33318 (struct grub_apple_header): New struct. Describes the layout of
33319 the partmap header.
33320 (apple_partition_map_iterate): Check the header magic as well as the
33321 partition magic (which was already being checked).
33322
cfd0b4e6 333232008-07-28 Pavel Roskin <proski@gnu.org>
33324
33325 * genmk.rb: Add a warning to the beginning of the output that
33326 it's a generated file and should not be edited.
33327
93cce016 333282008-07-28 Robert Millan <rmh@aybabtu.com>
33329
33330 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33331 with the same number are found, just use issue a warning with
33332 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33333
cd1df915 333342008-07-27 Robert Millan <rmh@aybabtu.com>
33335
33336 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33337 information.
33338
b70a8427 333392008-07-27 Bean <bean123ch@gmail.com>
33340
33341 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33342 (grub_fat_find_dir): Ignore case when comparing filename.
33343
8f5e379f 333442008-07-27 Bean <bean123ch@gmail.com>
33345
33346 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33347 smallino, as it's more descriptive, and i8count can be confused with
33348 the other field count.
33349 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33350 inode type.
33351
a85cd5a0 333522008-07-27 Bean <bean123ch@gmail.com>
33353
33354 * commands/crc.c: New file.
33355
33356 * lib/crc.c: Likewise.
33357
33358 * include/grub/lib/crc.h: Likewise.
33359
33360 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33361
33362 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33363 (hexdump): Move this function to ...
33364
33365 * lib/hexdump.c: ... here.
33366
33367 * include/grub/hexdump.h: Renamed to ...
33368
33369 * include/grub/lib/hexdump.h: ... this.
33370
33371 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33372
33373 * util/grub-editenv.c: Likewise.
33374
33375 * include/envblk.h: Renamed to ...
33376
33377 * include/lib/envblk.h: ... this.
33378
33379 * util/envblk.c: Renamed to ...
33380
33381 * lib/envblk.c: ... this.
33382
33383 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33384 lib/hexdump.c.
33385 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33386 (pkglib_MODULES): Add crc.mod.
33387 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33388 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33389 (crc_mod_SOURCES): New macro.
33390 (crc_mod_CFLAGS): Likewise.
33391 (crc_mod_LDFLAGS): Likewise.
33392
33393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33394
33395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33396
33397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33398
33399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33400
33401 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33402
c298def0 334032008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33404
33405 * commands/help.c: Include <grub/term.h>.
33406 (TERM_WIDTH): Removed. Updated all users.
33407
cc349fb3 334082008-07-27 Pavel Roskin <proski@gnu.org>
33409
33410 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33411 spurious warnings about a comment within a comment.
33412
9051607e 334132008-07-25 Robert Millan <rmh@aybabtu.com>
33414
33415 * util/getroot.c (find_root_device): Skip devices that match
33416 /dev/dm-[0-9]. This lets the real device be found for any type of
33417 abstraction (LVM, EVMS, RAID..).
33418 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33419 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33420 device is found first, find_root_device() will now skip it.
33421
01453bfc 334222008-07-24 Pavel Roskin <proski@gnu.org>
33423
33424 * include/grub/types.h: Use __builtin_bswap32() and
33425 __builtin_bswap64() with gcc 4.3 and newer.
33426
6af9849f 334272008-07-24 Christian Franke <franke@computer.org>
33428
3a0fa256 33429 * util/i386/pc/grub-install.in: If `--debug' is specified,
33430 pass `--verbose' to grub-setup.
33431 Abort script if make_system_path_relative_to_its_root() fails.
33432
7810e747 334332008-07-24 Bean <bean123ch@gmail.com>
33434
33435 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33436 variable `target_platform' should be `platform'.
33437
42290e17 334382008-07-24 Bean <bean123ch@gmail.com>
33439
51cc5193 33440 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33441 (grub_png_init_fixed_block): New function.
33442 (grub_png_decode_image_data): Handle fixed huffman code compression.
33443
2a8a80e4 334442008-07-24 Bean <bean123ch@gmail.com>
33445
33446 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33447 (grub_pe2elf_SOURCES): New macro.
33448 (CLEANFILES): Add grub-pe2elf.
33449
33450 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33451 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33452 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33453 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33454 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33455 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33456 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33457 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33458 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33459 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33460 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33461 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33462 (GRUB_PE32_DT_FUNCTION): Likewise.
33463 (GRUB_PE32_REL_I386_DIR32): Likewise.
33464 (GRUB_PE32_REL_I386_REL32): Likewise.
33465 (grub_pe32_symbol): New structure.
33466 (grub_pe32_reloc): Likewise.
33467
33468 * util/grub-pe2elf.c: New file.
33469
33470 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33471 start symbol in non pc platform.
33472
33473 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33474
33475 The following patches are from Christian Franke.
33476
33477 * include/grub/dl.h: Remove .previous, gas supports this only
33478 for ELF format.
33479
33480 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33481 Remove .type, gas supports this only for ELF format.
33482
33483 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33484 nullbytes in symbol table. This fixes an infinite loop if table is
33485 zero filled.
33486
33487 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33488 TARGET_IMG_LDFLAGS and EXEEXT.
33489
33490 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33491 TARGET_IMG_LDFLAGS_AC.
33492 (grub_CHECK_STACK_ARG_PROBE): New function.
33493
33494 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33495
33496 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33497
33498 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33499 to set TARGET_IMG_LD* accordingly.
33500 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33501 Add call to grub_CHECK_STACK_ARG_PROBE.
33502 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33503
33504 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33505
33506 * genmk.rb: Add EXEEXT to CLEANFILES.
33507
12ccdb75 335082008-07-23 Robert Millan <rmh@aybabtu.com>
33509
33510 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33511 define the codes for arrows and lines used for the menu).
33512 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33513 as well.
33514
33515 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33516 fonts, because the latter are too slow.
33517
18eeaf04 335182008-07-21 Bean <bean123ch@gmail.com>
33519
33520 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33521 a20. Run keyboard test last, as it will cause macbook to halt.
33522
b095e2ad 335232008-07-18 Pavel Roskin <proski@gnu.org>
33524
33525 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33526 load foreign architecture modules correctly anyway. Keep
33527 support for loading host architecture modules, whether we
33528 compile them or not.
33529
737feb35 335302008-07-17 Pavel Roskin <proski@gnu.org>
33531
3f4ce737 33532 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33533 change target_cpu. The compiler default can mismatch target_cpu
33534 in any case.
33535
4ad2d049 33536 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33537 * kern/efi/efi.c: Likewise.
33538
f6130a12 33539 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33540 target compiler is functional.
33541 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33542 are set up.
33543
58393a2d 33544 * configure.ac: Default to efi platform for x86_64-apple. Allow
33545 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33546 adjustments from the rest, only do them if target is not
33547 explicitly given. Merge other adjustments with the final sanity
33548 check. Remove an extraneous check for supported CPU. Be
33549 specific which CPU and which platform is not supported.
33550
737feb35 33551 * configure.ac: Default to pc platform for x86_64.
33552
546f966a 335532008-07-17 Robert Millan <rmh@aybabtu.com>
33554
33555 Partial LinuxBIOS -> Coreboot rename.
33556
33557 * conf/i386-linuxbios.rmk: Renamed to ...
33558 * conf/i386-coreboot.rmk: ... this.
33559 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33560 * configure.ac: Accept "coreboot" as input platform (but maintain
33561 compatibility with "linuxbios").
33562 * include/grub/i386/linuxbios: Renamed to ...
33563 * include/grub/i386/coreboot: ... this.
33564
20011694 335652008-07-17 Bean <bean123ch@gmail.com>
33566
33567 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33568 (appleldr_mod_SOURCE): New variable.
20011694 33569 (appleldr_mod_CFLAGS): Likewise.
33570 (appleldr_mod_LDFLAGS): Likewise.
33571 (pci_mod_SOURCES): Likewise.
33572 (pci_mod_CFLAGS): Likewise.
33573 (pci_mod_LDFLAGS): Likewise.
33574 (lspci_mod_SOURCES): Likewise.
33575 (lspci_mod_CFLAGS): Likewise.
33576 (lspci_mod_LDFLAGS): Likewise.
33577
33578 * conf/x86_64-efi.rmk: New file.
33579
33580 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33581 macro.
33582 (grub_efidisk_write): Likewise.
33583
33584 * include/efi/api.h (efi_call_0): New macro.
33585 (efi_call_1): Likewise.
33586 (efi_call_2): Likewise.
33587 (efi_call_3): Likewise.
33588 (efi_call_4): Likewise.
33589 (efi_call_5): Likewise.
33590 (efi_call_6): Likewise.
33591
33592 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33593 grub_rescue_cmd_chainloader.
33594
33595 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33596 (grub_pe32_optional_header): Change some fields based on i386 or
33597 x86_64 platform.
33598 (GRUB_PE32_PE32_MAGIC): Likewise.
33599
33600 * include/grub/efi/uga_draw.h: New file.
33601
33602 * include/grub/elf.h (STN_ABS): New constant.
33603 (R_X86_64_NONE): Relocation constant for x86_64.
33604 (R_X86_64_64): Likewise.
33605 (R_X86_64_PC32): Likewise.
33606 (R_X86_64_GOT32): Likewise.
33607 (R_X86_64_PLT32): Likewise.
33608 (R_X86_64_COPY): Likewise.
33609 (R_X86_64_GLOB_DAT): Likewise.
33610 (R_X86_64_JUMP_SLOT): Likewise.
33611 (R_X86_64_RELATIVE): Likewise.
33612 (R_X86_64_GOTPCREL): Likewise.
33613 (R_X86_64_32): Likewise.
33614 (R_X86_64_32S): Likewise.
33615 (R_X86_64_16): Likewise.
33616 (R_X86_64_PC16): Likewise.
33617 (R_X86_64_8): Likewise.
33618 (R_X86_64_PC8): Likewise.
33619
33620 * include/grub/i386/efi/pci.h: New file.
33621
33622 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33623 Change it value based on platform.
33624 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33625 (GRUB_E820_RAM): Likewise.
33626 (GRUB_E820_RESERVED): Likewise.
33627 (GRUB_E820_ACPI): Likewise.
33628 (GRUB_E820_NVS): Likewise.
33629 (GRUB_E820_EXEC_CODE): Likewise.
33630 (GRUB_E820_MAX_ENTRY): Likewise.
33631 (grub_e820_mmap): New structure.
33632 (linux_kernel_header): Change the efi field according to different
33633 kernel version, also field from linux_kernel_header.
33634
33635 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33636
33637 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33638 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33639 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33640 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33641 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33642 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33643 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33644 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33645 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33646 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33647
33648 * include/grub/x86_64/efi/kernel.h: New file.
33649
33650 * include/grub/x86_64/efi/loader.h: Likewise.
33651
33652 * include/grub/x86_64/efi/machine.h: Likewise.
33653
33654 * include/grub/x86_64/efi/pci.h: Likewise.
33655
33656 * include/grub/x86_64/efi/time.h: Likewise.
33657
33658 * include/grub/x86_64/linux.h: Likewise.
33659
33660 * include/grub/x86_64/setjmp.h: Likewise.
33661
33662 * include/grub/x86_64/time.h: Likewise.
33663
33664 * include/grub/x86_64/types.h: Likewise.
33665
33666 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33667 GRUB_TARGET_SIZEOF_VOID_P.
33668
33669 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33670 (grub_efi_locate_handle): Likewise.
33671 (grub_efi_open_protocol): Likewise.
33672 (grub_efi_set_text_mode): Likewise.
33673 (grub_efi_stall): Likewise.
33674 (grub_exit): Likewise.
33675 (grub_reboot): Likewise.
33676 (grub_halt): Likewise.
33677 (grub_efi_exit_boot_services): Likewise.
33678 (grub_get_rtc): Likewise.
33679
33680 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33681 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33682 (grub_efi_allocate_pages): Wrap efi calls.
33683 (grub_efi_free_pages): Wrap efi calls.
33684 (grub_efi_get_memory_map): Wrap efi calls.
33685
33686 * kern/x86_64/dl.c: New file.
33687
33688 * kern/x86_64/efi/callwrap.S: Likewise.
33689
33690 * kern/x86_64/efi/startup.S: Likewise.
33691
33692 * loader/efi/appleloader.c: Likewise.
33693
33694 * loader/efi/chainloader.c (cmdline): New variable.
33695 (grub_chainloader_unload): Wrap efi calls.
33696 (grub_chainloader_boot): Likewise.
33697 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33698 command line.
33699
33700 * loader/efi/chainloader_normal.c (chainloader_command):
33701 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33702 command line.
33703
33704 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33705 method.
33706 (grub_e820_add_region): New function.
33707 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33708 booting.
33709 (grub_find_video_card): New function.
33710 (grub_linux_setup_video): New function.
33711 (grub_rescue_cmd_linux): Probe for video information.
33712
33713 * normal/x86_64/setjmp.S: New file.
33714
33715 * term/efi/console.c (map_char): New function.
33716 (grub_console_putchar): Map unicode char.
33717 (grub_console_checkkey): Wrap efi calls.
33718 (grub_console_getkey): Likewise.
33719 (grub_console_getwh): Likewise.
33720 (grub_console_gotoxy): Likewise.
33721 (grub_console_cls): Likewise.
33722 (grub_console_setcolorstate): Likewise.
33723 (grub_console_setcursor): Likewise.
33724
33725 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33726
59652a20 337272008-07-16 Pavel Roskin <proski@gnu.org>
33728
ef294055 33729 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33730 format strings.
33731
59652a20 33732 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33733 pointer, not an integer. This fixes a warning and prevents
33734 precision loss on 64-bit systems.
33735 (relocate_addresses): Remove unneeded cast.
33736
afc3b5d7 337372008-07-15 Pavel Roskin <proski@gnu.org>
33738
506b2b3e 33739 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33740
62ead89c 33741 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33742
c4cd51d7 33743 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33744 Fix comparison between signed and unsigned.
33745
0d3d8f28 33746 * include/grub/i386/ieee1275/console.h: Declare
33747 grub_console_init() and grub_console_fini().
33748
8804b286 33749 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33750 It's empty and unused.
33751
ee01cf35 33752 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33753 beginning to avoid warnings with some compilers.
33754
afc3b5d7 33755 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33756 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33757
e4e8eaa5 337582008-07-14 Pavel Roskin <proski@gnu.org>
33759
407aceb4 33760 * kern/env.c (grub_register_variable_hook): Don't copy empty
33761 string, it leaks memory. Pass "" to grub_env_set(), it should
33762 handle constant strings.
33763
e4e8eaa5 33764 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33765 * commands/cmp.c (grub_cmd_cmp): Likewise.
33766 * kern/dl.c (grub_dl_flush_cache): Likewise.
33767 (grub_dl_load_core): Likewise.
33768 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33769 (grub_elf64_load_phdrs): Likewise.
33770
d4e2dad3 337712008-07-13 Pavel Roskin <proski@gnu.org>
33772
33773 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33774 between signed and unsigned.
33775 (LzmaEnc_Finish): Fix warning about an unused parameter.
33776
aa24b516 337772008-07-13 Bean <bean123ch@gmail.com>
33778
33779 * Makefile.in (enable_lzo): New rule.
33780
33781 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33782
33783 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33784
33785 * boot/i386/pc/lnxboot.S: #include <config.h>.
33786
33787 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33788 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33789
33790 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33791 compression algorithm according to configure macro.
33792
33793 * kern/i386/pc/startup.S (codestart): Likewise.
33794
33795 * kern/i386/pc/lzma_decode.S: New file.
33796
33797 * include/grub/lib/LzFind.h: Likewise.
33798
33799 * include/grub/lib/LzHash.h: Likewise.
33800
33801 * include/grub/lib/LzmaDec.h: Likewise.
33802
33803 * include/grub/lib/LzmaEnc.h: Likewise.
33804
33805 * include/grub/lib/LzmaTypes.h: Likewise.
33806
33807 * lib/LzFind.c: Likewise.
33808
33809 * lib/LzmaDec.c: Likewise.
33810
33811 * lib/LzmaEnc.c: Likewise.
33812
4ae821ac 338132008-07-13 Bean <bean123ch@gmail.com>
33814
33815 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33816 (grub_ext4_extent_header): New structure.
33817 (grub_ext4_extent): Likewise.
33818 (grub_ext4_extent_idx): Likewise.
33819 (grub_ext4_find_leaf): New function.
33820 (grub_ext2_read_block): Handle extents.
33821
9a745147 338222008-07-12 Robert Millan <rmh@aybabtu.com>
33823
33824 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33825
d49a4cf6 338262008-07-11 Robert Millan <rmh@aybabtu.com>
33827
33828 * util/grub.d/40_custom.in: New file. Example on how to add custom
33829 entries to /etc/grub.d.
33830 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33831 40_custom (implicitly, by merging all the grub.d rules).
33832
947414b4 338332008-07-11 Pavel Roskin <proski@gnu.org>
33834
0059cf6f 33835 * commands/read.c (grub_getline): Fix invalid memory access.
33836 Don't add newline to the variable value.
33837
947414b4 33838 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33839 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33840 (serial_hw_get_port): Check validity of the port number.
33841 (grub_cmd_serial): Check return value of serial_hw_get_port().
33842
62a02d00 338432008-07-07 Pavel Roskin <proski@gnu.org>
33844
33845 * boot/i386/pc/diskboot.S (notification_string): Replace
33846 "Loading kernel" with just "loading". This is shorter, less
33847 confusing and saves a few bytes for possible future changes.
33848
3e5581b0 338492008-07-05 Pavel Roskin <proski@gnu.org>
33850
ea387a48 33851 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33852 size for ATAPI devices, they are undefined. Output sector
33853 number in decimal form.
33854
3e5581b0 33855 * disk/ata.c: Use named constants for status bits.
33856
fdecb8fd 338572008-07-04 Pavel Roskin <proski@gnu.org>
33858
bcd35b90 33859 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33860 grub_addr_t before casting it to the void pointer to fix a
33861 warning. Non-addressable regions are discarded earlier.
33862 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33863 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33864 (check_signature): Don't shadow table_header.
33865 (grub_linuxbios_table_iterate): Cast numeric constants to
33866 grub_linuxbios_table_header_t.
33867 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33868 grub_stop().
33869
af58ab3d 33870 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33871 prevent warnings.
33872
1759aa57 33873 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33874 pointer, which can cause warnings. Support 64-bit addresses.
33875
fdecb8fd 33876 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33877 of sizeof(long). This fixes PowerPC image generation on x86_64.
33878
8516d2a8 338792008-07-04 Robert Millan <rmh@aybabtu.com>
33880
33881 This fixes a performance issue when pc & gpt partmap iterators
33882 didn't abort iteration even after our hook found what it was
fe987087 33883 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33884
33885 Some callers relied on previous buggy behaviour, since they would
34c44600 33886 raise an error when their own hooks caused early abortion of its
8516d2a8 33887 iteration.
33888
33889 * kern/device.c (grub_device_open): Improve error message.
33890 * disk/lvm.c (grub_lvm_open): Likewise.
33891 * disk/raid.c (grub_raid_open): Likewise.
33892
33893 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33894 when hook requests it, independently of grub_errno.
33895 (pc_partition_map_probe): Do not fail when find_func() caused
33896 early abortion of pc_partition_map_iterate().
33897
33898 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33899 when hook requests it, independently of grub_errno.
33900 (gpt_partition_map_probe): Do not fail when find_func() caused
33901 early abortion of gpt_partition_map_iterate().
33902
33903 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33904 when hook requests it, independently of grub_errno. Do not fail when
33905 part_map_iterate_hook() caused early abortion of p->iterate().
33906
33907 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33908 when grub_partition_iterate() returned with non-zero.
33909
277d0de9 339102008-07-03 Pavel Roskin <proski@gnu.org>
33911
33912 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33913 like we do in grub_ata_pio_read().
33914 (grub_ata_readwrite): Always write individual sectors. Fix the
33915 sector count for the remainder.
33916 (grub_ata_write): Enable writing to ATA devices. Correctly
33917 report error for ATAPI devices.
33918
d4c9b428 339192008-07-02 Pavel Roskin <proski@gnu.org>
33920
e43fc690 33921 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33922 warning.
33923
f707af42 33924 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33925 for every read sector, we already increment it for the whole
33926 batch. This fixes reading more than 256 sectors at once.
33927
11e16b15 33928 * util/grub-editenv.c (cmd_info): Cast argument to long
33929 explicitly. ptrdiff_t reduces to int on i386.
33930
cbabfdd4 33931 * util/grub-editenv.c (main): Be specific which parameter is
33932 missing.
33933
b8fbce0a 33934 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33935 (memdisk): Make memdisk_orig_addr a pointer.
33936
c9c8e606 33937 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33938 for file offsets, use grub_off_t instead. Fix printf format
33939 warnings.
33940
ca62e598 33941 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33942 there. Real unexpected warnings should not drown in the noise
33943 about known problems.
33944
ce8d1766 33945 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33946 grub_disk_addr_t for memory addresses.
33947
00c7a56a 33948 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33949 explicitly to fix a warning.
33950
08d3ef09 33951 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33952
cb71ba20 33953 * Makefile.in (MODULE_LDFLAGS): New variable.
33954 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33955 the linker accepts --build-id=none.
33956 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33957 MODULE_LDFLAGS.
33958 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33959
d4c9b428 33960 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33961 those in Linux XFS code. Provide a way to access 64-bit parent
33962 inode.
33963 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33964 the end of struct grub_xfs_dir_header.
33965
d4156eee 339662008-07-02 Bean <bean123ch@gmail.com>
33967
33968 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33969 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33970 and GRUB_IEEE1275_FLAG_NO_ANSI.
33971
33972 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33973 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33974 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33975
33976 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33977 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33978
33979 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33980 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33981
33982 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33983 esc sequence on non ANSI terminal.
33984 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33985
33986 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33987 beginning of file.
33988
2270f77b 339892008-07-02 Bean <bean123ch@gmail.com>
33990
33991 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33992 (grub_editenv_SOURCES): New variable.
33993 (pkglib_MODULES): Add loadenv.mod.
33994 (loadenv_mod_SOURCES): New variable.
33995 (loadenv_mod_CFLAGS): Likewise.
33996 (loadenv_mod_LDFLAGS): Likewise.
33997
33998 * include/grub/envblk.h: New file.
33999
34000 * util/envblk.c: New file.
34001
34002 * util/grub-editenv.c: New file.
34003
34004 * commands/loadenv.c: New file.
34005
0e9e51ec 340062008-07-01 Pavel Roskin <proski@gnu.org>
34007
d89b7634 34008 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34009 not unsigned char. This fixes warnings and is consistent with
34010 other tags.
34011
bf1835b1 34012 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34013
8222a04b 34014 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34015
6a42d99d 34016 * term/tparm.c (analyze): Always set *popcount.
34017
10b159d1 34018 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34019 cast to fix a warning.
34020
b8789f6c 34021 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34022 cast to suppress a warning.
34023
29d7e38a 34024 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34025 grub_fshelp_read_file() expects.
34026
f341f669 34027 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34028 write uuid as a 32-bit value in CPU byte order, so declare and
34029 use it as such.
34030
0e9e51ec 34031 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34032 long if the format specifier expects it.
34033 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34034 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34035 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34036 long to fix a warning.
34037 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34038 grub_dprintf() arguments to fix warnings.
34039
3aefa857 340402008-06-30 Pavel Roskin <proski@gnu.org>
34041
56c7668b 34042 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34043 install_bsd_part immediately before core.img is embedded or
34044 modified on disk. This fixes core.img verification if core.img
34045 cannot be embedded.
34046
3aefa857 34047 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34048 core_path to calculate the blocklist.
34049 Patch from Javier Martín <lordhabbit@gmail.com>
34050
5444088d 340512008-06-29 Robert Millan <rmh@aybabtu.com>
34052
34053 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34054 block to disk block.
34055 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34056 Patch from Niels Böhm <bitbucket@arcor.de>
34057
674835c8 340582008-06-29 Robert Millan <rmh@aybabtu.com>
34059
34060 * util/update-grub_lib.in (font_path): Search for fonts in
34061 /boot/grub first, which is more likely to be readable (we aren't
34062 deciding where fonts live, just looking for them).
34063
f527dbc8 340642008-06-26 Pavel Roskin <proski@gnu.org>
34065
6c2d8df6 34066 * util/biosdisk.c (read_device_map): Don't leave dead map
34067 entries for devices failing stat() check.
34068
f527dbc8 34069 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34070 core_path_dev for the core.img path on the target device.
34071
aebe3d13 340722008-06-26 Robert Millan <rmh@aybabtu.com>
34073
34074 * disk/fs_uuid.c: New file.
34075 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34076 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34077 (fs_uuid_mod_LDFLAGS): New variables.
34078 * include/grub/disk.h (grub_disk_dev_id): Add
34079 `GRUB_DISK_DEVICE_UUID_ID'.
34080 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34081 implement iterate().
34082
37aaf354 340832008-06-26 Robert Millan <rmh@aybabtu.com>
34084
34085 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34086 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34087 Linux image includes no initrd.
34088
25ff262a 340892008-06-21 Javier Martín <lordhabbit@gmail.com>
34090
34091 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34092 call to resolve the core image location that effectively appended the
34093 name twice.
34094
76a2bd44 340952008-06-21 Robert Millan <rmh@aybabtu.com>
34096
34097 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34098 call from here ...
34099
34100 * util/grub.d/10_hurd.in: ... to here ...
34101 * util/grub.d/10_linux.in: ... and here.
34102
650e1c79 341032008-06-19 Robert Millan <rmh@aybabtu.com>
34104
fe987087 34105 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34106 after it has been set by grub_machine_set_prefix().
34107
6ce63911 341082008-06-19 Robert Millan <rmh@aybabtu.com>
34109
34110 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34111 search result when not saving to variable, not the other way around.
34112 When saving to variable, abort iteration as soon as a match is found.
34113
73940cec 341142008-06-19 Robert Millan <rmh@aybabtu.com>
34115
34116 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34117 check for partition that provides /boot/grub. Its logic is flawed,
34118 as it prevents prepare_grub_to_access_device() from being called
34119 multiple times.
34120
3c62a39d 341212008-06-19 Robert Millan <rmh@aybabtu.com>
34122
34123 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34124 "insmod" command directly when abstraction modules are needed,
fe987087 34125 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34126 since it had already been processed).
34127
47395a42 341282008-06-19 Pavel Roskin <proski@gnu.org>
34129
34130 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34131 changed. This is needed in case GRUB_LIBDIR changes.
34132 * conf/i386-ieee1275.rmk: Likewise.
34133 * conf/i386-linuxbios.rmk: Likewise.
34134 * conf/i386-pc.rmk: Likewise.
34135 * conf/powerpc-ieee1275.rmk: Likewise.
34136
a145ac2d 341372008-06-18 Pavel Roskin <proski@gnu.org>
34138
34139 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34140 kernel_elf_symlist.c to symlist.c for consistency with other
34141 architectures. Update all users.
34142 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34143
7847c51e 341442008-06-18 Robert Millan <rmh@aybabtu.com>
34145
34146 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34147 it in prefix.
34148
34149 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34150 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34151 a RAID device, run setup() for all members independently on whether
34152 LVM abstraction is being used.
34153 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34154 If grub-mkimage has set `*install_dos_part == -2', don't override this
34155 value.
34156 Perform *install_dos_part adjustments independently on whether
34157 we're embedding or not.
34158 Clarify error message when image is too big for embedding.
34159 Remove duplicate *install_dos_part stanza.
34160
b23e5644 341612008-06-17 Robert Millan <rmh@aybabtu.com>
34162
34163 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34164 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34165 variables.
34166 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34167 values in grub_ofconsole_normal_color and
34168 grub_ofconsole_highlight_color (they're not directly related to
34169 background and foreground).
34170 (grub_ofconsole_setcolorstate): Extract background and foreground
34171 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34172
0aac2f79 341732008-06-17 Robert Millan <rmh@aybabtu.com>
34174
34175 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34176 /boot/grub for the check in last commit, not /boot (they could be
34177 different partitions).
34178
3cca7ef3 341792008-06-16 Robert Millan <rmh@aybabtu.com>
34180
34181 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34182 asked to setup access for the same partition that provides /boot,
34183 don't bother using UUIDs since our root already has the value we
34184 want.
34185
347396d8 341862008-06-16 Robert Millan <rmh@aybabtu.com>
34187
34188 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34189 I2O devices.
34190 Patch from Sven Mueller <sven@debian.org>.
34191
991477f8 341922008-06-16 Robert Millan <rmh@aybabtu.com>
34193
34194 * util/update-grub.in: Check for $EUID instead of $UID.
34195 Reported by Vincent Zweije.
34196
d31a32a1 341972008-06-16 Bean <bean123ch@gmail.com>
34198
fe987087 34199 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34200 (grub_ext2_read_block): Likewise.
34201 (grub_ext2_read_inode): Likewise.
34202 (grub_ext2_mount): Likewise.
34203 (grub_ext2_close): Likewise.
34204 (grub_ext3_get_journal): Removed.
34205
fe987087 34206 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34207 (grub_reiserfs_read_symlink): Likewise.
34208 (grub_reiserfs_mount): Likewise.
34209 (grub_reiserfs_open): Likewise.
34210 (grub_reiserfs_read): Likewise.
34211 (grub_reiserfs_close): Likewise.
34212 (grub_reiserfs_get_journal): Removed.
34213
34214 * fs/fshelp.c (grub_fshelp_read): Removed.
34215 (grub_fshelp_map_block): Likewise.
34216
34217 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34218 (grub_fshelp_journal): Likewise.
34219 (grub_fshelp_read): Likewise.
34220 (grub_fshelp_map_block): Likewise.
34221
3540a760 342222008-06-16 Pavel Roskin <proski@gnu.org>
34223
34224 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34225 floating point anymore.
34226 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34227
95614c84 342282008-06-15 Pavel Roskin <proski@gnu.org>
34229
34230 * commands/ls.c (grub_ls_list_files): Use integer calculations
34231 for human readable format, avoid floating point use.
34232 * kern/misc.c (grub_ftoa): Remove.
34233 (grub_vsprintf): Remove floating point support.
34234
50465dd6 342352008-06-15 Robert Millan <rmh@aybabtu.com>
34236
fe6b695a 34237 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34238 devices.
34239 Reported by Max Vozeler.
34240
a9207284 342412008-06-15 Robert Millan <rmh@aybabtu.com>
34242
34243 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34244 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34245 skipped later.
34246 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34247 the beginning of the prefix.
34248
34249 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34250 It is assumed that if we have a memdisk, grub-mkimage has set
34251 grub_prefix to include the "(memdisk)" drive in it.
34252
a7cbd45a 342532008-06-15 Robert Millan <rmh@aybabtu.com>
34254
34255 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34256 Initialize keyboard controller after registering the terminal, so that
34257 grub_printf() can be called from grub_keyboard_controller_init().
34258
21cf716a 342592008-06-15 Robert Millan <rmh@aybabtu.com>
34260
34261 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34262 extent-btree which is written as big endian on disk.
34263 Reported by Alain Greppin <al@chilibi.org>.
34264
23a64d8e 342652008-06-14 Robert Millan <rmh@aybabtu.com>
34266
34267 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34268 * util/i386/pc/grub-install.in (modules): Likewise.
34269
d687651c 342702008-06-13 Pavel Roskin <proski@gnu.org>
34271
34272 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34273
dfe9ddd4 342742008-06-13 Bean <bean123ch@gmail.com>
34275
34276 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34277
34278 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34279
34280 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34281 to indicate sparse block.
34282
16ae7781 342832008-06-12 Pavel Roskin <proski@gnu.org>
34284
e6d1a308 34285 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34286 number, grub_fshelp_read() does it for us.
34287
16ae7781 34288 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34289 linear disk read with journal translation.
34290 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34291 * include/grub/fshelp.h: Declare grub_fshelp_read().
34292
40fd3a2b 342932008-06-09 Pavel Roskin <proski@gnu.org>
34294
34295 * fs/minix.c (grub_minix_mount): Handle error reading
34296 superblock.
34297
f5679726 342982008-06-08 Robert Millan <rmh@aybabtu.com>
34299
34300 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34301 don't append the RAID prefix afterwards.
34302 Reported by Clint Adams.
34303
ce525529 343042008-06-08 Robert Millan <rmh@aybabtu.com>
34305
34306 Based on description from Pavel:
34307 * kern/disk.c (grub_disk_check_range): Rename to ...
34308 (grub_disk_adjust_range): ... this. Add a comment explaining the
34309 tasks performed by this function.
34310
ad4936a0 343112008-06-08 Robert Millan <rmh@aybabtu.com>
34312
34313 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34314 `num_serial' (for consistency with other variables).
34315 (struct grub_ntfs_data): Add `uuid' member.
34316 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34317 (grub_ntfs_uuid): New function.
34318 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34319
dc20b0f9 343202008-06-07 Pavel Roskin <proski@gnu.org>
34321
34322 * util/biosdisk.c (open_device): Revert last change to the
34323 function, it broke installation. The sector needs to be
34324 different dependent on which device is opened.
34325
c5e3cfba 343262008-06-06 Robert Millan <rmh@aybabtu.com>
34327
34328 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34329 rest of GRUB, and breakage doesn't happen if its value were modified.
34330
34331 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34332 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34333 a constant (same value).
34334 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34335 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34336
26a1f8c4 343372008-06-06 Robert Millan <rmh@aybabtu.com>
34338
34339 * util/biosdisk.c (open_device): Do not modify sector offset when
34340 accessing a partition. kern/disk.c already handles this for us.
34341
25d6b327 343422008-06-06 Robert Millan <rmh@aybabtu.com>
34343
34344 * util/grub-emu.c (grub_machine_init): Move code in this function from
34345 here ...
34346 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34347 segfault in case grub_printf() is called).
34348
34349 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34350 grub_probe. Update all users not to explicitly add it again.
34351 (grub_device): New variable; contains corresponding device for grubdir.
34352 (fs_module, partmap_module, devabstraction_module): Pass
34353 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34354 every time.
34355
9ece62fb 343562008-06-05 Robert Millan <rmh@aybabtu.com>
34357
34358 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34359 is found, print it (same layout as with labels).
34360
1ad36d37 343612008-06-04 Robert Millan <rmh@aybabtu.com>
34362
34363 * util/biosdisk.c (get_drive): Rename to ...
34364 (find_grub_drive): ... this. Update all users.
34365
34366 (get_os_disk): Rename to ...
34367 (convert_system_partition_to_system_disk): ... this. Update all users.
34368
34369 (find_drive): Rename to ...
34370 (find_system_device): ... this. Update all users.
34371
e6a30859 343722008-06-04 Robert Millan <rmh@aybabtu.com>
34373
34374 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34375 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34376 (make_device_map): Likewise.
34377
00c108a4 343782008-06-01 Robert Millan <rmh@aybabtu.com>
34379
34380 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34381 before dereferencing it.
34382
34383 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34384 union with fat12/fat16-specific ones. Add some new fields, including
34385 `num_serial' for both versions.
34386 (struct grub_fat_data): Add `uuid' member.
34387 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34388 names. Initialize `data->uuid' using `num_serial'.
34389 (grub_fat_uuid): New function.
34390 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34391
34392 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34393 (grub_reiserfs_uuid): New function.
34394 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34395 member.
34396
34397 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34398 (grub_xfs_uuid): New function.
34399 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34400
1385c5bb 344012008-06-01 Robert Millan <rmh@aybabtu.com>
34402
34403 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34404 code that is backward compatible with pre-uuid search command.
34405
c682dfd7 344062008-05-31 Robert Millan <rmh@aybabtu.com>
34407
34408 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34409 floppies after everything else, to ensure floppy drive isn't accessed
34410 unnecessarily (patch from Bean).
34411
b7db5d47 344122008-05-31 Robert Millan <rmh@aybabtu.com>
34413
34414 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34415 not print device names when we were asked to set a variable.
34416
6e037aa9 344172008-05-31 Robert Millan <rmh@aybabtu.com>
34418
34419 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34420 using "cursor-on" and "cursor-off" commands (understood at least by
34421 the Open Firmware flavour on OLPC).
34422
41305bc8 344232008-05-31 Michael Gorven <michael@gorven.za.net>
34424
34425 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34426 on and off sequences.
34427
69ba137e 344282008-05-31 Robert Millan <rmh@aybabtu.com>
34429
34430 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34431 * util/update-grub.in: Likewise.
34432
520ae21b 344332008-05-30 Pavel Roskin <proski@gnu.org>
34434
34435 * util/biosdisk.c (linux_find_partition): Simplify logic and
34436 make the code more universal. Keep special processing for
34437 devfs, but use a simple rule for all other devices. If the
34438 device ends with a number, append 'p' and the partition number.
34439 Otherwise, append only the partition number.
34440
5786569b 344412008-05-30 Robert Millan <rmh@aybabtu.com>
34442
34443 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34444 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34445 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34446 the `root' parameter to Linux.
34447
51500452 344482008-05-30 Robert Millan <rmh@aybabtu.com>
34449
34450 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34451 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34452 --fs_uuid with --fs-uuid.
34453 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34454 all filesystems support them).
34455
811d3878 344562008-05-30 Robert Millan <rmh@aybabtu.com>
34457
34458 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34459 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34460
cab63c95 344612008-05-30 Robert Millan <rmh@aybabtu.com>
34462
34463 * util/grub.d/00_header.in: Remove obsolete comment referencing
34464 convert_system_path_to_grub_path().
34465 * util/update-grub.in: Likewise.
34466 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34467 (convert_system_path_to_grub_path): Add a warning message explaining
34468 that this function is deprecated. Rely on is_path_readable_by_grub()
34469 for the readability checks.
34470 (font_path): Use is_path_readable_by_grub() for the readability
34471 check rather than convert_system_path_to_grub_path().
34472
972e2f7a 344732008-05-30 Robert Millan <rmh@aybabtu.com>
34474
34475 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34476 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34477 converting it first.
34478 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34479 grub.cfg for access to font file, and afterwards call it again to set
34480 the root device.
34481
62191274 344822008-05-30 Robert Millan <rmh@aybabtu.com>
34483
34484 * commands/search.c (options): Add --fs_uuid option.
34485 (search_fs_uuid): New function.
34486 (grub_cmd_search): Fix --set argument passing.
34487 Use search_fs_uuid() when requested via --fs_uuid.
34488 (grub_search_init): Update help message.
34489 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34490 and redeclare it as an array of 16-bit words.
34491 (grub_ext2_uuid): New function.
34492 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34493 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34494 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34495 (GRUB_DEVICE_BOOT_UUID): New variables.
34496 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34497 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34498 whenever possible.
34499 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34500 just assume `root' variable has the right value.
34501 * util/grub.d/10_linux.in: Likewise.
34502 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34503 via PRINT_FS_UUID.
34504 (main): Recognise `-t fs_uuid' argument.
34505
01b73ec8 345062008-05-30 Robert Millan <rmh@aybabtu.com>
34507
34508 * util/biosdisk.c (map): Redefine structure to hold information
34509 about GRUB drive name.
fe6b695a 34510 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34511 drive names.
34512 (call_hook): Remove.
34513 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34514 member. Assume drive has partitions.
34515 (grub_util_biosdisk_open): Access device names via `.device' struct
34516 member.
34517 (open_device): Likewise.
34518 (find_drive): Likewise.
34519 (read_device_map): Adjust map[] usage to match the new struct
34520 definition. Don't check for duplicates (still possible, but not cheap
34521 anymore).
34522 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34523 (make_device_name): Remove assumption of BIOS-like drive names.
34524
22f16596 345252008-05-30 Pavel Roskin <proski@gnu.org>
34526
34527 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34528 compiling execute.c doesn't need grub_script.tab.h anymore.
34529 (normal/command.c_DEPENDENCIES): Likewise.
34530 (normal/function.c_DEPENDENCIES): Likewise.
34531 * conf/i386-ieee1275.rmk: Likewise.
34532 * conf/i386-linuxbios.rmk: Likewise.
34533 * conf/i386-pc.rmk: Likewise.
34534 * conf/powerpc-ieee1275.rmk: Likewise.
34535 * conf/sparc64-ieee1275.rmk: Likewise.
34536
528ad8f2 345372008-05-29 Pavel Roskin <proski@gnu.org>
34538
d1dff95d 34539 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34540 when scanning metadata for volume group name.
34541
528ad8f2 34542 * include/grub/script.h: Don't include grub_script.tab.h. It's
34543 a generated file, which may only be included from the files with
34544 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34545 use union YYSTYPE, as the later allows forward declaration.
34546 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34547
47248e08 345482008-05-29 Robert Millan <rmh@aybabtu.com>
34549
34550 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34551 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34552 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34553 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34554 scan codes.
34555
ee632529 345562008-05-29 Robert Millan <rmh@aybabtu.com>
34557
34558 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34559 control key combinations.
34560
eee96e08 345612008-05-29 Robert Millan <rmh@aybabtu.com>
34562
34563 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34564 * util/ieee1275/grub-install.in: ... to here.
34565 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34566 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34567 (grub_install_SOURCES): Likewise.
34568
da9a6a94 345692008-05-29 Robert Millan <rmh@aybabtu.com>
34570
34571 * fs/affs.c: Update copyright year.
34572 * fs/ext2.c: Likewise.
34573 * fs/fshelp.c: Likewise.
34574 * fs/hfsplus.c: Likewise.
34575 * fs/ntfs.c: Likewise.
34576 * fs/xfs.c: Likewise.
34577 * include/grub/fshelp.h: Likewise.
34578 * util/grub-mkdevicemap.c: Likewise.
34579
12e65f3a 345802008-05-28 Robert Millan <rmh@aybabtu.com>
34581
34582 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34583 might need to be fatfs to support some firmware implementations
34584 (e.g. OFW or EFI).
34585
23023641 345862008-05-28 Robert Millan <rmh@aybabtu.com>
34587
34588 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34589 devices.
34590 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34591 (make_device_map): Likewise.
34592
887d2619 345932008-05-20 Bean <bean123ch@gmail.com>
34594
34595 * fs/fshelp.c (grub_fshelp_map_block): New function.
34596 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34597 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34598
34599 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34600 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34601 (grub_fshelp_journal): New structure.
34602 (grub_fshelp_map_block): New function prototype.
34603 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34604 (grub_fshelp_map_block): Likewise.
34605
34606 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34607 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34608 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34609 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34610 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34611 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34612 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34613 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34614 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34615 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34616 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34617 (grub_ext2_sblock): New members for journal support.
34618 (grub_ext3_journal_header): New structure.
34619 (grub_ext3_journal_revoke_header): Likewise.
34620 (grub_ext3_journal_block_tag): Likewise.
34621 (grub_ext3_journal_sblock): Likewise.
34622 (grub_fshelp_node): New members logfile and journal.
34623 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34624 grub_fshelp_map_block to get real block number.
34625 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34626 number.
34627 (grub_ext2_read_inode): Likewise.
34628 (grub_ext3_get_journal): New function.
34629 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34630 (grub_ext2_close): Release memory used by journal.
34631
34632 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34633 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34634 (grub_reiserfs_transaction_header): Renamed to
34635 grub_reiserfs_description_block, replace field data with real_blocks.
34636 (grub_reiserfs_commit_block): New structure.
34637 (grub_reiserfs_data): New member journal.
34638 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34639 number.
34640 (grub_reiserfs_read_symlink): Likewise.
34641 (grub_reiserfs_iterate_dir): Likewise.
34642 (grub_reiserfs_open): Likewise.
34643 (grub_reiserfs_read): Likewise.
34644 (grub_reiserfs_get_journal): New function.
34645 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34646 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34647 using grub_reiserfs_get_journal.
34648 (grub_reiserfs_close): Release memory used by journal.
34649
34650 * fs/affs.c (grub_affs_read_block): Change block type to
34651 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34652
34653 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34654
34655 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34656
34657 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34658
34659 * fs/udf.c (grub_udf_read_block): Change block type to
34660 grub_disk_addr_t. Use type cast to avoid warning.
34661
34662 * fs/xfs.c (grub_xfs_read_block): Likewise.
34663
b7c6bed5 346642008-05-16 Christian Franke <franke@computer.org>
34665
34666 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34667 to ensure that break with ESC will always work.
34668 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34669 Remove ESC from keyboard queue.
34670
eedf167f 346712008-05-16 Christian Franke <franke@computer.org>
34672
34673 * util/biosdisk.c: [__CYGWIN__] Add includes.
34674 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34675 (get_os_disk): Move variable declarations to OS specific
34676 parts to avoid warning.
34677 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34678 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34679 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34680 Cygwin.
34681 * util/getroot.c: [__CYGWIN__] Add includes.
34682 (strip_extra_slashes): Fix "/" case.
34683 [__CYGWIN__] (get_win32_path): New function.
34684 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34685 [__CYGWIN__] (find_root_device): Disable.
34686 [__CYGWIN__] (get_bootsec_serial): New function.
34687 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34688 [__linux__] (grub_guess_root_device): Add early returns to simplify
34689 structure.
34690 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34691 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34692 check for Linux only.
34693
a079699e 346942008-05-15 Bean <bean123ch@gmail.com>
34695
34696 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34697 keyboard hang problem in apple's intel mac.
34698
1cf4059a 346992008-05-09 Robert Millan <rmh@aybabtu.com>
34700
34701 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34702 devices.
34703 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34704 (make_device_map): Likewise.
34705 Reported by Aurelien Jarno <aurel32@debian.org>
34706
ed759390 347072008-05-07 Ian Campbell <ijc@hellion.org.uk>
34708
34709 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34710 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34711 (make_device_map): Output entries for xvd type disks.
34712
b56c4eaa 347132008-05-07 Robert Millan <rmh@aybabtu.com>
34714
34715 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34716 devices.
34717 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34718 (make_device_map): Likewise.
34719 Reported by Roland Dreier <rdreier@cisco.com>
34720
7f8866ed 347212008-05-07 Robert Millan <rmh@aybabtu.com>
34722
34723 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34724 grub_strstr() call. Correct a few mistakes in failure path handling.
34725
b0346e0f 347262008-05-06 Robert Millan <rmh@aybabtu.com>
34727
34728 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34729 Do not print a trailing slash (therefore, the root directory is an
34730 empty string).
34731 (convert_system_path_to_grub_path): Do not remove trailing slash
34732 from make_system_path_relative_to_its_root() output.
34733
34734 * util/i386/pc/grub-install.in: Add trailing slash to output from
34735 make_system_path_relative_to_its_root().
34736
6cf12cbd 347372008-05-06 Robert Millan <rmh@aybabtu.com>
34738
34739 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34740 ensures that output lines aren't intermangled with those sent to
34741 stderr (via grub_util_info()).
34742 * util/grub-probe.c (grub_refresh): Likewise.
34743 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34744
0fbb3117 347452008-05-05 Christian Franke <franke@computer.org>
34746
34747 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34748 Add Cygwin device names.
34749 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34750 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34751 (check_device): Return error instead of success on empty name.
34752 (make_device_map): Move label inside linux specific code to
34753 prevent compiler warning.
34754
8124cdb7 347552008-04-30 Robert Millan <rmh@aybabtu.com>
34756
34757 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34758 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34759 first boot option.
34760 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34761
094c01d0 347622008-04-29 Robert Millan <rmh@aybabtu.com>
34763
34764 * docs/grub.cfg: New file (example GRUB configuration).
34765
f4b1fc02 347662008-04-26 Robert Millan <rmh@aybabtu.com>
34767
329ce2a5 34768 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34769 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34770 and `disk/ieee1275/nand.c'.
f4b1fc02 34771
25f16ec1 347722008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34773
25f16ec1 34774 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34775 i386-linuxbios.
34776
34777 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34778 change the buffer size to 4096 for cdrom device.
34779
34780 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34781 and nand.mod.
34782 (_linux_mod_SOURCES): New variable.
34783 (_linux_mod_CFLAGS): Likewise.
34784 (_linux_mod_LDFLAGS): Likewise.
34785 (linux_mod_SOURCES): Likewise.
34786 (linux_mod_CFLAGS): Likewise.
34787 (linux_mod_LDFLAGS): Likewise.
34788 (nand_mod_SOURCES): Likewise.
34789 (nand_mod_CFLAGS): Likewise.
34790 (nand_mod_LDFLAGS): Likewise.
34791
34792 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34793 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34794 type property. (nand device in olpc don't have this property)
34795
34796 * include/grub/disk.h (grub_disk_dev_id): New macro
34797 GRUB_DISK_DEVICE_NAND_ID.
34798
34799 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34800 function prototype.
34801 (grub_rescue_cmd_initrd): Likewise.
34802
34803 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34804 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34805 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34806
25f16ec1 34807 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34808 GRUB_MACHINE_IEEE1275 is defined.
34809
34810 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34811 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34812
34813 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34814 on nested function heap_init.
34815 (grub_upper_mem): New variable for i386-ieee1275.
34816 (grub_get_extended_memory): New function for i386-ieee1275.
34817 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34818
34819 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34820 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34821 property.
f19dbdb7 34822
25f16ec1 34823 * loader/i386/ieee1275/linux.c: New file.
34824
34825 * loader/i386/ieee1275/linux_normal.c: New file.
34826
34827 * disk/ieee1275/nand.c: New file.
34828
e89d61e9 348292008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34830
34831 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34832 value.
34833 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34834
602566f6 348352008-04-18 Robert Millan <rmh@aybabtu.com>
34836
34837 Restructures early code path on ieee1275 to unify grub_main() as
34838 the first C function that is executed in every platform.
34839
34840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34841 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34842 cmain().
34843 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34844 * kern/ieee1275/cmain.c (cmain): Rename to ...
34845 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34846 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34847 at the beginning.
34848
57490c2b 348492008-04-18 Robert Millan <rmh@aybabtu.com>
34850
34851 * util/update-grub.in: Fix syntax error when setting
34852 `GRUB_PRELOAD_MODULES'.
34853 Reported by Stephane Chazelas <stephane@artesyncp.com>
34854
1977517d 348552008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34856
34857 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34858 section into account, newer toolchains generate unique build ids
34859 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34860 we want build ids to be preserved
1977517d 34861 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34862 far from other sections don't cause the raw binary images grow
34863 size
34864
bfb1f1a2 348652008-04-15 Robert Millan <rmh@aybabtu.com>
34866
34867 * disk/lvm.c: Update copyright year.
34868 * kern/misc.c: Likewise.
34869
01979850 348702008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34871
34872 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34873 there is no memory left for physical volume name.
01979850 34874
0a1150e2 348752008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34876
34877 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34878 volume name mapping to support bigger than 9 character names properly.
34879
82ead3fe 348802008-04-13 Robert Millan <rmh@aybabtu.com>
34881
34882 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34883 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34884
e54a72f5 348852008-04-13 Christian Franke <franke@computer.org>
34886
34887 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34888 to create a floppy emulation boot CD when non emulation mode
34889 does not work.
34890 Enable Joliet CD filesystem extension.
34891
9fe86034 348922008-04-13 Robert Millan <rmh@aybabtu.com>
34893
34894 * kern/misc.c (grub_strncat): Fix off-by-one error.
34895 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34896
34897 * kern/env.c (grub_env_context_close): Clear current context, not
34898 previous one.
34899 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34900
34901 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34902
7ceeee39 349032008-04-13 Robert Millan <rmh@aybabtu.com>
34904
34905 Improve robustness when handling LVM.
34906
34907 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34908 (and leave `*p' unmodified).
7ceeee39 34909 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34910 through it.
34911 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34912 iterating through it.
34913 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34914 through it.
fe6b695a 34915 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34916 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34917 Don't assume `vg->pvs != NULL' when iterating through it.
34918
58cd3d85 349192008-04-13 Robert Millan <rmh@aybabtu.com>
34920
34921 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34922 * genmk.rb (partmap): New variable.
34923 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34924 (#{partmap}): New target rule.
34925 * genpartmaplist.sh: New file.
34926 * Makefile.in (pkglib_DATA): Add partmap.lst.
34927 (partmap.lst): New target rule.
34928 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34929 modules (including all partition maps), instead of preloading them.
34930
78b51059 349312007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34932
34933 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34934 `linux-boot-prober' (if installed) to detect other operating
34935 systems which are installed on the computer and add them to
34936 the boot menu.
34937 * conf/common.rmk: Build and install 30_os-prober.
34938
a91627b4 349392008-04-12 Robert Millan <rmh@aybabtu.com>
34940
34941 * kern/powerpc/ieee1275/init.c: Move from here ...
34942 * kern/ieee1275/init.c: ... to here. Update all users.
34943
34944 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34945 * kern/ieee1275/cmain.c: ... to here. Update all users.
34946
34947 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34948 * kern/ieee1275/openfw.c: ... to here. Update all users.
34949
34950 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34951 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34952
322562ea 349532008-04-10 Pavel Roskin <proski@gnu.org>
34954
34955 * configure.ac: Always use "_cv_" in cache variables for
34956 compatibility with Autoconf 2.62.
34957
a02a73c5 349582008-04-07 Robert Millan <rmh@aybabtu.com>
34959
34960 Revert grub/machine/init.h addition by Pavel (since it breaks on
34961 i386-ieee1275 and others):
34962 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34963 * util/powerpc/ieee1275/misc.c: Likewise.
34964
25c024b1 349652008-04-07 Robert Millan <rmh@aybabtu.com>
34966
34967 * util/grub-probe.c (probe): Improve error message.
34968
3cbd2f98 349692008-04-07 Robert Millan <rmh@aybabtu.com>
34970
34971 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34972 (this prevents the presence of a bogus entry from ruining the whole
34973 thing).
34974
87a297bf 349752008-04-06 Pavel Roskin <proski@gnu.org>
34976
36747a62 34977 * util/biosdisk.c: Include grub/util/biosdisk.h.
34978 * util/grub-fstest.c (execute_command): Make static.
34979 * util/grub-mkdevicemap.c (check_device): Likewise.
34980 * util/i386/pc/misc.c: Include grub/machine/init.h.
34981 * util/powerpc/ieee1275/misc.c: Likewise.
34982 * util/lvm.c: Include grub/util/lvm.h.
34983 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34984 grub/cache.h.
34985 * util/raid.c: Include grub/util/raid.h.
34986 (grub_util_getdiskname): Make static.
34987
87a297bf 34988 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34989 grub_hostfs_fini(), as they are called from grub_init_all() and
34990 grub_fini_all() respectively. This fixes an infinite loop in
34991 grub-fstest due to double registration of hostfs.
34992 Reported by Christian Franke <Christian.Franke@t-online.de>
34993
f6ce7629 349942008-04-05 Pavel Roskin <proski@gnu.org>
34995
34996 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34997 all 8 functions. Otherwise, probe function 0 only.
34998
070e49e4 349992008-04-04 Pavel Roskin <proski@gnu.org>
35000
8b088a4c 35001 * commands/lspci.c (grub_lspci_iter): Print the bus number
35002 correctly.
35003
4f657021 35004 * commands/lspci.c (grub_pci_classes): Fix typos.
35005 (grub_lspci_iter): Don't print func twice. Print vendor ID
35006 before device ID, as it's normally done.
35007
070e49e4 35008 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35009 Fix signedness warnings.
35010 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35011 Likewise.
35012 * util/ieee1275/get_disk_name.c: Include config.h so that
35013 _GNU_SOURCE is defined and getline() is declared. Mark an
35014 unused argument as such. Fix a signedness warning.
35015
ba7328dc 350162008-04-02 Pavel Roskin <proski@gnu.org>
35017
26887f22 35018 * genkernsyms.sh.in: Use more robust assignments for CC and
35019 srcdir. Quote srcdir.
35020 * gensymlist.sh.in: Likewise. Assert at the compile time that
35021 the symbol table is not empty.
35022
ba7328dc 35023 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35024 * fs/cpio.c (grub_cpio_read): Likewise.
35025
0f582c6b 350262008-04-01 Pavel Roskin <proski@gnu.org>
35027
4b6e1995 35028 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35029 * disk/host.c (grub_host_open): Likewise.
35030 * disk/loopback.c (grub_loopback_open): Likewise.
35031 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35032 disk->id as in disk/host.c, not a multi-character constant.
35033
828a2768 35034 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35035 later is obsolete, potentially dangerous and sets a bad example.
35036 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35037 * util/misc.c (grub_util_get_image_size): Likewise.
35038
2bb4fb47 35039 * disk/loopback.c (options): Improve help for "--partitions".
35040
0f582c6b 35041 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35042 options to align them with the short options, e.g. "echo -e".
35043
a33224e0 350442008-03-31 Bean <bean123ch@gmail.com>
35045
35046 * video/reader/png.c (grub_png_data): New member is_16bit and
35047 image_data.
35048 (grub_png_decode_image_header): Detect 16 bit png image.
35049 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35050 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35051 (grub_video_reader_png): Release memory occupied by image_data.
35052
35053 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35054 4096 bytes.
35055 (grub_nfs_mount): Skip the test for sector per cluster.
35056
35057 * include/grub/ntfs.h (MAX_SPC): Removed.
35058
86cb4f54 350592008-03-31 Bean <bean123ch@gmail.com>
35060
35061 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35062 (grub_probe_SOURCES): Add fs/afs.c.
35063 (grub_fstest_SOURCES): Likewise.
35064 (afs_mod_SOURCES): New variable.
35065 (afs_mod_CFLAGS): Likewise.
35066 (afs_mod_LDFLAGS): Likewise.
35067
35068 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35069 (grub_emu_SOURCES): Likewise.
35070
35071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35072
35073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35074
35075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35076
35077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35078
35079 * fs/afs.c: New file.
35080
17c74c21 350812008-03-30 Pavel Roskin <proski@gnu.org>
35082
4cb68e89 35083 * disk/host.c: Include grub/misc.h to fix a warning.
35084 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35085 warnings about implicit declarations.
35086
8790bb04 35087 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35088 variable.
35089 * include/grub/i386/loader.h: Change declaration of
35090 grub_linux_boot() to match what grub_loader_set() expects.
35091 * util/getroot.c (grub_guess_root_device): Return const char* to
35092 fix a warning.
35093 * util/grub-probe.c (probe): Fix a warning about uninitialized
35094 abstraction_name variable.
35095 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35096 second argument as unused to fix a warning.
35097
9a3f3296 35098 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35099 missing grub_error() call.
35100
0ecef90d 35101 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35102 2.60 and newer uses it to define datadir.
35103
0bf6d401 35104 * commands/sleep.c: Fix warning about implicit declaration.
35105 * disk/memdisk.c: Likewise.
35106 * loader/aout.c: Likewise.
35107 * loader/i386/bsd_normal.c: Likewise.
35108 * util/grub-probe.c: Likewise.
35109
7cdacf97 35110 * commands/i386/cpuid.c (has_longmode): Make static.
35111 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35112 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35113
17c74c21 35114 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35115 GDT. This is more robust, as %ds can change.
35116 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35117 calling real_to_prot().
35118 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35119
80a3e68b 351202008-03-28 Pavel Roskin <proski@gnu.org>
35121
35122 * kern/i386/pc/startup.S: Assert that uncompressed functions
35123 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35124 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35125 code, as they push parts of the code (error handlers) beyond
35126 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35127 code as correctness and size.
35128
77bcd272 351292008-03-28 Pavel Roskin <proski@gnu.org>
35130
35131 * kern/i386/pc/startup.S
35132 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35133 data block address to the real mode, keep offset minimal. This
35134 works around a bug in AWARD BIOS on old Athlon systems, which
35135 makes CD detection hang.
35136
c5dfd43b 351372008-03-26 Pavel Roskin <proski@gnu.org>
35138
35139 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35140 const.
35141 * include/grub/normal.h: Add grub_parse_color_name_pair()
35142 declaration.
35143
bf962df2 351442008-03-24 Bean <bean123ch@gmail.com>
35145
35146 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35147 (cd_count): Removed.
35148 (cd_drive): New variable.
35149 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35150 (grub_biosdisk_call_hook): Likewise.
35151 (grub_biosdisk_iterate): Change cdrom detection method.
35152 (grub_biosdisk_open): Replace cd_start with cd_drive.
35153 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35154 detect cdrom device.
35155
35156 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35157 Removed.
35158 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35159 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35160 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35161 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35162 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35163 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35164 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35165 (grub_biosdisk_cdrp): New structure.
35166 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35167
35168 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35169
35170 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35171 device.
35172
35173 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35174 New function.
35175
68e7fc7a 351762008-03-20 Robert Millan <rmh@aybabtu.com>
35177
35178 Remove 2 TiB limit in ata.mod.
35179 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35180 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35181 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35182 grub_uint64_t instead of grub_uint32_t.
35183
38ad2cf5 351842008-03-05 Bean <bean123ch@gmail.com>
35185
35186 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35187 (grub_multiboot): Set boot device.
35188
35189 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35190
2b89344e 351912008-03-02 Bean <bean123ch@gmail.com>
35192
35193 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35194 symlink_buffer.
35195
87a95d1f 351962008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35197
35198 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35199 texinfo.tex.
35200
35201 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35202 modified.
35203
35204 * docs/fdl.texi: New file.
f19dbdb7 35205
87a95d1f 35206 * docs/mdate-sh: New file. Copied from gnulib.
35207 * docs/texinfo.tex: Likewise.
35208
35209 * config.guess: Updated from gnulib.
35210 * install-sh: Likewise.
35211
7dc15d8e 352122008-02-28 Robert Millan <rmh@aybabtu.com>
35213
35214 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35215 (aout_mod_SOURCES): New variable.
35216 (aout_mod_CFLAGS): Likewise.
35217 (aout_mod_LDFLAGS): Likewise.
35218
35219 * conf/i386-ieee1275.rmk: Likewise.
35220
b00ab696 352212008-02-28 Robert Millan <rmh@aybabtu.com>
35222
35223 * util/update-grub.in: Reorganise terminal validity check. Accept
35224 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35225 Based on suggestion by Franklin PIAT.
35226
79ca2d78 352272008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35228
35229 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35230 function.
35231 * util/getroot.c (grub_util_check_block_device): New function that
35232 returns the given argument if it is a block device and returns NULL else.
35233 * util/grub-probe.c (argument_is_device): New variable.
35234 (probe): Promote device_name from a variable to an argument. Receive
35235 device_name from grub_util_check_block_device() if path is NULL and from
35236 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35237 (options): Introduce new parameter '-d, --device'.
79ca2d78 35238 (main): Add description of the new parameter to the help screen.
35239 Rename path variable to argument. Set argument_is_device if the '-d'
35240 option is given. Pass argument to probe() depending on
35241 argument_is_device.
35242
0d16e571 352432008-02-24 Bean <bean123ch@gmail.com>
35244
35245 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35246 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35247 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35248 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35249 (GRUB_ISO9660_VOLDESC_END): Likewise.
35250 (grub_iso9660_primary_voldesc): New member escape.
35251 (grub_iso9660_data): New member joliet.
35252 (grub_iso9660_convert_string): New function.
35253 (grub_iso9660_mount): Detect joliet extension.
35254 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35255 (grub_iso9660_iso9660_label): Likewise.
35256
35257 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35258 (grub_setup_SOURCES): Add fs/udf.c.
35259 (grub_fstest_SOURCES): Likewise.
35260 (udf_mod_SOURCES): New variable.
35261 (udf_mod_CFLAGS): Likewise.
35262 (udf_mod_LDFLAGS): Likewise.
35263
35264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35265 (grub_emu_SOURCES): Likewise.
35266
35267 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35268
35269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35270
35271 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35272
35273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35274
35275 * fs/udf.c: New file.
35276
8a594a17 352772008-02-24 Robert Millan <rmh@aybabtu.com>
35278
35279 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35280 (normal/lexer.c_DEPENDENCIES): New variables.
35281 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35282 (normal/lexer.c_DEPENDENCIES): Likewise.
35283 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35284 (normal/lexer.c_DEPENDENCIES): Likewise.
35285 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35286 (normal/lexer.c_DEPENDENCIES): Likewise.
35287 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35288 (normal/lexer.c_DEPENDENCIES): Likewise.
35289 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35290 (normal/lexer.c_DEPENDENCIES): Likewise.
35291
2dc33c03 352922008-02-23 Robert Millan <rmh@aybabtu.com>
35293
35294 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35295 since they were intended to be in hex. This didn't break previously
35296 because of a bug in gpt_partition_map_iterate() (see below).
35297
35298 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35299 when checking the validity of GPT header.
35300 Remove `partno', since it always provides the same information as `i'.
35301
f6f4cfb0 353022008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35303
35304 * include/grub/efi/time.h: Fix a wrong comment.
35305
79ff665f 353062008-02-19 Pavel Roskin <proski@gnu.org>
35307
35308 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35309 message.
35310
d38e24c2 353112008-02-19 Bean <bean123ch@gmail.com>
35312
35313 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35314 (aout_mod_SOURCES): New variable.
35315 (aout_mod_CFLAGS): Likewise.
35316 (aout_mod_LDFLAGS): Likewise.
35317 (_bsd_mod_SOURCES): New variable.
35318 (_bsd_mod_CFLAGS): Likewise.
35319 (_bsd_mod_LDFLAGS): Likewise.
35320 (bsd_mod_SOURCES): New variable.
35321 (bsd_mod_CFLAGS): Likewise.
35322 (bsd_mod_LDFLAGS): Likewise.
35323
35324 * include/grub/aout.h: New file.
35325
35326 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35327
35328 * include/grub/i386/bsd.h: New file.
35329
35330 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35331 to make it public.
35332
35333 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35334 function is called, so that it's possible to change it inside the hook.
35335 (grub_elf64_load): Likewise.
35336 (grub_elf_file): Don't close the file if elf header is not found.
35337 (grub_elf_close): Close the file if grub_elf_file fails (The new
35338 grub_elf_file won't close it).
35339 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35340 (grub_elf64_size): Likewise.
35341
35342 * kern/i386/loader.S (grub_unix_real_boot): New function.
35343
35344 * loader/aout.c: New file.
35345
35346 * loader/i386/bsd.c: New file.
35347
35348 * loader/i386/bsd_normal.c: New file.
35349
35350 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35351
35352 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35353 can test other formats.
d38e24c2 35354
b93bdb0f 353552008-02-19 Robert Millan <rmh@aybabtu.com>
35356
35357 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35358 (grub_gpt_partition_type_empty): Redefine with macro from
35359 `<grub/gpt_partition.h>'.
35360 (gpt_partition_map_iterate): Adjust partition type comparison.
35361
35362 Export `entry' as partmap-specific `part.data' struct.
35363 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35364
35365 * include/grub/gpt_partition.h (grub_gpt_header)
35366 (grub_gpt_partentry): ... to here (new file).
35367
35368 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35369
35370 (grub_gpt_partition_type_bios_boot): New const variable, defined
35371 with macro from `<grub/gpt_partition.h>'.
35372
35373 (setup): Replace `first_start' with `embed_region', which keeps
35374 track of the embed region (and is partmap-agnostic).
35375
35376 Replace find_first_partition_start() with find_usable_region(),
35377 which finds a usable region for embedding using partmap-specific
35378 knowledge (supports PC/MSDOS and GPT).
35379
35380 Fix all assumptions that the embed region start at sector 1, using
35381 `embed_region.start' from now on. Similarly, use `embed_region.end'
35382 rather than `first_start' to calculate available size.
35383
35384 In grub_util_info() message, replace "into after the MBR" with an
35385 indication of the specific sector our embed region starts at.
35386
66cb40f6 353872008-02-19 Robert Millan <rmh@aybabtu.com>
35388
35389 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35390 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35391 `commands/reboot.c'.
35392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35393 (halt_mod_SOURCES): Likewise.
35394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35395 (halt_mod_SOURCES): Likewise.
35396
b7202015 353972008-02-17 Christian Franke <franke@computer.org>
35398
35399 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35400
32b0fc49 354012008-02-17 Robert Millan <rmh@aybabtu.com>
35402
35403 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35404 set `first_start' to 0 for non-PC/MSDOS partition maps.
35405
aca63502 354062008-02-16 Robert Millan <rmh@aybabtu.com>
35407
35408 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35409 do not assume partition map is PC/MSDOS before performing checks that
35410 are specific to that layout.
35411
0de8be86 354122008-02-13 Robert Millan <rmh@aybabtu.com>
35413
35414 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35415 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35416 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35417
c3db8364 354182008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35419
35420 * configure.ac: Only a cosmetic change on the handling of
35421 -fno-stack-protector.
35422
f714229e 354232008-02-12 Alexandre Boeglin <alex@boeglin.org>
35424
c3db8364 35425 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35426 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35427 reboot.c.
f714229e 35428 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35429 (halt_mod_SOURCES): New variable.
35430 (halt_mod_CFLAGS): Likewise.
35431 (halt_mod_LDFLAGS): Likewise.
35432 (reboot_mod_SOURCES): Likewise.
35433 (reboot_mod_CFLAGS): Likewise.
35434 (reboot_mod_LDFLAGS): Likewise.
35435
c3db8364 35436 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35437 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35438 reboot.c.
f714229e 35439 (halt_mod_SOURCES): Likewise.
35440 (reboot_mod_SOURCES): Likewise.
35441
c3db8364 35442 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35443 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35444 (reboot_mod_SOURCES): Likewise.
35445
35446 * commands/i386/pc/reboot.c: merge this file ...
35447
35448 * commands/ieee1275/reboot.c: ... and this file ...
35449
35450 * commands/reboot.c: ... to this file.
c3db8364 35451 Add some precompiler directive to include the correct header for
35452 each machine.
f714229e 35453
35454 * commands/ieee1275/halt.c: move this file ...
35455
35456 * commands/halt.c: ... to here.
c3db8364 35457 Add some precompiler directive to include the correct header for
35458 each machine.
f714229e 35459
35460 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35461 (grub_halt): Likewise.
35462
35463 * kern/efi/efi.c (grub_reboot): New function.
35464 (grub_halt): Likewise.
35465
c74493e0 354662008-02-12 Robert Millan <rmh@aybabtu.com>
35467
35468 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35469 /dev (like it is done for /dev/mapper). This doesn't provide support
35470 for EVMS, but at least it is now easy to identify the problem when it
35471 arises.
35472
d0db4b04 354732008-02-11 Robert Millan <rmh@aybabtu.com>
35474
35475 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35476 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35477 comparing it with -1, not 0.
35478
bf748642 354792008-02-10 Robert Millan <rmh@aybabtu.com>
35480
35481 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35482 `disk/lvm.c'.
35483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35484 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35485
35486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35487 `disk/lvm.c' to the end of the list.
35488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35489 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35490
b5db202a 354912008-02-10 Robert Millan <rmh@aybabtu.com>
35492
35493 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35494 grub_print_error() instead. This will let user know why we're entering
35495 rescue mode.
35496 Based on suggestions from Sam Morris.
35497
83abee31 354982008-02-10 Alexandre Boeglin <alex@boeglin.org>
35499
35500 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35501 on remaining N args, instead of "--" arg N times.
35502
78d5a08b 355032008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35504
35505 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35506 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35507 pattern for unknown glyphs.
35508
68807e5f 355092008-02-09 Robert Millan <rmh@aybabtu.com>
35510
35511 * configure.ac: Probe for `help2man'.
35512 * Makefile.in (builddir): New variable.
35513 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35514 or otherwise add a few flags/options to it.
35515 (install-local): For every executable utility or script that is
35516 installed, invoke $(HELP2MAN) to install a manpage based on --help
35517 output.
35518
35519 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35520 that it doesn't prevent --help from working in build tree.
35521
35522 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35523 with `bug-grub@gnu.org'.
35524 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35525 * util/update-grub.in (usage): New function.
35526 Implement proper argument check, with support for --help and --version
35527 (as well as existing -y).
35528
355292008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35530
35531 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35532 avoid overwriting previous output.
35533 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35534
c1962162 355352008-02-09 Robert Millan <rmh@aybabtu.com>
35536
35537 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35538 drawing the menu.
35539
3dac2e3f 355402008-02-09 Robert Millan <rmh@aybabtu.com>
35541
35542 * commands/sleep.c: New file.
35543 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35544 (sleep_mod_SOURCES): New variable.
35545 (sleep_mod_CFLAGS): Likewise.
35546 (sleep_mod_LDFLAGS): Likewise.
35547
7a634e08 355482008-02-09 Robert Millan <rmh@aybabtu.com>
35549
35550 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35551 situations in which we can deduce the RAID size and the superblock
35552 doesn't match it.
35553
b92f0c18 355542008-02-09 Robert Millan <rmh@aybabtu.com>
35555
35556 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35557 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35558 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35559
35560 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35561 and return a grub_diskmemberlist_t composed of physical array members.
35562 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35563
35564 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35565 prototype.
35566 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35567 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35568 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35569
35570 * util/grub-probe.c (probe): Move partmap probing code from here ...
35571 (probe_partmap): ... to here.
35572 (probe): Use probe_partmap() once for the disk we're probing, and
35573 additionally, when such disk contains a memberlist() struct member,
35574 once for each disk that is contained in the structure returned by
35575 memberlist().
35576
91a4bf68 355772008-02-09 Robert Millan <rmh@aybabtu.com>
35578
35579 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35580 environment variable to 'all' in order to obtain debug output from
35581 non-util/ code.
35582 * util/i386/pc/grub-setup.c (main): Likewise.
35583
a96f9caa 355842008-02-08 Robert Millan <rmh@aybabtu.com>
35585
35586 * disk/raid.c (grub_raid_scan_device): Check for
35587 `array->device[sb.this_disk.number]' rather than for
35588 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35589 guaranteed to be accessible.
a96f9caa 35590
b37a9222 355912008-02-08 Robert Millan <rmh@aybabtu.com>
35592
35593 * disk/raid.c: Update copyright.
35594 * fs/cpio.c: Likewise.
35595 * include/grub/raid.h: Likewise.
35596 * loader/i386/pc/multiboot.c: Likewise.
35597 * util/hostfs.c: Likewise.
35598
5626aee1 355992008-02-08 Robert Millan <rmh@aybabtu.com>
35600
35601 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35602 to a grub_disk_t array.
35603 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35604 `device[x]'.
35605 (grub_raid_scan_device): Replace `device[x].name' accesses with
35606 `device[x]->name'. Simplify initialization of `array->device[x]'.
35607
554f0187 356082008-02-08 Robert Millan <rmh@aybabtu.com>
35609
35610 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35611 grub_dprintf() calls.
35612 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35613 error message.
35614
1ec8425d 356152008-02-07 Christian Franke <franke@computer.org>
35616
35617 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35618 instead of fseek and ftell to support large files.
35619 (grub_hostfs_read): Likewise.
35620
f2156fda 356212008-02-07 Robert Millan <rmh@aybabtu.com>
35622
35623 Patch from Jeroen Dekkers.
35624 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35625 failure, since successfully reading all array members might not be
f2156fda 35626 required.
35627
9216e0e7 356282008-02-06 Robert Millan <rmh@aybabtu.com>
35629
35630 * util/grub-probe.c (probe): Simplify partmap probing (with the
35631 assumption that the first word up to the underscore equals to
35632 the module name).
35633
b0dfd29a 356342008-02-06 Christian Franke <franke@computer.org>
35635
35636 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35637 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35638 last block of a cpio or tar stream.
35639 Check for "TRAILER!!!" instead of any empty data
35640 block to detect last block of a cpio stream.
35641 (grub_cpio_dir): Fix constness of variable np.
35642 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35643 cpio or tar trailer is detected. This fixes a crash
35644 on open of a non existing file.
35645
c32865bf 356462008-02-05 Bean <bean123ch@gmail.com>
35647
35648 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35649 address of entry.
35650 (grub_multiboot_load_elf64): Likewise.
35651 (grub_multiboot): Initialize mbi structure.
35652
35653 * util/grub-fstest.c: Don't include unused header file script.h.
35654
fe6b695a 35655 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35656 of file.
35657 (grub_fstest_SOURCES): Likewise.
35658
409480b7 356592008-02-05 Robert Millan <rmh@aybabtu.com>
35660
35661 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35662 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35663 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35664 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35665
35666 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35667 (translation_table): Replace hardcoded values with macros
35668 provided by `<grub/term.h>'.
35669
35670 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35671 (keyboard_map): Correct/add a few values, with macros provided
35672 by `<grub/term.h>'.
35673 (keyboard_map_shift): Zero values that don't differ from their
35674 `keyboard_map' equivalents.
35675 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35676 Discard the second scan code that is always sent by Caps lock.
35677 Only use `keyboard_map_shift' when it provides a non-zero value,
35678 otherwise fallback to `keyboard_map'.
35679
99fadbaa 356802008-02-04 Bean <bean123ch@gmail.com>
35681
35682 * Makefile.in (enable_grub_fstest): New variable.
35683
35684 * conf/common.rmk (grub_fstest_init.lst): New rule.
35685 (grub_fstest_init.h): Likewise.
35686 (grub_fstest_init.c): Likewise.
35687 (util/grub-fstest.c_DEPENDENCIES): New variable.
35688 (grub_fstest_SOURCES): Likewise.
35689
35690 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35691
35692 * util/grub-fstest.c: New file.
35693
bf567c50 356942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35695
35696 Make grub-setup handle a separate root device.
f19dbdb7 35697
bf567c50 35698 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35699 so that the root device can be compared with the destination
35700 device.
35701 When embedding the core image, if the root and destination devices
35702 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35703 0xFF.
35704 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35705
9be6b98b 357062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35707
35708 Add support for having a grub directory in a different drive. This
35709 is still only the data handling part.
f19dbdb7 35710
9be6b98b 35711 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35712 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35713 (grub_root_drive): New variable.
35714
35715 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35716 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35717 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35718 as it was.
35719
35720 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35721
35722 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35723 macro.
35724 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35725
35726 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35727 is bogus, because PXE booting does not specify any drive
35728 correctly.
35729
35730 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35731 am not sure if this is really correct.
35732
35733 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35734 is always identical to the boot drive when booting from a CD.
35735
35736 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35737 longer.
35738 (root_drive): New variable.
35739 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35740 (setup_sectors): Push %dx right after popping it, because %dh will
35741 be modified later.
35742 (copy_buffer): Restore %dx.
35743
e0ca0677 357442008-02-03 Robert Millan <rmh@aybabtu.com>
35745
35746 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35747 use `cdboot.img' for cdrom images.
35748
3b3f6629 357492008-02-03 Robert Millan <rmh@aybabtu.com>
35750
35751 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35752 only setup gfxterm when `font' command has succeeded.
35753
d42b3672 357542008-02-03 Robert Millan <rmh@aybabtu.com>
35755
35756 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35757 (grub_rescue_cmd_multiboot_loader)
35758 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35759
fa370ea6 357602008-02-03 Pavel Roskin <proski@gnu.org>
35761
e0c5dacb 35762 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35763 %edx and %esi from stack only after grub_gate_a20() is called.
35764 grub_gate_a20() clobbers %edx.
35765
f2a76e1d 357662008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35767
35768 * configure.ac (AC_INIT): Bumped to 1.96.
35769
35770 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35771 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35772 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35773 video/readers/png.c.
35774
90fd32d1 357752008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35776
35777 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35778 (cdboot_img_SOURCES): New variable.
35779 (cdboot_img_ASFLAGS): New variable.
35780 (cdboot_img_LDFLAGS): New variable.
35781
35782 * boot/i386/pc/cdboot.S: New file.
35783
35784 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35785 (cd_count): Likewise.
35786 (grub_biosdisk_get_drive): Add support for cd device.
35787 (grub_biosdisk_call_hook): Likewise.
35788 (grub_biosdisk_iterate): Likewise.
35789 (grub_biosdisk_open): Likewise.
35790 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35791 (grub_biosdisk_rw): Support reading from cd device.
35792 (GRUB_MOD_INIT): Iterate cd devices.
35793
35794 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35795 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35796 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35797
35798 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35799
4020aa53 358002008-02-02 Robert Millan <rmh@aybabtu.com>
35801
35802 * commands/read.c: New file.
35803 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35804 (read_mod_SOURCES): New variable.
35805 (read_mod_CFLAGS): Likewise.
35806 (read_mod_LDFLAGS): Likewise.
35807
e03a1132 358082008-02-02 Robert Millan <rmh@aybabtu.com>
35809
35810 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35811 determining whether menu has to be displayed.
35812
58c69220 358132008-02-02 Marco Gerards <marco@gnu.org>
35814
35815 * bus/pci.c: New file.
35816
35817 * include/grub/pci.h: Likewise.
35818
35819 * include/grub/i386/pc/pci.h: Likewise.
35820
35821 * commands/lspci.c: Likewise.
35822
35823 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35824 `lspci.mod'.
35825 (pci_mod_SOURCES): New variable.
35826 (pci_mod_CFLAGS): Likewise.
35827 (pci_mod_LDFLAGS): Likewise.
35828 (lspci_mod_SOURCES): Likewise.
35829 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35830 (lspci_mod_LDFLAGS): Likewise.
58c69220 35831
c004e1b4 358322008-02-02 Bean <bean123ch@gmail.com>
35833
35834 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35835 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35836
35837 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35838 (grub_xfs_btree_node): New structure.
35839 (grub_xfs_btree_root): New structure.
35840 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35841 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35842 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35843 (GRUB_XFS_EXTENT_SIZE): Likewise.
35844 (grub_xfs_read_block): Support btree format type.
35845 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35846 Use directory block as basic unit.
35847
35848 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35849
35850 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35851 __attribute__ ((__regparm__ (1))).
35852
f95562bf 358532008-02-01 Robert Millan <rmh@aybabtu.com>
35854
35855 Correct a mistake in previous commit.
35856
35857 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35858 top.
35859 (normal/command.c_DEPENDENCIES): New variable.
35860
7d31f41f 358612008-02-01 Robert Millan <rmh@aybabtu.com>
35862
35863 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35864 top.
35865 (normal/command.c_DEPENDENCIES): New variable.
35866 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35867 * conf/i386-ieee1275.rmk: Likewise.
35868 * conf/i386-linuxbios.rmk: Likewise.
35869 * conf/i386-pc.rmk: Likewise.
35870 * conf/sparc64-ieee1275.rmk: Likewise.
35871 * conf/powerpc-ieee1275.rmk: Likewise.
35872 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35873
35874 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35875
60b6be74 358762008-02-01 Robert Millan <rmh@aybabtu.com>
35877
35878 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35879 call at beginning of function.
35880
078522ab 358812008-01-31 Pavel Roskin <proski@gnu.org>
35882
35883 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35884 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35885 (grub_mkrescue_SOURCES): Likewise.
078522ab 35886 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35887
ccaa8a5f 358882008-01-30 Robert Millan <rmh@aybabtu.com>
35889
35890 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35891 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35892 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35893 (grub_probe_SOURCES): ... to here.
35894
35895 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35896 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35897 * conf/i386-ieee1275.rmk: Likewise.
35898 * conf/i386-linuxbios.rmk: Likewise.
35899 * conf/powerpc-ieee1275.rmk: Likewise.
35900
ae5a9cd7 359012008-01-30 Tristan Gingold <gingold@free.fr>
35902
35903 * kern/rescue.c: Silently accept empty lines.
35904
70bc2ef2 359052008-01-29 Bean <bean123ch@gmail.com>
35906
35907 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35908 (real_code_2): Code cleanup and change comment style.
35909 (move_memory): Avoid using 32-bit address mode.
35910
6a4d50ea 359112008-01-29 Bean <bean123ch@gmail.com>
35912
35913 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35914 (png_mod_SOURCES): New variable.
35915 (png_mod_CFLAGS): Likewise.
35916 (png_mod_LDFLAGS): Likewise.
35917
35918 * video/readers/png.c: New file.
35919
11cc30ac 359202008-01-28 Robert Millan <rmh@aybabtu.com>
35921
35922 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35923 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35924 `ifndef GRUB_MOD_GAP' hack.
35925 * util/elf/grub-mkimage.c (add_segments): Likewise.
35926
3abc589f 359272008-01-27 Robert Millan <rmh@aybabtu.com>
35928
35929 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35930 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35931 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35932
e1907778 359332008-01-27 Robert Millan <rmh@aybabtu.com>
35934
35935 Get grub-emu to build again (including parallel builds).
35936
35937 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35938 Split into ...
35939 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35940 (normal/execute.c_DEPENDENCIES): ... this, ...
35941 (grub-emu_DEPENDENCIES): ... and this.
35942
35943 * conf/i386-efi.rmk: Likewise.
35944 * conf/i386-linuxbios.rmk: Likewise.
35945 * conf/i386-ieee1275.rmk: Likewise.
35946 * conf/powerpc-ieee1275.rmk: Likewise.
35947 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35948
2216b101 359492008-01-27 Robert Millan <rmh@aybabtu.com>
35950
35951 * NEWS: Add a few items.
35952
f75172d9 359532008-01-27 Robert Millan <rmh@aybabtu.com>
35954
35955 Fix parallel builds with grub-emu. Based on earlier commit for
35956 grub-probe and grub-setup.
35957
35958 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35959 (util/grub-emu.c_DEPENDENCIES): ... this.
35960 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35961 (util/grub-emu.c_DEPENDENCIES): ... this.
35962 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35963 (util/grub-emu.c_DEPENDENCIES): ... this.
35964 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35965 (util/grub-emu.c_DEPENDENCIES): ... this.
35966 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35967 (util/grub-emu.c_DEPENDENCIES): ... this.
35968
3f51de77 359692008-01-27 Pavel Roskin <proski@gnu.org>
35970
35971 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35972 to create a gap between _end and the modules added to the image
35973 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35974 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35975 * util/elf/grub-mkimage.c (add_segments): Likewise.
35976
2033f53e 359772008-01-26 Pavel Roskin <proski@gnu.org>
35978
35979 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35980 just return an error.
35981
22da1f6f 359822008-01-26 Bean <bean123ch@gmail.com>
35983
35984 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35985 (grub_reiserfs_get_item): Save offset of the next item.
35986 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35987
2a9525e6 359882008-01-25 Robert Millan <rmh@aybabtu.com>
35989
35990 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35991 make all filesystem sources appear together (possibly fixing omissions
35992 while at it).
35993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35995 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35997
35998 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35999 add `kern/file.c'.
36000 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36001 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36002 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36003 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36004
36005 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36006 (probe): Add a sanity check to make sure of our ability to read
36007 requested files when probing for filesystem type.
36008
36009 * genmk.rb: Update copyright year (2007).
36010
36011 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36012 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36013 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36014 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36015 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36016 : Remove function prototypes.
36017
b95f71b5 360182008-01-25 Robert Millan <rmh@aybabtu.com>
36019
36020 Revert my previous commits (based on wrong assumption of how grub_errno
36021 works).
36022
fe6b695a 36023 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36024 * kern/file.c (grub_file_open): Likewise.
36025
d08bbb49 360262008-01-24 Pavel Roskin <proski@gnu.org>
36027
36028 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36029 that hang if GRUB tries to setup colors.
36030 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36031 colors for firmwares that don't support it.
36032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36033 Recognize Open Hack'Ware, set flags to work around its
36034 limitations.
36035
605e36ed 360362008-01-24 Robert Millan <rmh@aybabtu.com>
36037
36038 * kern/file.c (grub_file_open): Do not account previous failures of
36039 unrelated functions when grub_errno is checked for.
36040 Reported by Oleg Strikov.
36041
bac332a1 360422008-01-24 Bean <bean123ch@gmail.com>
36043
36044 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36045 (grub_ufs_sblock): New member volume name.
36046 (grub_ufs_find_file): Fix string copy bug.
36047 (grub_ufs_label): Implement this function properly.
36048
36049 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36050 (grub_hfs_iterate_records): Use the correct file number for extents
36051 and catalog file. Fix problem in next index calculation.
36052 (grub_hfs_find_node): Replace recursive function call with loop.
36053 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36054
15c80c09 360552008-01-23 Robert Millan <rmh@aybabtu.com>
36056
36057 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36058 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36059 (grub_multiboot2_real_boot): New function prototype.
36060
36061 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36062 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36063
36064 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36065 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36066
305338fd 360672008-01-23 Robert Millan <rmh@aybabtu.com>
36068
36069 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36070 #ifdef'ed out grub_printf().
36071
3ea52685 360722008-01-23 Robert Millan <rmh@aybabtu.com>
36073
36074 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36075 grub_dprintf calls, since they make "debug=all" mode unusable.
36076 (grub_console_checkkey): Likewise.
36077
5882ae4b 360782008-01-23 Robert Millan <rmh@aybabtu.com>
36079
36080 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36081 `term/i386/pc/at_keyboard.c'.
36082 (pkglib_MODULES): Add `serial.mod'.
36083 (serial_mod_SOURCES): New variable.
36084 (serial_mod_CFLAGS): Likewise.
36085 (serial_mod_LDFLAGS): Likewise.
36086
36087 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36088 `<grub/powerpc/ieee1275/console.h>'.
36089 (grub_keyboard_controller_init): New function prototype.
36090 (grub_console_checkkey): Likewise.
36091 (grub_console_getkey): Likewise.
36092
36093 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36094 keyboard on i386.
36095
36096 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36097 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36098
06ab5303 360992008-01-23 Robert Millan <rmh@aybabtu.com>
36100
36101 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36102 present, "(memdisk)/boot/grub" becomes the default prefix.
36103
36104 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36105 a memdisk tarball with all the modules. Add --overlay=DIR option that
36106 allows users to overlay additional files into the image.
36107
dbb475a4 361082008-01-23 Robert Millan <rmh@aybabtu.com>
36109
36110 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36111 and `machine/memory.h'.
36112 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36113 (_multiboot_mod_SOURCES): New variable.
36114 (_multiboot_mod_CFLAGS): Likewise.
36115 (_multiboot_mod_LDFLAGS): Likewise.
36116 (multiboot_mod_SOURCES): Likewise.
36117 (multiboot_mod_CFLAGS): Likewise.
36118 (multiboot_mod_LDFLAGS): Likewise.
36119
36120 * include/grub/i386/ieee1275/loader.h: New file.
36121
36122 * include/grub/i386/ieee1275/machine.h: Likewise.
36123
36124 * include/grub/i386/ieee1275/memory.h: Likewise.
36125
36126 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36127 variable declaration.
36128 (grub_os_area_size): Likewise.
36129
36130 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36131 (grub_lower_mem, grub_upper_mem): New variables.
36132 (grub_stop_floppy): New function (just to make
36133 grub_multiboot2_real_boot() happy).
36134
36135 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36136 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36137 (grub_stop): New function.
36138 Include `"../realmode.S"' and `"../loader.S"'.
36139
36140 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36141 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36142
36143 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36144 rely on grub_multiboot2_real_boot() for final boot.
36145
25638629 361462008-01-22 Robert Millan <rmh@aybabtu.com>
36147
36148 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36149 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36150 device that doesn't look like an SD card.
36151 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36152 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36153 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36154 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36155 found.
36156
9dad816d 361572008-01-22 Robert Millan <rmh@aybabtu.com>
36158
36159 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36160 avoid claiming over our own code.
36161
34842f2d 361622008-01-22 Bean <bean123ch@gmail.com>
36163
36164 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36165 (jpeg_mod_SOURCES): New variable.
36166 (jpeg_mod_CFLAGS): Likewise.
36167 (jpeg_mod_LDFLAGS): Likewise.
36168
36169 * video/readers/jpeg.c : New file.
36170
44023a28 361712008-01-22 Bean <bean123ch@gmail.com>
36172
36173 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36174 there are no more items.
36175
bc2d8ac6 361762008-01-21 Robert Millan <rmh@aybabtu.com>
36177
36178 * kern/mm.c (grub_mm_init_region): Improve debug message.
36179
261bd4bc 361802008-01-21 Robert Millan <rmh@aybabtu.com>
36181
36182 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36183 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36184 address.
36185 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36186 a C macro.
36187 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36188 Indicates start of upper memory.
36189 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36190 (generate_image): Abort when image size is big enough to corrupt
36191 upper memory.
36192
36193 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36194 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36195 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36196 instead of hardcoding 0xA0000.
36197 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36198 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36199 instead of hardcoding 0xA0000.
36200
f970b55e 362012008-01-21 Robert Millan <rmh@aybabtu.com>
36202
36203 * disk/memdisk.c (memdisk_size): New variable.
36204 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36205 `memdisk_size'.
36206 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36207 image to dynamic memory.
36208 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36209 `memdisk_size'. Free memdisk block.
36210
1a8b0526 362112008-01-21 Robert Millan <rmh@aybabtu.com>
36212
36213 Fix detection of very small filesystems (like tar).
36214
36215 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36216 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36217 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36218 a problem with this disk).
36219
6e9b4aab 362202008-01-21 Robert Millan <rmh@aybabtu.com>
36221
36222 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36223 on grub_biosdisk_rw_standard() error.
36224
0d8837b2 362252008-01-21 Robert Millan <rmh@aybabtu.com>
36226
36227 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36228 recent changes.
36229 * kern/elf.c: Likewise.
36230 * kern/ieee1275/ieee1275.c: Likewise.
36231 * kern/powerpc/ieee1275/openfw.c: Likewise.
36232 * term/ieee1275/ofconsole.c: Likewise.
36233
ffd36e34 362342008-01-21 Robert Millan <rmh@aybabtu.com>
36235
36236 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36237
3f0093d0 36238 * include/grub/kernel.h (grub_arch_memdisk_addr)
36239 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36240
3f0093d0 36241 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36242 (grub_arch_memdisk_size): ... to here.
ffd36e34 36243
6c391b21 362442008-01-21 Robert Millan <rmh@aybabtu.com>
36245
36246 Mostly based on bugfix from Bean.
36247
36248 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36249 attribute with hook() parameter.
36250 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36251 declaration.
36252 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36253 attribute with hook() parameter.
36254 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36255 declaration.
36256
55a581dc 362572008-01-21 Robert Millan <rmh@aybabtu.com>
36258
36259 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36260 (pkglib_MODULES): Add `memdisk.mod'.
36261 (memdisk_mod_SOURCES): New variable.
36262 (memdisk_mod_CFLAGS): Likewise.
36263 (memdisk_mod_LDFLAGS): Likewise.
36264
36265 * disk/memdisk.c: New file.
36266
36267 * include/grub/disk.h (grub_disk_dev_id): Add
36268 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36269
36270 * include/grub/i386/pc/kernel.h
36271 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36272 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36273 (grub_kernel_image_size): New variable declaration.
36274 (grub_total_module_size): Likewise.
36275 (grub_memdisk_image_size): Likewise.
36276
36277 * include/grub/i386/pc/memory.h
36278 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36279
36280 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36281 (grub_arch_memdisk_addr): New variable declaration.
36282 (grub_arch_memdisk_size): Likewise.
36283
36284 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36285 (grub_arch_memdisk_size): Likewise.
36286
36287 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36288 (codestart): Replace hardcoded `0x100000' with
36289 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36290
36291 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36292 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36293 not NULL, append the contents of the file it refers to, at the end of
36294 the compressed kernel image. Initialize `grub_memdisk_image_size'
36295 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36296 (options): Add "memdisk"|'m' option.
36297 (main): Parse --memdisk|-m option, and pass user-provided path as
36298 parameter to generate_image().
36299
3d7f54c9 363002008-01-20 Robert Millan <rmh@aybabtu.com>
36301
36302 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36303 grub_dprintf() calls from here ...
36304 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36305
0bf74728 363062008-01-20 Robert Millan <rmh@aybabtu.com>
36307
36308 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36309
36310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36311 declaration.
36312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36313 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36314 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36315 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36316 property).
36317 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36318 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36319
33bf70a7 363202008-01-19 Robert Millan <rmh@aybabtu.com>
36321
fe6b695a 36322 Get rid of confusing function (superseded by
33bf70a7 36323 `grub_ieee1275_get_integer_property')
36324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36325 prototype.
36326 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36327 function.
36328 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36329 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36330 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36331
e2da7d26 363322008-01-19 Robert Millan <rmh@aybabtu.com>
36333
36334 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36335 command after "shut-down", since implementations differ on which
36336 the command for halt is.
36337
59f1fd8d 363382008-01-19 Robert Millan <rmh@aybabtu.com>
36339
36340 * include/grub/i386/linuxbios/console.h: Add header protection.
36341 (grub_keyboard_controller_init): New function prototype.
36342 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36343 (KEYBOARD_COMMAND_READ): Likewise.
36344 (KEYBOARD_COMMAND_WRITE): Likewise.
36345 (KEYBOARD_SCANCODE_SET1): Likewise.
36346 (grub_keyboard_controller_write): New function.
36347 (grub_keyboard_controller_read): Likewise.
36348 (grub_keyboard_controller_init): Likewise.
36349
36350 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36351 (grub_console_init): On coreboot/LinuxBIOS, call
36352 grub_keyboard_controller_init().
36353
5f5a7c15 363542008-01-19 Robert Millan <rmh@aybabtu.com>
36355
36356 PowerPC changes provided by Pavel Roskin.
36357
36358 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36359 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36360 don't rely on cmain() doing it.
36361 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36362 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36363
1210e168 363642008-01-16 Robert Millan <rmh@aybabtu.com>
36365
36366 * include/grub/i386/linuxbios/memory.h
36367 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36368 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36369 receive `table_header' as argument. Instead, probe for it in the
36370 known memory ranges where it can be present.
36371 (grub_available_iterate): Do not pass a fixed `table_header' address
36372 to grub_linuxbios_table_iterate().
36373
3d04eab8 363742008-01-15 Robert Millan <rmh@aybabtu.com>
36375
36376 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36377 * conf/i386-ieee1275.rmk: New file.
36378 * include/grub/i386/ieee1275/console.h: Likewise.
36379 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36380 * include/grub/i386/ieee1275/kernel.h: Likewise.
36381 * include/grub/i386/ieee1275/time.h: Likewise.
36382 * kern/i386/ieee1275/init.c: Likewise.
36383 * kern/i386/ieee1275/startup.S: Likewise.
36384
d1bc1b73 363852008-01-15 Robert Millan <rmh@aybabtu.com>
36386
36387 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36388 when pointers are 32-bit (but still do set it to one when they are
36389 64-bit).
36390
66a65807 363912008-01-15 Robert Millan <rmh@aybabtu.com>
36392
36393 * include/grub/ieee1275/ieee1275.h
36394 (grub_ieee1275_get_integer_property): New function prototype.
36395
36396 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36397 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36398 grub_ieee1275_get_property() to handle endianness.
66a65807 36399
36400 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36401 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36402 where appropriate.
66a65807 36403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36404 (grub_map): Likewise.
36405 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36406
a83ccafd 364072008-01-15 Bean <bean123ch@gmail.com>
36408
36409 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36410 (grub_script_execute_cmdline): Reset grub_errno.
36411
36412 * normal/main.c (read_config_file): Reset grub_errno.
36413
36414 * normal/parse.y (script_init): New.
36415 (script): Move function and menuentry here.
36416 (delimiter): New.
36417 (command): Add delimiter at the end of command.
36418 (commands): Adjust to match the new command.
36419 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36420 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36421 (if): Use the new commands.
36422
36423 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36424
df6ecfc6 364252008-01-15 Robert Millan <rmh@aybabtu.com>
36426
36427 * normal/menu.c (run_menu): Move timeout message from here ...
36428 (print_timeout): ... to here.
36429 (run_menu): Use print_timeout() once during initial draw to print
36430 the whole message, and again in every clock tick to update only
36431 the number of seconds.
36432
87ae25eb 364332008-01-15 Robert Millan <rmh@aybabtu.com>
36434
36435 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36436 actual size of `available' from grub_ieee1275_get_property(), and
36437 restrict parsing to that bound.
36438
47bf09a4 364392008-01-15 Christian Franke <franke@computer.org>
36440
36441 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36442 (argp_program_version): Remove variable.
36443 (argp_program_bug_address): Likewise.
36444 (options): Convert from struct argp_option to struct option.
36445 (struct arguments): Remove.
36446 (parse_opt): Remove.
36447 (usage): New function.
36448 (main): Replace struct args members by simple variables.
36449 Replace argp_parse() by getopt_long().
36450 Add switch to evaluate options.
36451 Add missing "(...)" around root_dev in prefix string.
36452
c86f1469 364532008-01-14 Robert Millan <rmh@aybabtu.com>
36454
36455 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36456 for grub_ieee1275_exit(), in order to improve portability.
36457
e622c559 364582008-01-14 Robert Millan <rmh@aybabtu.com>
36459
36460 * util/grub.d/10_linux.in (prefix): Define.
36461 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36462
44cb1ec8 364632008-01-13 Pavel Roskin <proski@gnu.org>
36464
36465 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36466 grub_errno if no errors have been detected.
36467
1eb8c802 364682008-01-12 Robert Millan <rmh@aybabtu.com>
36469
36470 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36471 (grub_util_get_dev_abstraction): New function prototype.
36472
36473 * util/getroot.c: Include `<grub/util/getroot.h>'
36474 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36475 (grub_util_get_dev_abstraction): ... here (new function).
36476
36477 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36478 `PRINT_ABSTRACTION'.
36479 (probe): Probe for abstraction type when requested.
36480 (main): Understand `--target=abstraction'.
36481
36482 * util/i386/efi/grub-install.in: Add abstraction module to core
36483 image when it is found to be necessary.
36484 * util/i386/pc/grub-install.in: Likewise.
36485 * util/powerpc/ieee1275/grub-install.in: Likewise.
36486
36487 * util/update-grub_lib.in (font_path): Return system path without
36488 converting to GRUB path.
36489 * util/update-grub.in: Convert system path returned by font_path()
36490 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36491 abstraction module is needed for loading fonts (if any). Export
36492 that as `GRUB_PRELOAD_MODULES'.
36493 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36494 insmod commands).
36495
52bd3de9 364962008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36497
36498 Remove some unused code from reiserfs.
f19dbdb7 36499
52bd3de9 36500 * fs/reiserfs.c (struct grub_reiserfs_key)
36501 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36502 (struct grub_reiserfs_node_body): Removed.
36503 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36504 Likewise.
36505 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36506 Likewise.
36507 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36508 Likewise.
36509 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36510 Likewise.
36511 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36512 Likewise.
36513 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36514 Likewise.
36515 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36516 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36517 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36518
2f80039d 365192008-01-10 Robert Millan <rmh@aybabtu.com>
36520
36521 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36522 Determines if a file is garbage left by packaging systems, etc.
36523 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36524 for processing /etc/grub.d scripts.
36525 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36526 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36527 as a condition for processing Linux images.
36528
87888032 365292008-01-10 Pavel Roskin <proski@gnu.org>
36530
36531 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36532 to compile reiserfs.c on PowerPC.
36533
7e54fced 365342008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36535
36536 * kern/device.c (grub_device_iterate): Do not abort device iteration
36537 when one of the devices cannot be opened.
36538 * kern/disk.c (grub_disk_open): Do not account previous failures of
36539 unrelated functions when grub_errno is checked for.
36540
5aa541e6 365412008-01-08 Robert Millan <rmh@aybabtu.com>
36542
36543 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36544 `! grub_linux_is_bzimage', change order of address comparison to make
36545 it more intuitive, and improve "too big zImage" error message.
36546
7076340d 365472008-01-08 Robert Millan <rmh@aybabtu.com>
36548
36549 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36550 `$(update-grub_DATA)'.
36551 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36552 targets.
36553
9ca70333 365542008-01-07 Robert Millan <rmh@aybabtu.com>
36555
36556 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36557 which instruction is modified by grub-setup during installation
36558 (since it wasn't obvious by only looking at this file).
36559
38ccf575 365602008-01-07 Robert Millan <rmh@aybabtu.com>
36561
36562 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36563 listing actual TODO items.
36564
f5db4291 365652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36566
868967cf 36567 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36568 correctly.
36569 (grub_reiserfs_get_key_offset): Likewise.
36570 (grub_reiserfs_set_key_offset): Likewise.
36571 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36572 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36573
36574 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36575 better to remove the bitfield version completely.
f19dbdb7 36576
868967cf 365772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36578
f5db4291 36579 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36580 allocated from the heap, due to the fshelp implementation.
36581 (grub_reiserfs_dir): Free NODE, due to the same reason.
36582
492e6d9d 365832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36584
36585 Mostly from Vincent Pelletier:
f19dbdb7 36586
492e6d9d 36587 * fs/reiserfs.c: New file.
f19dbdb7 36588
492e6d9d 36589 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36590 (reiserfs_mod_SOURCES): New variable.
36591 (reiserfs_mod_CFLAGS): Likewise.
36592 (reiserfs_mod_LDFLAGS): Likewise.
36593
36594 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36595 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36596 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36597 normal/color.c.
36598
9ce3e7c1 365992008-01-06 Robert Millan <rmh@aybabtu.com>
36600
36601 * normal/color.c: Remove `<grub/env.h>'.
36602
f3b58148 366032008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36604
36605 * include/grub/normal.h: Include <grub/env.h>.
36606
7ac3bcfa 366072008-01-05 Robert Millan <rmh@aybabtu.com>
36608
36609 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36610 usage example with `(hd0,1)'.
fb358190 36611 Reported by Samuel Thibault.
7ac3bcfa 36612
c8ee99d7 366132008-01-05 Robert Millan <rmh@aybabtu.com>
36614
36615 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36616 (grub_linux_boot_zimage): Rename to ...
36617 (grub_linux_boot): ... this.
36618 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36619 (grub_linux_boot_zimage): Conditionalize zImage copy.
36620
36621 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36622 (grub_linux_boot_bzimage): Remove prototype.
36623 (grub_linux_boot_zimage): Rename to ...
36624 (grub_linux_boot): ... this.
36625
36626 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36627 (grub_linux_boot): Remove function.
36628
0ece25b1 366292008-01-05 Robert Millan <rmh@aybabtu.com>
36630
36631 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36632 (grub_env_write_color_highlight): Likewise.
36633 (grub_wait_after_message): Likewise.
36634
36635 * normal/color.c: New file.
36636
36637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36638 (normal_mod_DEPENDENCIES): Likewise.
36639
36640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36641 (normal_mod_DEPENDENCIES): Likewise.
36642
36643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36644 (normal_mod_DEPENDENCIES): Likewise.
36645
36646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36647 (normal_mod_DEPENDENCIES): Likewise.
36648
36649 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36650 for waiting after a message is printed.
36651 * normal/main.c (read_config_file): Likewise.
36652 (grub_normal_init): Register grub_env_write_color_normal() and
36653 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36654 `color_highlight' variables as global.
36655
36656 * normal/menu.c (grub_wait_after_message): New function.
36657 (grub_color_menu_normal): New variable. Replaces ...
36658 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36659 (grub_color_menu_highlight): New variable. Replaces ...
36660 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36661 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36662 `GRUB_TERM_COLOR_STANDARD'.
36663 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36664 `normal_code' and `highlight_code' to `old_color_normal' and
36665 `old_color_highlight', respectively.
36666 (grub_menu_init_page): Update colors when drawing the menu, based on
36667 `menu_color_normal' and `menu_color_highlight' variables.
36668 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36669 a message is printed.
36670
182dd4e5 366712008-01-05 Robert Millan <rmh@aybabtu.com>
36672
36673 * kern/env.c (grub_env_context_open): Propagate hooks for global
36674 variables to new context.
36675
36676 * kern/main.c (grub_set_root_dev): Export `root' variable.
36677
ddf8f6ad 366782008-01-05 Robert Millan <rmh@aybabtu.com>
36679
36680 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36681 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36682 them.
36683
d8b43d9b 366842008-01-05 Robert Millan <rmh@aybabtu.com>
36685
36686 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36687
2bff2de3 366882008-01-04 Christian Franke <franke@computer.org>
36689
36690 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36691 of eisa_mmap.
36692
97eab917 366932008-01-03 Pavel Roskin <proski@gnu.org>
36694
36695 * kern/i386/linuxbios/init.c: Put "void" to all function
36696 declarations with no arguments.
36697 * kern/powerpc/ieee1275/init.c: Likewise.
36698 * term/i386/pc/at_keyboard.c: Likewise.
36699 * term/i386/pc/vga_text.c: Likewise.
36700 * util/grub-mkdevicemap.c: Likewise.
36701
b9416d00 367022008-01-02 Robert Millan <rmh@aybabtu.com>
36703
36704 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36705 message when loaded image is out of bounds.
36706 (grub_multiboot_load_elf64): Likewise.
36707
92695df9 367082008-01-02 Pavel Roskin <proski@gnu.org>
36709
36710 * util/grub.d/10_linux.in: Try version without ".old" when
36711 looking for initrd. It's better to use initrd from the newer
36712 kernel of the same version than no initrd at all.
36713
d98d9cad 367142008-01-01 Robert Millan <rmh@aybabtu.com>
36715
36716 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36717
dbfdce36 367182008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36719
f19dbdb7 36720 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36721 grub_video_get_active_render_target.
36722 (grub_video_adapter): Added unmap_color and get_active_render_target.
36723
f19dbdb7 36724 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36725 grub_video_get_active_render_target.
36726 (grub_video_get_info): Changed method to accept NULL pointer as an
36727 argument to allow detection of active video adapter.
36728
36729 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36730 grub_video_vbe_unmap_color_int.
36731 Added grub_video_vbe_unmap_color and
36732 grub_video_vbe_get_active_render_target.
36733 (grub_video_vbe_adapter): Added unmap_color and
36734 get_active_render_target.
36735
f19dbdb7 36736 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36737 with grub_video_vbe_unmap_color_int.
36738
36739 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36740 (DEFAULT_NORMAL_COLOR): Likewise.
36741 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36742 (DEFAULT_FG_COLOR): Removed.
36743 (DEFAULT_BG_COLOR): Likewise.
36744 (DEFAULT_CURSOR_COLOR): Changed value.
36745 (grub_virtual_screen): Added standard_color_setting,
36746 normal_color_setting, highlight_color_setting and term_color.
36747 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36748 (bitmap_width): Added.
36749 (bitmap_height): Likewise.
36750 (bitmap): Likewise.
36751 (set_term_color): Likewise.
36752 (grub_virtual_screen_setup): Changed to use new terminal coloring
36753 settings.
36754 (grub_gfxterm_init): Added init for bitmap.
36755 (grub_gfxterm_fini): Added destroy for bitmap.
36756 (redraw_screen_rect): Updated to use background bitmap and new
36757 terminal coloring.
36758 (scroll_up): Added optimization for case when there is no bitmap.
36759 (grub_gfxterm_cls): Fixed to use correct background color.
36760 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36761 coloring.
36762 (grub_virtual_screen_setcolor): Likewise.
36763 (grub_virtual_screen_getcolor): Added.
36764 (grub_gfxterm_background_image_cmd): Likewise.
36765 (grub_video_term): Added setcolor and getcolor.
36766 (MOD_INIT): Added registration of background_image command.
36767 (MOD_TERM): Added unregistration for background_image command.
36768
c3c20931 367692007-12-30 Pavel Roskin <proski@gnu.org>
36770
36771 * loader/multiboot_loader.c: Fix multiboot command
36772 unregistration. Fix all typos in the word "multiboot".
36773
df266716 367742007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36775
36776 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36777 support for initrd names used in Fedora.
36778
fc6e896c 367792007-12-26 Bean <bean123ch@gmail.com>
36780
36781 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36782 (cpio_mod_SOURCES): New variable.
36783 (cpio_mod_CFLAGS): Likewise.
36784 (cpio_mod_LDFLAGS): Likewise.
36785
36786 * fs/cpio.c: New file.
36787
36788 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36789
36790 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36791
36792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36793
36794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36795
533110ad 367962007-12-25 Robert Millan <rmh@aybabtu.com>
36797
36798 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36799 (grub_getcolor): New function.
36800
36801 * kern/term.c (grub_getcolor): New function.
36802 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36803 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36804 (print_entry): Set normal and highlight colors to
36805 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36806 respectively, before printing and restore them to old
36807 values afterwards.
36808 (grub_menu_init_page): Likewise. Fill an additional colored space
36809 that would otherwise be left blank.
36810
36811 * term/efi/console.c (grub_console_getcolor): New function.
36812 (struct grub_console_term.getcolor): New variable.
36813 * term/i386/pc/console.c (grub_console_getcolor): New function.
36814 (struct grub_console_term.getcolor): New variable.
36815 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36816 (struct grub_console_term.getcolor): New variable.
36817
36818 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36819 (struct grub_console_term.setcolor): Remove variable.
36820 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36821 (struct grub_console_term.setcolor): Remove variable.
36822 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36823 (struct grub_console_term.setcolor): Remove variable.
36824 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36825 (struct grub_console_term.setcolor): Remove variable.
36826
4931827f 368272007-12-25 Robert Millan <rmh@aybabtu.com>
36828
36829 * configure.ac: Search for possible unifont.hex locations, and
36830 define UNIFONT_HEX if found.
36831
36832 * Makefile.in (UNIFONT_HEX): Define variable.
36833 (DATA): Rename to ...
36834 (PKGLIB): ... this. Update all users.
36835 (PKGDATA): New variable.
36836 (pkgdata_IMAGES): Rename to ...
36837 (pkglib_IMAGES): ... this. Update all users.
36838 (pkgdata_MODULES): Rename to ...
36839 (pkglib_MODULES): ... this. Update all users.
36840 (pkgdata_PROGRAMS): Rename to ...
36841 (pkglib_PROGRAMS): ... this. Update all users.
36842 (pkgdata_DATA): Rename to ...
36843 (pkglib_DATA): ... this. Update all users.
36844 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36845 (unicode.pff, ascii.pff): New rules.
36846 (all-local): Add `$(PKGDATA)' dependency.
36847 (install-local): Process `$(PKGDATA)'.
36848
36849 * util/update-grub_lib.in (font_path): Search for *.pff files in
36850 a few more locations, including `${pkgdata}'.
36851
57e57e31 368522007-12-23 Robert Millan <rmh@aybabtu.com>
36853
36854 Patch from Bean <bean123ch@gmail.com>:
36855 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36856 `size'.
36857
4bc72aa9 368582007-12-21 Bean <bean123ch@gmail.com>
36859
36860 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36861 (ntfscomp_mod_SOURCES): New variable.
36862 (ntfscomp_mod_CFLAGS): Likewise.
36863 (ntfscomp_mod_LDFLAGS): Likewise.
36864
36865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36866 (grub_probe_SOURCES): Likewise.
36867 (grub_emu_SOURCES): Likewise.
36868
36869 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36870 (grub_emu_SOURCES): Likewise.
36871
36872 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36873 (grub_emu_SOURCES): Likewise.
36874
36875 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36876 (grub_emu_SOURCES): Likewise.
36877
36878 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36879 (read_run_list): Renamed to grub_ntfs_read_run_list.
36880 (decomp_nextvcn): Moved to ntfscomp.c.
36881 (decomp_getch): Likewise.
36882 (decomp_get16): Likewise.
36883 (decomp_block): Likewise.
36884 (read_block): Likewise.
36885 (read_data): Partially moved to ntfscomp.c.
36886 (fixup): Change unsigned to grub_uint16_t.
36887 (read_mft): Change unsigned long to grub_uint32_t.
36888 (read_attr): Likewise.
36889 (read_data): Likewise.
36890 (read_run_data): Likewise.
36891 (read_run_list): Likewise.
36892 (read_mft): Likewise.
36893
36894 * fs/ntfscomp.c: New file.
36895
36896 * include/grub/ntfs.h: New file.
36897
af680a87 368982007-12-16 Robert Millan <rmh@aybabtu.com>
36899
36900 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36901 IDE disk check, since Linux is known to support 20 IDE disks.
36902 Reported by Colin Watson.
36903
84be7599 369042007-12-15 Bean <bean123ch@gmail.com>
36905
36906 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36907 (lnxboot_img_SOURCES): New variable.
36908 (lnxboot_img_ASFLAGS): Likewise.
36909 (lnxboot_img_LDFLAGS): Likewise.
36910
36911 * boot/i386/pc/lnxboot.S: New file.
36912
6af9db01 369132007-11-24 Pavel Roskin <proski@gnu.org>
36914
36915 * configure.ac: Test if '--build-id=none' is supported by the
36916 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36917 objcopy to generate incorrect binary files (binutils
36918 2.17.50.0.18-1 as shipped by Fedora 8).
36919 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36920 linking, so that build ID doesn't break the test.
36921
7361cfe6 369222007-11-24 Pavel Roskin <proski@gnu.org>
36923
36924 * include/grub/i386/time.h: use "void" in the argument list
36925 of grub_cpu_idle().
36926 * include/grub/powerpc/time.h: Likewise.
36927 * include/grub/sparc64/time.h: Likewise.
36928
1593e10c 369292007-11-18 Christian Franke <franke@computer.org>
36930
36931 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36932 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36933 This fixes the problem that function keys did not work in grub-emu.
36934
3b8db1a8 369352007-11-18 Christian Franke <franke@computer.org>
36936
36937 * disk/host.c (grub_host_open): Remove attribute unused from
36938 name parameter. Add check for "host". This fixes the problem
36939 that grub-emu does not find partitions.
36940
2e29408d 369412007-11-18 Christian Franke <franke@computer.org>
36942
36943 * util/hostfs.c (is_dir): New function.
36944 (grub_hostfs_dir): Handle missing dirent.d_type case.
36945 (grub_hostfs_read): Add missing fseek().
36946 (grub_hostfs_label): Clear label pointer. This fixes a crash
36947 of grub-emu on "ls (host)".
36948
398cd047 369492007-11-18 Christian Franke <franke@computer.org>
36950
36951 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36952 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36953 to 64 bit boundary by default.
36954
c405c391 369552007-11-18 Bean <bean123ch@gmail.com>
36956
36957 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36958 (hexdump_mod_SOURCES): New variable.
36959 (hexdump_mod_CFLAGS): Likewise.
36960 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36961
c405c391 36962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36963
36964 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36965
36966 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36967
36968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36969
36970 * include/grub/hexdump.h: New file.
36971
36972 * commands/hexdump.c: New file.
36973
5cced7fd 369742007-11-10 Robert Millan <rmh@aybabtu.com>
36975
36976 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36977 in grub_outb() calls.
36978 (beep_on): Likewise.
36979
8b714eb0 369802007-11-10 Christian Franke <franke@computer.org>
36981
36982 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36983 (grub_menu_run): Likewise.
36984
ce0f1839 369852007-11-10 Robert Millan <rmh@aybabtu.com>
36986
36987 * include/grub/i386/efi/machine.h: New file.
36988 * include/grub/i386/linuxbios/machine.h: Likewise.
36989 * include/grub/i386/pc/machine.h: Likewise.
36990 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36991 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36992
36993 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36994 (serial_hw_io_addr): New variable.
36995 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36996 instead of `(unsigned short *) 0x400'.
36997
270c237d 369982007-11-10 Bean <bean123ch@gmail.com>
36999
37000 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37001
a87783bf 370022007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37003
37004 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37005 (vga_mod_SOURCES): Added.
37006 (vga_mod_CFLAGS): Likewise.
37007 (vga_mod_LDFLAGS): Likewise.
37008
37009 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37010 grub_outb() calls.
37011 (set_map_mask): Likewise.
37012 (set_read_map): Likewise.
37013 (set_read_address): Likewise.
37014 (vga_font): Removed variable.
37015 (get_vga_glyph): Removed function.
37016 (invalidate_char): Likewise.
37017 (write_char): Changed to use grub_font_get_glyph() for font
37018 information.
37019 (grub_vga_putchar): Likewise.
37020 (grub_vga_getcharwidth): Likewise.
37021
6433b448 370222007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37023
37024 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37025 flags.
37026 (pxeboot_img_LDFLAGS): Likewise.
37027 (diskboot_img_LDFLAGS): Likewise.
37028 (kernel_img_LDFLAGS): Likewise.
37029
49178511 370302007-11-06 Robert Millan <rmh@aybabtu.com>
37031
37032 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37033 in grub_outb() calls.
37034 (serial_hw_init): Likewise.
37035
53b052de 370362007-11-05 Robert Millan <rmh@aybabtu.com>
37037
37038 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37039 spaces. Skip non-regular files.
37040
5ab33bba 370412007-11-05 Robert Millan <rmh@aybabtu.com>
37042
37043 * kern/disk.c (grub_disk_firmware_fini)
37044 (grub_disk_firmware_is_tainted): New variables.
37045
37046 * include/grub/disk.h (grub_disk_firmware_fini)
37047 (grub_disk_firmware_is_tainted): Likewise.
37048
37049 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37050 (grub_disk_biosdisk_fini): ... to here.
37051 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37052 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37053 is set. Register grub_disk_biosdisk_fini() in
37054 `grub_disk_firmware_fini'.
37055
37056 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37057 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37058 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37059 to finish existing firmware disk interface.
37060
37061 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37062 (ata_mod_SOURCES): New variable.
37063 (ata_mod_CFLAGS): Likewise.
37064 (ata_mod_LDFLAGS): Likewise.
37065
0149ab7c 370662007-11-05 Robert Millan <rmh@aybabtu.com>
37067
37068 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37069 (grub_ata_wait): Reimplement using grub_millisleep().
37070
37071 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37072 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37073
be7ac41e 370742007-11-03 Marco Gerards <marco@gnu.org>
37075
37076 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37077 (CRTC_ADDR_PORT): New macro.
37078 (CRTC_DATA_PORT): Likewise.
37079 (CRTC_CURSOR): Likewise.
37080 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37081 (CRTC_CURSOR_ADDR_LOW): Likewise.
37082 (update_cursor): New function.
37083 (grub_console_real_putchar): Call `update_cursor'.
37084 (grub_console_gotoxy): Likewise.
37085 (grub_console_cls): Set the default color when clearing the
37086 screen.
37087 (grub_console_setcursor): Implemented.
37088
bb06ab2e 370892007-11-03 Marco Gerards <marco@gnu.org>
37090
37091 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37092 become activate.
37093 (grub_ata_pio_write): Likewise.
37094
37095 (grub_atapi_identify): Wait after issuing an ATA command.
37096 (grub_atapi_packet): Likewise.
37097 (grub_ata_identify): Likewise.
37098 (grub_ata_readwrite): Likewise.
37099
cf8f780b 371002007-11-03 Marco Gerards <marco@gnu.org>
37101
37102 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37103 (grub_ata_pio_write): Likewise.
37104 (grub_ata_readwrite): Use `grub_error', instead of
37105 returning `grub_errno'.
37106
ed649e54 371072007-11-03 Marco Gerards <marco@gnu.org>
37108
37109 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37110 grub_ata_pio_write once for every single sector, instead of for
37111 multiple sectors.
37112
ca25d8f0 371132007-10-31 Robert Millan <rmh@aybabtu.com>
37114
37115 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37116
37117 * conf/i386-linuxbios.rmk: New file.
37118
37119 * kern/i386/pc/hardware.c: Likewise.
37120 * term/i386/pc/at_keyboard.c: Likewise.
37121 * term/i386/pc/vga_text.c: Likewise.
37122
37123 * include/grub/i386/linuxbios/boot.h: Likewise.
37124 * include/grub/i386/linuxbios/console.h: Likewise.
37125 * include/grub/i386/linuxbios/init.h: Likewise.
37126 * include/grub/i386/linuxbios/kernel.h: Likewise.
37127 * include/grub/i386/linuxbios/loader.h: Likewise.
37128 * include/grub/i386/linuxbios/memory.h: Likewise.
37129 * include/grub/i386/linuxbios/serial.h: Likewise.
37130 * include/grub/i386/linuxbios/time.h: Likewise.
37131
37132 * kern/i386/linuxbios/init.c: Likewise.
37133 * kern/i386/linuxbios/startup.S: Likewise.
37134 * kern/i386/linuxbios/table.c: Likewise.
37135
e911ecc1 371362007-10-31 Marco Gerards <marco@gnu.org>
37137
37138 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37139 (ata_mod_SOURCES): New variable.
37140 (ata_mod_CFLAGS): Likewise.
37141 (ata_mod_LDFLAGS): Likewise.
37142
37143 * disk/ata.c: New file.
37144
37145 * include/grub/disk.h (grub_disk_dev_id): Add
37146 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37147
7f66d0e0 371482007-10-31 Robert Millan <rmh@aybabtu.com>
37149
37150 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37151 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37152
37153 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37154 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37155
37156 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37157 `<grub/types.h>'.
37158
37159 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37160
5cd7dd46 371612007-10-27 Robert Millan <rmh@aybabtu.com>
37162
3236ca65 37163 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37164
2ebfc90f 371652007-10-22 Robert Millan <rmh@aybabtu.com>
37166
37167 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37168 `"../realmode.S"'.
37169 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37170
73fcb0f3 371712007-10-22 Robert Millan <rmh@aybabtu.com>
37172
37173 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37174 (pkgdata_MODULES): Add `biosdisk.mod'.
37175 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37176 variables.
37177
37178 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37179 (grub_biosdisk_init): Replace with ...
37180 (GRUB_MOD_INIT(biosdisk)): ... this.
37181 (grub_biosdisk_fini): Replace with ...
37182 (GRUB_MOD_FINI(biosdisk)): ... this.
37183
37184 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37185 (grub_machine_init): Remove call to grub_biosdisk_init().
37186 (grub_machine_fini): Remove call to grub_machine_fini().
37187
37188 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37189
3381d274 371902007-10-22 Robert Millan <rmh@aybabtu.com>
37191
37192 * include/grub/time.h: New file.
37193 * include/grub/i386/time.h: Likewise.
37194 * include/grub/powerpc/time.h: Likewise.
37195 * include/grub/sparc64/time.h: Likewise.
37196
37197 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37198 instances to ...
37199 (KERNEL_MACHINE_TIME_HEADER): ... this.
37200 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37201 instances to ...
37202 (KERNEL_MACHINE_TIME_HEADER): ... this.
37203 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37204 instances to ...
37205 (KERNEL_MACHINE_TIME_HEADER): ... this.
37206
37207 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37208 (grub_millisleep): New function.
37209 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37210 (grub_millisleep): New function.
37211 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37212 Remove `grub/machine/time.h' include.
37213 (grub_millisleep): New function.
37214 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37215 Remove `grub/machine/time.h' include.
37216 (grub_millisleep): New function.
37217
37218 * include/grub/misc.h (grub_div_roundup): New function.
37219
37220 * kern/misc.c: Include `<grub/time.h>'.
37221 (grub_millisleep_generic): New function.
37222
37223 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37224 Add `time.h'.
37225 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37226 Add `time.h'.
37227 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37228 `machine/time.h'. Add `time.h'.
37229 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37230
a39a0312 372312007-10-21 Robert Millan <rmh@aybabtu.com>
37232
37233 * include/grub/misc.h (grub_max): New function.
37234
2aad70e2 372352007-10-21 Robert Millan <rmh@aybabtu.com>
37236
37237 * util/misc.c (grub_util_info): Call fflush() before returning.
37238
54b71c4b 372392007-10-20 Robert Millan <rmh@aybabtu.com>
37240
37241 * genmk.rb (Image): Copy `extra_flags' from here ...
37242 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37243
37244 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37245 to `argc' and `args' arguments.
37246
a979f513 372472007-10-17 Robert Millan <rmh@aybabtu.com>
37248
37249 * kern/i386/loader.S: New file.
37250
37251 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37252 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37253 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37254 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37255 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37256 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37257 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37258 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37259 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37260 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37261 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37262 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37263 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37264 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37265
37266 * kern/i386/realmode.S: New file.
37267
37268 * kern/i386/pc/startup.S (protstack): Moved from here ...
37269 * kern/i386/realmode.S (protstack)... to here.
37270 * kern/i386/pc/startup.S (gdt): Moved from here ...
37271 * kern/i386/realmode.S (gdt)... to here.
37272 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37273 * kern/i386/realmode.S (prot_to_real)... to here.
37274
37275 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37276 `kern/i386/realmode.S'.
37277
825fc8fd 372782007-10-17 Robert Millan <rmh@aybabtu.com>
37279
37280 * include/grub/i386/loader.h: New file.
37281
37282 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37283 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37284 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37285 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37286 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37287 * include/grub/i386/loader.h (grub_linux_prot_size)
37288 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37289 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37290 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37291 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37292
37293 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37294
e179b2f4 372952007-10-15 Robert Millan <rmh@aybabtu.com>
37296
37297 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37298 filesystem when dev->disk is unset.
37299 Do probe for filesystem even when dev->disk->has_partitions is set.
37300 In case a filesystem is found, always report it.
37301 In case it isn't, if dev->disk->has_partitions is set, report that
37302 a partition table was found instead of reporting that no filesystem
37303 could be identified.
37304
5db82af6 373052007-10-12 Robert Millan <rmh@aybabtu.com>
37306
37307 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37308 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37309
68f6ac74 37310 * include/grub/types.h (grub_host_to_target16): New macro.
37311 (grub_host_to_target32): Likewise.
37312 (grub_host_to_target64): Likewise.
37313 (grub_target_to_host16): Likewise.
37314 (grub_target_to_host32): Likewise.
37315 (grub_target_to_host64): Likewise.
5db82af6 37316
37317 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37318 Renamed from to ...
37319 (GRUB_MOD_ALIGN): ...this. Update all users.
37320
68f6ac74 37321 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37322 grub_host_to_target32.
37323 Replace grub_be_to_cpu32 with grub_target_to_host32.
37324 (load_modules): Likewise.
37325 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37326 Replace grub_be_to_cpu32 with grub_target_to_host32.
37327 Replace grub_cpu_to_be16 with grub_host_to_target16.
37328 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37329
3cf497cc 373302007-10-12 Robert Millan <rmh@aybabtu.com>
37331
37332 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37333 * util/elf/grub-mkimage.c: ... here.
37334
37335 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37336 `util/powerpc/ieee1275/grub-mkimage.c'.
37337
c8cc3692 373382007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37339
c8cc3692 37340 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37341 and make it easier to figure out.
37342 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37343 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37344 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37345 leave us with less than HEAP_MIN_SIZE total heap.
37346 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37347
5c58b791 373482007-10-03 Robert Millan <rmh@aybabtu.com>
37349
37350 * include/grub/i386/io.h: New file.
37351 * commands/i386/pc/play.c (inb): Removed.
37352 (outb): Removed.
37353 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37354 with grub_outb().
afcd2ef8 37355 * term/i386/pc/serial.c (inb): Removed.
37356 (outb): Removed.
37357 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37358 with grub_outb().
37359 * term/i386/pc/vga.c (inb): Removed.
37360 (outb): Removed.
37361 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37362 with grub_outb().
5c58b791 37363
1a477ed6 373642007-10-02 Robert Millan <rmh@aybabtu.com>
37365
37366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37368 Reported by Marcin Kurek.
37369
6b5d80fa 373702007-09-07 Robert Millan <rmh@aybabtu.com>
37371
37372 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37373 SmartFirmware version updates (as released by Sven Luther), and avoid
37374 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37375 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37376 known broken.
37377
5618afbf 373782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37379
37380 From Hitoshi Ozeki:
37381 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37382 when merging two regions.
37383
6139dcd9 373842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37385
508e39ee 37386 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37387 * normal/completion.c (grub_normal_do_completion): Likewise.
37388 Reported by Hitoshi Ozeki.
37389
373902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37391
6139dcd9 37392 Do not use devices at boot in chainloading.
f19dbdb7 37393
6139dcd9 37394 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37395 (boot_part_addr): Likewise.
37396 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37397 with BOOT_DRIVE and BOOT_PART_ADDR.
37398 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37399 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37400
38da6516 374012007-08-29 Robert Millan <rmh@aybabtu.com>
37402
37403 Patch from Simon Peter <dn.tlp@gmx.net>:
37404 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37405 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37406 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37407 util/i386/pc/grub-setup.c_DEPENDENCIES.
37408 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37409 util/grub-probe.c_DEPENDENCIES.
37410 * conf/powerpc-ieee1275.rmk: Likewise.
37411
29d0928c 374122007-08-28 Robert Millan <rmh@aybabtu.com>
37413
37414 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37415 to tell grub-mkdevicemap how to name devices.
37416 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37417 feature).
37418
37419 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37420 util/i386/get_disk_name.c.
37421 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37422 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37423 util/ieee1275/get_disk_name.c.
37424
37425 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37426
37427 * DISTLIST: Add util/i386/get_disk_name.c and
37428 util/ieee1275/get_disk_name.c.
37429
37430 * util/grub-mkdevicemap.c: Replace device naming logic with
37431 grub_util_get_disk_name() calls.
37432
5a0d3cca 374332007-08-20 Robert Millan <rmh@aybabtu.com>
37434
37435 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37436 (so that it works for both plural and singular quantities).
37437
8b72db2f 374382007-08-05 Robert Millan <rmh@aybabtu.com>
37439
37440 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37441 so that [xz] isn't taken into account when determining order.
37442
352466bf 374432007-08-02 Marco Gerards <marco@gnu.org>
37444
37445 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37446 `include/multiboot2.h', `include/grub/elfload.h',
37447 `include/multiboot.h', `include/grub/multiboot.h',
37448 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37449 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37450 `kern/elf.c', `loader/multiboot_loader.c',
37451 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37452 `loader/i386/pc/multiboot2.c',
37453 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37454 `util/i386/pc/grub-mkrescue.in'. Remove
37455 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37456 `include/grub/i386/pc/util/biosdisk.h' and
37457 `include/grub/powerpc/ieee1275/multiboot.h'.
37458
8f096014 374592007-08-02 Bean <bean123ch@gmail.com>
37460
37461 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37462 (ntfs_mod_SOURCES): New variable.
37463 (ntfs_mod_CFLAGS): Likewise.
37464 (ntfs_mod_LDFLAGS): Likewise.
37465
37466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37467 (grub_probe_SOURCES): Likewise.
37468 (grub_emu_SOURCES): Likewise.
37469
37470 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37471 (grub_emu_SOURCES): Likewise.
37472
37473 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37474 (grub_emu_SOURCES): Likewise.
f19dbdb7 37475
8f096014 37476 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37477
37478 * fs/ntfs.c: New file.
37479
9959f7db 374802007-08-02 Bean <bean123ch@gmail.com>
37481
37482 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37483
37484 * file.h (grub_file): Likewise.
37485
37486 * fshelp.h (grub_fshelp_read_file): Likewise.
37487
37488 * util/i386/pc/grub-setup.c (setup): Likewise.
37489 (save_first_sector): Likewise.
37490 (save_blocklists): Likewise.
f19dbdb7 37491
9959f7db 37492 * fs/affs.c (grub_affs_read_file): Likewise.
37493
37494 * fs/ext2.c (grub_ext2_read_file): Likewise.
37495
37496 * fs/fat.c (grub_fat_read_data): Likewise.
37497
37498 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37499
37500 * fs/hfs.c (grub_hfs_read_file): Likewise.
37501
37502 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37503
37504 * fs/jfs.c (grub_jfs_read_file): Likewise.
37505
37506 * fs/minix.c (grub_minix_read_file): Likewise.
37507
37508 * fs/sfs.c (grub_sfs_read_file): Likewise.
37509
37510 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37511
9959f7db 37512 * fs/xfs.c (grub_xfs_read_file): Likewise.
37513
37514 * command/blocklist.c (read_blocklist): Likewise.
37515 (print_blocklist): Likewise.
37516
0a203f83 375172007-08-02 Marco Gerards <marco@gnu.org>
37518
37519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37520 `util/hostfs.c'.
37521
37522 * disk/host.c: New file.
37523
37524 * util/hostfs.c: Likewise.
37525
37526 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37527 return `GRUB_ERR_BAD_FS'.
37528 * fs/sfs.c (grub_sfs_mount): Likewise.
37529 * fs/xfs.c (grub_xfs_mount): Likewise.
37530
37531 * include/grub/disk.h (enum grub_disk_dev_id): Add
37532 `GRUB_DISK_DEVICE_HOST_ID'.
37533
37534 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37535
e5dfe777 375362007-07-24 Jerone Young <jerone@gmail.com>
37537
f19dbdb7 37538 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37539 modules for compilation.
37540 * conf/powerpc-ieee1275.rmk: Likewise.
37541
37542 * include/multiboot.h: Move multiboot definitions to one file. Rename
37543 many definitions to not get grub specific.
37544 * include/multiboot2.h: Create header with multiboot 2 definitions.
37545 * include/grub/multiboot.h: Header for grub specific function
37546 prototypes and definitions.
37547 * include/grub/multiboot2.h: Likewise.
37548 * include/grub/multiboot_loader.h: Likewise.
37549 * include/grub/i386/pc/multiboot.h: Removed.
37550 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37551
37552 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37553 and 2 to allow for one multiboot and module commands.
37554 * loader/multiboot2.c: Add multiboot2 functionality.
37555 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37556 and definition names.
37557 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37558 2 functions.
37559 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37560 ieee1275 specific multiboot2 code.
37561
37562 * kern/i386/pc/startup.S: Change headers and definition names for
37563 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37564
daf0f0ba 375652007-07-22 Robert Millan <rmh@aybabtu.com>
37566
37567 * geninitheader.sh: Process file specified in first parameter rather
37568 than hardcoding grub_modules_init.lst.
fe6b695a 37569 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37570 than hardcoding grub_modules_init.h.
37571
37572 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37573 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37574 grub_probe_init.[ch] and grub_setup_init.[ch].
37575
37576 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37577 grub_modules_init.h with grub_emu_init.h.
37578 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37579 grub_probe_init.[ch] files.
37580 * conf/i386-efi.rmk: Likewise.
37581 * conf/i386-pc.rmk: Likewise.
37582 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37583 grub_setup_init.[ch] files.
37584
37585 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37586 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37587 to initialize modules rather than a list of hardcoded functions.
37588 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37589 grub_init_all() to initialize modules rather than a list of hardcoded
37590 functions.
37591
54cdc1cc 375922007-07-22 Robert Millan <rmh@aybabtu.com>
37593
37594 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37595 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37596
ad0686cc 375972007-07-22 Robert Millan <rmh@aybabtu.com>
37598
37599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37600 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37601 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37602 flag when running on SmartFirmware.
37603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37604 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37605 was set.
37606
37607 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37608 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37609 rather than decreasing it.
37610
37611 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37612 there's not enough space to do it, fail in the same way as when it
37613 can't be done because there are no partitions.
37614
37615 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37616 when nvsetenv failed.
37617
969c02ec 376182007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37619
37620 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37621 because this rule is automatically generated.
37622 (grub-mkrescue): Removed for the same reason as above.
37623
5a79f472 376242007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37625
37626 Migrate to GNU General Public License Version 3.
f19dbdb7 37627
5a79f472 37628 * COPYING: Replaced with the plain text version of GPLv3.
37629
37630 * config.guess: Updated from gnulib.
37631 * config.sub: Likewise.
37632
37633 * geninit.sh: Output a GPLv3 copyright notice.
37634 * geninitheader.sh: Likewise.
37635 * genmodsrc.sh: Likewise.
37636 * gensymlist.sh.in: Likewise.
37637
37638 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37639 * boot/i386/pc/diskboot.S: Likewise.
37640 * boot/i386/pc/pxeboot.S: Likewise.
37641 * commands/blocklist.c: Likewise.
37642 * commands/boot.c: Likewise.
37643 * commands/cat.c: Likewise.
37644 * commands/cmp.c: Likewise.
37645 * commands/configfile.c: Likewise.
37646 * commands/echo.c: Likewise.
37647 * commands/help.c: Likewise.
37648 * commands/ls.c: Likewise.
37649 * commands/search.c: Likewise.
37650 * commands/terminal.c: Likewise.
37651 * commands/test.c: Likewise.
37652 * commands/videotest.c: Likewise.
37653 * commands/i386/cpuid.c: Likewise.
37654 * commands/i386/pc/halt.c: Likewise.
37655 * commands/i386/pc/play.c: Likewise.
37656 * commands/i386/pc/reboot.c: Likewise.
37657 * commands/i386/pc/vbeinfo.c: Likewise.
37658 * commands/i386/pc/vbetest.c: Likewise.
37659 * commands/ieee1275/halt.c: Likewise.
37660 * commands/ieee1275/reboot.c: Likewise.
37661 * commands/ieee1275/suspend.c: Likewise.
37662 * disk/loopback.c: Likewise.
37663 * disk/lvm.c: Likewise.
37664 * disk/raid.c: Likewise.
37665 * disk/efi/efidisk.c: Likewise.
37666 * disk/i386/pc/biosdisk.c: Likewise.
37667 * disk/ieee1275/ofdisk.c: Likewise.
37668 * font/manager.c: Likewise.
37669 * fs/affs.c: Likewise.
37670 * fs/ext2.c: Likewise.
37671 * fs/fat.c: Likewise.
37672 * fs/fshelp.c: Likewise.
37673 * fs/hfs.c: Likewise.
37674 * fs/hfsplus.c: Likewise.
37675 * fs/iso9660.c: Likewise.
37676 * fs/jfs.c: Likewise.
37677 * fs/minix.c: Likewise.
37678 * fs/sfs.c: Likewise.
37679 * fs/ufs.c: Likewise.
37680 * fs/xfs.c: Likewise.
37681 * hello/hello.c: Likewise.
37682 * include/grub/acorn_filecore.h: Likewise.
37683 * include/grub/arg.h: Likewise.
37684 * include/grub/bitmap.h: Likewise.
37685 * include/grub/boot.h: Likewise.
37686 * include/grub/cache.h: Likewise.
37687 * include/grub/device.h: Likewise.
37688 * include/grub/disk.h: Likewise.
37689 * include/grub/dl.h: Likewise.
37690 * include/grub/elfload.h: Likewise.
37691 * include/grub/env.h: Likewise.
37692 * include/grub/err.h: Likewise.
37693 * include/grub/file.h: Likewise.
37694 * include/grub/font.h: Likewise.
37695 * include/grub/fs.h: Likewise.
37696 * include/grub/fshelp.h: Likewise.
37697 * include/grub/gzio.h: Likewise.
37698 * include/grub/hfs.h: Likewise.
37699 * include/grub/kernel.h: Likewise.
37700 * include/grub/loader.h: Likewise.
37701 * include/grub/lvm.h: Likewise.
37702 * include/grub/misc.h: Likewise.
37703 * include/grub/mm.h: Likewise.
37704 * include/grub/net.h: Likewise.
37705 * include/grub/normal.h: Likewise.
37706 * include/grub/parser.h: Likewise.
37707 * include/grub/partition.h: Likewise.
37708 * include/grub/pc_partition.h: Likewise.
37709 * include/grub/raid.h: Likewise.
37710 * include/grub/rescue.h: Likewise.
37711 * include/grub/script.h: Likewise.
37712 * include/grub/setjmp.h: Likewise.
37713 * include/grub/symbol.h: Likewise.
37714 * include/grub/term.h: Likewise.
37715 * include/grub/terminfo.h: Likewise.
37716 * include/grub/tparm.h: Likewise.
37717 * include/grub/types.h: Likewise.
37718 * include/grub/video.h: Likewise.
37719 * include/grub/efi/api.h: Likewise.
37720 * include/grub/efi/chainloader.h: Likewise.
37721 * include/grub/efi/console.h: Likewise.
37722 * include/grub/efi/console_control.h: Likewise.
37723 * include/grub/efi/disk.h: Likewise.
37724 * include/grub/efi/efi.h: Likewise.
37725 * include/grub/efi/pe32.h: Likewise.
37726 * include/grub/efi/time.h: Likewise.
37727 * include/grub/i386/linux.h: Likewise.
37728 * include/grub/i386/setjmp.h: Likewise.
37729 * include/grub/i386/types.h: Likewise.
37730 * include/grub/i386/efi/kernel.h: Likewise.
37731 * include/grub/i386/efi/loader.h: Likewise.
37732 * include/grub/i386/efi/time.h: Likewise.
37733 * include/grub/i386/pc/biosdisk.h: Likewise.
37734 * include/grub/i386/pc/boot.h: Likewise.
37735 * include/grub/i386/pc/chainloader.h: Likewise.
37736 * include/grub/i386/pc/console.h: Likewise.
37737 * include/grub/i386/pc/init.h: Likewise.
37738 * include/grub/i386/pc/kernel.h: Likewise.
37739 * include/grub/i386/pc/loader.h: Likewise.
37740 * include/grub/i386/pc/memory.h: Likewise.
37741 * include/grub/i386/pc/multiboot.h: Likewise.
37742 * include/grub/i386/pc/serial.h: Likewise.
37743 * include/grub/i386/pc/time.h: Likewise.
37744 * include/grub/i386/pc/vbe.h: Likewise.
37745 * include/grub/i386/pc/vbeblit.h: Likewise.
37746 * include/grub/i386/pc/vbefill.h: Likewise.
37747 * include/grub/i386/pc/vbeutil.h: Likewise.
37748 * include/grub/i386/pc/vga.h: Likewise.
37749 * include/grub/ieee1275/ieee1275.h: Likewise.
37750 * include/grub/ieee1275/ofdisk.h: Likewise.
37751 * include/grub/powerpc/libgcc.h: Likewise.
37752 * include/grub/powerpc/setjmp.h: Likewise.
37753 * include/grub/powerpc/types.h: Likewise.
37754 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37755 * include/grub/powerpc/ieee1275/console.h: Likewise.
37756 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37757 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37758 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37759 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37760 * include/grub/powerpc/ieee1275/time.h: Likewise.
37761 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37762 * include/grub/sparc64/libgcc.h: Likewise.
37763 * include/grub/sparc64/setjmp.h: Likewise.
37764 * include/grub/sparc64/types.h: Likewise.
37765 * include/grub/sparc64/ieee1275/console.h: Likewise.
37766 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37767 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37768 * include/grub/sparc64/ieee1275/time.h: Likewise.
37769 * include/grub/util/biosdisk.h: Likewise.
37770 * include/grub/util/getroot.h: Likewise.
37771 * include/grub/util/lvm.h: Likewise.
37772 * include/grub/util/misc.h: Likewise.
37773 * include/grub/util/raid.h: Likewise.
37774 * include/grub/util/resolve.h: Likewise.
37775 * io/gzio.c: Likewise.
37776 * kern/device.c: Likewise.
37777 * kern/disk.c: Likewise.
37778 * kern/dl.c: Likewise.
37779 * kern/elf.c: Likewise.
37780 * kern/env.c: Likewise.
37781 * kern/err.c: Likewise.
37782 * kern/file.c: Likewise.
37783 * kern/fs.c: Likewise.
37784 * kern/loader.c: Likewise.
37785 * kern/main.c: Likewise.
37786 * kern/misc.c: Likewise.
37787 * kern/mm.c: Likewise.
37788 * kern/parser.c: Likewise.
37789 * kern/partition.c: Likewise.
37790 * kern/rescue.c: Likewise.
37791 * kern/term.c: Likewise.
37792 * kern/efi/efi.c: Likewise.
37793 * kern/efi/init.c: Likewise.
37794 * kern/efi/mm.c: Likewise.
37795 * kern/i386/dl.c: Likewise.
37796 * kern/i386/efi/init.c: Likewise.
37797 * kern/i386/efi/startup.S: Likewise.
37798 * kern/i386/pc/init.c: Likewise.
37799 * kern/i386/pc/lzo1x.S: Likewise.
37800 * kern/i386/pc/startup.S: Likewise.
37801 * kern/ieee1275/ieee1275.c: Likewise.
37802 * kern/powerpc/cache.S: Likewise.
37803 * kern/powerpc/dl.c: Likewise.
37804 * kern/powerpc/ieee1275/cmain.c: Likewise.
37805 * kern/powerpc/ieee1275/crt0.S: Likewise.
37806 * kern/powerpc/ieee1275/init.c: Likewise.
37807 * kern/powerpc/ieee1275/openfw.c: Likewise.
37808 * kern/sparc64/cache.S: Likewise.
37809 * kern/sparc64/dl.c: Likewise.
37810 * kern/sparc64/ieee1275/init.c: Likewise.
37811 * kern/sparc64/ieee1275/openfw.c: Likewise.
37812 * loader/efi/chainloader.c: Likewise.
37813 * loader/efi/chainloader_normal.c: Likewise.
37814 * loader/i386/efi/linux.c: Likewise.
37815 * loader/i386/efi/linux_normal.c: Likewise.
37816 * loader/i386/pc/chainloader.c: Likewise.
37817 * loader/i386/pc/chainloader_normal.c: Likewise.
37818 * loader/i386/pc/linux.c: Likewise.
37819 * loader/i386/pc/linux_normal.c: Likewise.
37820 * loader/i386/pc/multiboot.c: Likewise.
37821 * loader/i386/pc/multiboot_normal.c: Likewise.
37822 * loader/powerpc/ieee1275/linux.c: Likewise.
37823 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37824 * normal/arg.c: Likewise.
37825 * normal/cmdline.c: Likewise.
37826 * normal/command.c: Likewise.
37827 * normal/completion.c: Likewise.
37828 * normal/execute.c: Likewise.
37829 * normal/function.c: Likewise.
37830 * normal/lexer.c: Likewise.
37831 * normal/main.c: Likewise.
37832 * normal/menu.c: Likewise.
37833 * normal/menu_entry.c: Likewise.
37834 * normal/misc.c: Likewise.
37835 * normal/parser.y: Likewise.
37836 * normal/script.c: Likewise.
37837 * normal/i386/setjmp.S: Likewise.
37838 * normal/powerpc/setjmp.S: Likewise.
37839 * normal/sparc64/setjmp.S: Likewise.
37840 * partmap/acorn.c: Likewise.
37841 * partmap/amiga.c: Likewise.
37842 * partmap/apple.c: Likewise.
37843 * partmap/gpt.c: Likewise.
37844 * partmap/pc.c: Likewise.
37845 * partmap/sun.c: Likewise.
37846 * term/gfxterm.c: Likewise.
37847 * term/terminfo.c: Likewise.
37848 * term/efi/console.c: Likewise.
37849 * term/i386/pc/console.c: Likewise.
37850 * term/i386/pc/serial.c: Likewise.
37851 * term/i386/pc/vesafb.c: Likewise.
37852 * term/i386/pc/vga.c: Likewise.
37853 * term/ieee1275/ofconsole.c: Likewise.
37854 * util/biosdisk.c: Likewise.
37855 * util/console.c: Likewise.
37856 * util/genmoddep.c: Likewise.
37857 * util/getroot.c: Likewise.
37858 * util/grub-emu.c: Likewise.
37859 * util/grub-mkdevicemap.c: Likewise.
37860 * util/grub-probe.c: Likewise.
37861 * util/lvm.c: Likewise.
37862 * util/misc.c: Likewise.
37863 * util/raid.c: Likewise.
37864 * util/resolve.c: Likewise.
37865 * util/update-grub.in: Likewise.
37866 * util/update-grub_lib.in: Likewise.
37867 * util/grub.d/00_header.in: Likewise.
37868 * util/grub.d/10_hurd.in: Likewise.
37869 * util/grub.d/10_linux.in: Likewise.
37870 * util/i386/efi/grub-install.in: Likewise.
37871 * util/i386/efi/grub-mkimage.c: Likewise.
37872 * util/i386/pc/grub-install.in: Likewise.
37873 * util/i386/pc/grub-mkimage.c: Likewise.
37874 * util/i386/pc/grub-mkrescue.in: Likewise.
37875 * util/i386/pc/grub-setup.c: Likewise.
37876 * util/i386/pc/misc.c: Likewise.
37877 * util/powerpc/ieee1275/grub-install.in: Likewise.
37878 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37879 * util/powerpc/ieee1275/misc.c: Likewise.
37880 * video/bitmap.c: Likewise.
37881 * video/video.c: Likewise.
37882 * video/i386/pc/vbe.c: Likewise.
37883 * video/i386/pc/vbeblit.c: Likewise.
37884 * video/i386/pc/vbefill.c: Likewise.
37885 * video/i386/pc/vbeutil.c: Likewise.
37886 * video/readers/tga.c: Likewise.
37887
3572d015 378882007-07-02 Robert Millan <rmh@aybabtu.com>
37889
37890 * conf/i386-efi.rmk: Replace obsolete reference to
37891 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37892 with util/getroot.c.
37893 * conf/powerpc-ieee1275.rmk: Likewise.
37894 * conf/sparc64-ieee1275.rmk: Likewise.
37895
37896 * util/grub-emu.c (main): Fix unchecked pointer handling.
37897
2c2a681b 378982007-07-02 Robert Millan <rmh@aybabtu.com>
37899
37900 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37901 invocation to fail, in order to support partition-less media.
37902
37903 * util/i386/pc/grub-install.in: Likewise.
37904
37905 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37906 which fs or partmap modules are needed (akin to its sister scripts).
37907
37908 Also use grub-probe to get rid of unportable /proc/mounts check.
37909
37910 Print the same informational message that the other scripts do, before
fe6b695a 37911 exiting.
2c2a681b 37912
6193defe 379132007-06-23 Robert Millan <rmh@aybabtu.com>
37914
fe6b695a 37915 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37916 a font file can be found and, if so, echo the GRUB path to it.
37917
37918 * util/update-grub.in: Handle multiple terminals depending on user
37919 input, platform availability and font file presence. Propagate
37920 variables of our findings to /etc/grub.d/ children.
37921
37922 * util/grub.d/00_header.in: Handle multiple terminals, based on
37923 environment setup by update-grub.
37924
eface1dc 379252007-06-23 Robert Millan <rmh@aybabtu.com>
37926
ba50d28f 37927 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37928
bf697e28 379292007-06-21 Robert Millan <rmh@aybabtu.com>
37930
37931 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37932 indicate end of data section in kernel image.
37933 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37934 GRUB_KERNEL_MACHINE_DATA_END.
37935
37936 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37937 space for it.
37938 * kern/i386/efi/startup.S: Likewise.
37939
37940 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37941 during image generation. Implement --prefix option to override this
37942 patch.
37943 * util/i386/efi/grub-mkimage.c: Likewise.
37944
37945 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37946 code to make path relative to its root into a separate function.
37947
37948 * util/i386/pc/grub-install.in: Use newly provided
37949 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37950 pass the result to grub-install --prefix.
37951
baa574b4 379522007-06-13 Robert Millan <rmh@aybabtu.com>
37953
37954 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37955 DEFAULT_DEVICE_MAP.
37956 * util/grub-emu.c: Use above definitions from misc.h instead of
37957 defining them.
37958 * util/grub-mkdevicemap.c: Likewise.
37959 * util/i386/pc/grub-setup.c: Likewise.
37960 * util/grub-probe.c: Likewise.
37961 (probe): Abort with grub_util_error() when either
37962 grub_guess_root_device or grub_util_get_grub_dev fails.
37963
0215dcbf 379642007-06-12 Robert Millan <rmh@aybabtu.com>
37965
37966 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37967 "pager" assignment.
37968 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37969 "pcdata".
37970 * util/grub-probe.c (probe): Likewise for "drive_name".
37971
8af2ab7b 379722007-06-11 Robert Millan <rmh@aybabtu.com>
37973
37974 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37975 not just the cdrom one.
37976
59d31694 379772007-06-11 Robert Millan <rmh@aybabtu.com>
37978
37979 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37980 Add --pkglibdir=DIR option to override pkglibdir.
37981 Mention --image-type=TYPE in help output.
37982 Fix --grub-mkimage (it was a no-op).
fe6b695a 37983 Abort gracefully when no parameter is given.
59d31694 37984
7ee367e4 379852007-06-11 Robert Millan <rmh@aybabtu.com>
37986
37987 * util/i386/pc/grub-mkrescue.in: New file.
37988 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37989 * Makefile.in: Handle bin_SCRIPTS.
37990
29b0ed46 379912007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37992
37993 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37994 list of video modes.
37995
c0f90770 379962007-06-06 Robert Millan <rmh@aybabtu.com>
37997
37998 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37999 file doesn't exist, or if it is in a filesystem grub can't read.
38000
38001 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38002 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38003 header comment to fit in 80 columns when the variables are resolved.
38004
38005 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38006 could be identified by update-grub. Remove redundant check for
fe6b695a 38007 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38008 handles that).
38009
fb36dc26 380102007-06-04 Robert Millan <rmh@aybabtu.com>
38011
38012 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38013
38014 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38015
38016 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38017
0c68c93e 380182007-06-04 Robert Millan <rmh@aybabtu.com>
38019
38020 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38021
38022 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38023 grub_apple_partition_map_fini.
38024
38025 * util/biosdisk.c
38026 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38027 to access >2 TiB disks).
38028
38029 Print disk->total_sectors with %llu instead of %lu, since this
38030 variable is always 64-bit (prevents wrong disk size from being displayed
38031 on either >2 TiB disk or big-endian CPU).
38032
38033 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38034 into a generic case that supports all (sane) partition maps.
38035
38036 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38037 breaks big-endian.
38038
38039 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38040 and grub_apple_partition_map_fini() after that.
38041
0f23eb74 380422007-06-01 Robert Millan <rmh@aybabtu.com>
38043
38044 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38045
38046 * util/grub.d/00_header.in: Only enable gfxterm when
38047 convert_system_path_to_grub_path() succeeds.
38048
42c71976 380492007-05-20 Robert Millan <rmh@aybabtu.com>
38050
38051 * util/update-grub_lib.in: New file.
38052 * DISTLIST: Add update-grub_lib.in.
38053 * conf/common.rmk: Generate update-grub_lib and install it in
38054 $(lib_DATA).
38055 * Makefile.in: Add install routine for $(lib_DATA).
38056
38057 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38058 function provided by update-grub_lib to support arbitrary paths of
38059 unifont.pff.
38060 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38061 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38062
5beb2291 380632007-05-19 Robert Millan <rmh@aybabtu.com>
38064
38065 * commands/i386/cpuid.c: New module.
38066 * DISTLIST: Add it.
38067 * conf/i386-efi.rmk: Enable cpuid.mod.
38068 * conf/i386-pc.rmk: Likewise.
38069
7262eca1 380702007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38071
38072 * kern/disk.c (grub_disk_read): Check return value of
38073 grub_realloc().
38074
260ba823 380752007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38076
38077 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38078 arrays.
38079 * disk/raid.c (grub_raid_open): Likewise.
38080
1ecb6cf2 380812007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38082
38083 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38084 stack instead of on the heap.
38085
38086 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38087 before doing a read on it.
38088
38089 * configure.ac: Only use -fno-stack-protector for the target
38090 environment.
f19dbdb7 38091
21c8cbb1 380922007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38093
38094 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38095 __attribute_ ((unused)) to mode_type argument.
38096
38097 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38098
21c8cbb1 38099 * kern/misc.c (memcmp): Fix prototype.
38100
38101 * include/grub/partition.h [GRUB_UTIL]
38102 (grub_gpt_partition_map_init): Add prototype.
38103 (grub_gpt_partition_map_fini): Likewise.
38104
38105 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38106 at the right place.
38107
38108 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38109 (grub_fat_read_data): Likewise.
38110 (grub_fat_find_dir): Likewise.
38111
38112 * font/manager.c (find_glyph): Make table a const.
38113 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38114
849d55d3 381152007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38116
38117 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38118 code, first search for device in /dev/mapper, then in /dev.
38119 (grub_util_get_grub_dev): New function.
38120 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38121 prototype.
38122 * util/grub-probe.c (probe): Remove check for RAID, call
38123 grub_util_get_grub_dev() instead of
38124 grub_util_biosdisk_get_grub_dev().
38125 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38126 grub_util_biosdisk_get_grub_dev().
38127 * util/i386/pc/grub-setup.c (main): Likewise.
38128
8fff7c2f 381292007-05-16 Robert Millan <rmh@aybabtu.com>
38130
38131 * DISTLIST: Update for the latest changes.
38132 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38133 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38134 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38135 grub/util/biosdisk.h.
38136 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38137 grub/util/biosdisk.h.
38138
48e12b52 381392007-05-16 Robert Millan <rmh@aybabtu.com>
38140
38141 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38142
46b9d128 381432007-05-16 Robert Millan <rmh@aybabtu.com>
38144
38145 * util/i386/efi/grub-install.in: New.
38146 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38147 newly added grub-install.
38148 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38149 include.
38150 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38151 grub/util/biosdisk.h.
38152 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38153 grub/util/biosdisk.h.
38154
2d1a40a9 381552007-05-16 Robert Millan <rmh@aybabtu.com>
38156
38157 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38158 * include/grub/util/biosdisk.h: ... here.
38159 * util/i386/pc/biosdisk.c: Moved to ...
38160 * util/biosdisk.c: ... here.
38161 * util/i386/pc/getroot.c: Moved to ...
38162 * util/getroot.c: ... here.
38163 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38164 * util/grub-mkdevicemap.c: ... here.
38165 * util/i386/pc/grub-probe.c: Moved to ...
38166 * util/grub-probe.c: ... here.
38167
9e26e3bc 381682007-05-15 Robert Millan <rmh@aybabtu.com>
38169
38170 * util/update-grub.in: Remove duplicated line in grub.cfg header
38171 message.
38172
57f96397 381732007-05-13 Robert Millan <rmh@aybabtu.com>
38174
38175 * util/update-grub.in: Fix a few assumptions about the devices holding
38176 /, /boot and /boot/grub being the same.
38177 * util/grub.d/00_header.in: Likewise.
38178 * util/grub.d/10_hurd.in: Likewise.
38179 * util/grub.d/10_linux.in: Likewise.
38180
38181 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38182 patterns. Use that to define the `.old' suffix as older than `'.
38183
38184 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38185
38186 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38187 the grub.cfg header message.
38188
2e610d62 381892007-05-11 Robert Millan <rmh@aybabtu.com>
38190
38191 * util/update-grub.in: Create device.map if it doesn't already exist,
38192 before attempting to run grub-probe.
38193 Check for grub-probe and grub-mkdevicemap with the same code
38194 grub-install is using.
38195 Remove test mode.
38196
3f6a10ef 381972007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38198
38199 * Makefile.in: Add the datarootdir autoconf variable.
38200
02e7b75e 382012007-05-09 Robert Millan <rmh@aybabtu.com>
38202
38203 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38204 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38205
75f396cc 382062007-05-07 Robert Millan <rmh@aybabtu.com>
38207
38208 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38209 determine partition map module.
38210 * util/i386/pc/grub-install.in: Use this feature to decide which
38211 partition module to load, instead of hardcoding pc and gpt.
38212
da65cb36 382132007-05-07 Robert Millan <rmh@aybabtu.com>
38214
38215 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38216 source directory differs from build directory.
38217
b57d6a91 382182007-05-05 Robert Millan <rmh@aybabtu.com>
38219
38220 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38221 initialisation.
38222
509d00f1 382232007-05-05 Robert Millan <rmh@aybabtu.com>
38224
38225 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38226
c48f23ef 382272007-05-05 Robert Millan <rmh@aybabtu.com>
38228
38229 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38230 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38231
20b97658 382322007-05-05 Robert Millan <rmh@aybabtu.com>
38233
38234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38235 (grub_probe_SOURCES): Likewise.
38236 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38237 GPT and initialize dos_part and bsd_part accordingly.
38238 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38239 install_bsd_part.
38240 (main): Activate gpt module for use during partition identification,
38241 and deactivate it afterwards.
38242 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38243 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38244 partition identification, and deactivate it afterwards.
38245
99123174 382462007-05-05 Robert Millan <rmh@aybabtu.com>
38247
38248 * term/i386/pc/console.c (grub_console_fini): Call
38249 grub_term_set_current() before grub_term_unregister().
38250
ebd97f6e 382512007-05-04 Robert Millan <rmh@aybabtu.com>
38252
38253 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38254 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38255 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38256 and update-grub_DATA.
38257 * conf/common.rmk: Build and install update-grub components.
38258 * conf/common.mk: Regenerate.
38259 * util/update-grub.in: New. Core of update-grub.
38260 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38261 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38262 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38263 * util/grub.d/README: New. Document grub.d directory layout.
38264
b06a264d 382652007-05-01 Robert Millan <rmh@aybabtu.com>
38266
38267 * util/grub-emu.c: Move initialization functions
38268 grub_util_biosdisk_init() and grub_init_all() before
38269 grub_util_biosdisk_get_grub_dev(), which relies on them.
38270
41f0050e 382712007-04-19 Robert Millan <rmh@aybabtu.com>
38272
38273 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38274 it is used later.
38275
04582bb3 382762007-04-18 Jerone Young <jerone@gmail.com>
38277
f19dbdb7 38278 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38279 stanza.
38280
08db4632 382812007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38282
08db4632 38283 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38284 continue on and look for device node with real device name.
38285
801b76be 382862007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38287
fe6b695a 38288 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38289 ability.
38290 * Makefile.in: Add autoconf package transformation code.
38291 * util/i386/pc/grub-install.in: Likewise.
38292 * util/powerpc/ieee1275/grub-install.in: Likewise.
38293
6795c4e1 382942007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38295
38296 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38297 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38298 (EXT2_REVISION): Likewise.
38299 (EXT2_INODE_SIZE): Likewise.
38300 (struct grub_ext2_block_group): Added a missing member
38301 "used_dirs".
38302 (grub_ext2_read_inode): Divide by the inode size in a superblock
38303 instead of 128 to obtain INODES_PER_BLOCK.
38304 Use the macro EXT2_INODE_SIZE instead of directly using
38305 SBLOCK->INODE_SIZE.
38306
d70af616 383072007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38308
38309 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38310 superblock instead of the structure size to compute an
38311 offset. This fixes the problem that GRUB could not read a
38312 filesystem when inode size is different from 128-byte.
38313
3b801603 383142007-03-05 Marco Gerards <marco@gnu.org>
38315
38316 * normal/main.c (read_config_file): When "menu" is not set, create
38317 an initial context.
38318
4785bfe4 383192007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38320
38321 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38322 (HEAP_LIMIT): New macro.
38323 (grub_claim_heap): Claim memory up to `heaplimit'.
38324
a0cbb023 383252007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38326
38327 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38328 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38329 (_start): Likewise.
38330 (grub_arch_modules_addr): Return address after `_end'.
38331 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38332 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38333 (add_segments): Calculate `_end' from phdr size and location.
38334 (ALIGN_UP): Moved to ...
38335 * include/grub/misc.h: here.
38336 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38337 New macro.
38338 (GRUB_IEEE1275_MODULE_BASE): Removed.
38339
fd7d8eba 383402007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38341
38342 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38343 loop boundary.
38344
9b09e6fc 383452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38346
38347 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38348 All users updated.
38349 (grub_elf64_load_hook_t): Likewise.
38350 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38351 debug output.
38352
3ce27299 383532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38354
38355 * kern/mm.c: Update copyright.
38356 (grub_mm_debug): Correct syntax error.
38357 (grub_mm_dump_free): New function.
38358 (grub_debug_free): Call `grub_free'.
38359 * include/grub/mm.h: Update copyright.
38360 (grub_mm_dump_free): Add declaration.
38361
077d5fee 383622007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38363
38364 * include/grub/ieee1275/ieee1275.h: Update copyright.
38365 * kern/powerpc/ieee1275/init.c: Likewise.
38366 * kern/powerpc/ieee1275/openfw.c: Likewise.
38367
38368 * loader/powerpc/ieee1275/linux.c: Likewise.
38369 * include/grub/elfload.h: Likewise.
38370 * kern/elf.c: Likewise.
38371 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38372 callers.
38373 (grub_elf64_load): Likewise.
38374 (grub_elf32_load_segment): Move to a nested function.
38375 (grub_elf64_load_segment): Likewise.
38376
dc946850 383772007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38378
38379 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38380 prototype.
38381 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38382 (grub_heap_len): Likewise.
38383 (HEAP_SIZE): New macro.
38384 (grub_claim_heap): New function.
38385 (grub_machine_init): Don't claim heap directly. Call
38386 `grub_claim_heap'.
38387 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38388 (grub_available_iterate): New function.
38389
baa2a121 383902007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38391
38392 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38393 * configure.ac: Use it for testing the HOST and TARGET compilers.
38394
4fe9862e 383952006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38396
38397 * Makefile.in (enable_grub_emu): New variable.
38398 * configure.ac (--enable-grub-emu): New option.
38399 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38400 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38401 * conf/i386-pc.rmk: Likewise.
38402 * conf/powerpc-ieee1275.rmk: Likewise.
38403 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38404
a8aa5762 384052006-12-12 Marco Gerards <marco@gnu.org>
38406
38407 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38408
38409 * kern/env.c (grub_env_unset): Don't free the member `value' when
38410 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38411 pointer.
38412
38413 * normal/main.c (current_menu): Removed.
38414 (free_menu): Unset the `menu' environment variable.
38415 (grub_normal_menu_addentry): Make use of the environment variable
38416 `menu', instead of using the global `current_menu'. Allocate
38417 memory for the sourcecode of this entry.
38418 (read_config_file): New argument `nested', changed all callers.
38419 Only in the case of a new context, initialize a new menu. Set the
38420 `menu' environment variable.
38421 (grub_normal_execute): Don't set and unset the environment
38422 variable `menu' here anymore. Only free the menu when leaving the
38423 context.
38424
38425 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38426 leak.
38427
957b3a3e 384282006-12-11 Marco Gerards <marco@gnu.org>
38429
38430 * normal/menu_entry.c (run): Fix off by one bug so the last line
38431 is executed. Move the loader check to outside the loop.
38432
ef875714 384332006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38434
38435 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38436
4e739985 384372006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38438
38439 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38440 the number of sectors. Reported by Andrey Shuvikov
38441 <mr_hyro@yahoo.com>.
f19dbdb7 38442
790707f2 384432006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38444
38445 * kern/disk.c (grub_disk_read): When there is a read error, always
38446 try to read only the necessary data.
f19dbdb7 38447
790707f2 38448 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38449 disk/raid.c.
38450 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38451 prototype.
38452 [GRUB_UTIL] (grub_raid_fini): Likewise.
38453 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38454 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38455 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38456 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38457 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38458 and grub_raid_fini().
f19dbdb7 38459
03e58196 384602006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38461
38462 * include/grub/types.h (__unused): Rename to UNUSED.
38463 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38464 (grub_elf64_size): Likewise.
f19dbdb7 38465
ae4f23bf 384662006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38467
38468 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38469 grub_error_push and grub_error_pop in the error-handling path.
38470 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38471 length.
38472
2166cc83 384732006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38474
38475 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38476 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38478 (kernel_elf_SOURCES): Likewise.
38479 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38480 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38481 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38482 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38483 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38484 (elf_mod_SOURCES): New variable.
38485 (elf_mod_CFLAGS): Likewise.
38486 (elf_mod_LDFLAGS): Likewise.
38487 * include/grub/types.h (__unused): New macro.
38488 * include/grub/elfload.h: New file.
38489 * kern/elf.c: Likewise.
38490 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38491 (ELF32_LOADMASK): New macro.
38492 (ELF64_LOADMASK): Likewise.
38493 (vmlinux): Removed.
38494 (grub_linux_load32): New function.
38495 (grub_linux_load64): Likewise.
38496 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38497 Use grub_elf_t instead of grub_file_t.
38498
a09d5aa5 384992006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38500
38501 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38502 `catch_result' to struct set_color_args.
38503
d976fc51 385042006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38505
38506 * normal/menu.c: Include grub/script.h.
38507 * normal/menu_entry.c: Likewise.
38508 * include/grub/normal.h: Do not include grub/script.h.
38509
67507549 385102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38511
38512 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38513
69203a99 385142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38515
38516 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38517 disk.
38518 (grub_disk_close): Print debug messages when closing a disk.
38519 (grub_disk_read): Print debug messages when disk read fails.
38520 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38521 filesystem type.
38522 * kern/partition.c: Include misc.h.
38523 (grub_partition_iterate): Print debug messages when detecting
38524 partition type.
38525
e2b8278c 385262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38527
38528 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38529 is negative.
38530 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38531
97b2f2ff 385322006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38533
38534 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38535 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38536
6555d655 385372006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38538
38539 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38540 instead of sizeof(lv). Patch by Michael Guntsche.
38541
4d42b77f 385422006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38543
38544 * disk/lvm.c: Rename VGS to VG_LIST.
38545 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38546 (grub_lvm_open): Likewise.
38547 Thanks to Michael Guntsche for finding this bug.
38548
5d74d927 385492006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38550
38551 * configure.ac (AC_INIT): Bumped to 1.95.
38552
a1bb27e4 385532006-10-14 Robert Millan <rmh@aybabtu.com>
38554
38555 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38556 with "/dev/.static/dev/md".
38557
e0994b8b 385582006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38559
38560 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38561 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38562 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38563 DRIVE_NAME are always freed.
38564
38565 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38566 DOS_PART, as a DOS partition is counted from one instead of zero
38567 now. Reported by Robert Millan.
38568
ddd5cee9 385692006-10-14 Robert Millan <rmh@aybabtu.com>
38570
38571 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38572 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38573 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38574 string returned by grub_guess_root_device.
38575 * util/i386/pc/grub-setup.c: Likewise.
38576 * util/i386/pc/grub-probefs.c: Likewise.
38577
38578 * util/i386/pc/grub-probefs.c: Rename to ...
38579 * util/i386/pc/grub-probe.c: ... this.
38580 * DISTLIST: Remove grub-probefs, add grub-probe.
38581 * conf/i386-efi.rmk: Likewise.
38582 * conf/i386-pc.rmk: Likewise.
38583 * util/i386/pc/grub-install.in: Likewise.
38584
38585 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38586 choose which information we want to print.
38587
2b002173 385882006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38589
38590 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38591 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38592 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38593 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38594 video/readers/tga.c and video/i386/pc/vbeutil.c.
38595
385962006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38597
38598 Added support for RAID and LVM.
f19dbdb7 38599
2b002173 38600 * disk/lvm.c: New file.
38601 * disk/raid.c: Likewise.
38602 * include/grub/lvm.h: Likewise.
f19dbdb7 38603 * include/grub/raid.h: Likewise.
2b002173 38604 * include/grub/util/lvm.h: Likewise.
38605 * include/grub/util/raid.h: Likewise.
38606 * util/lvm.c: Likewise.
38607 * util/raid.c: Likewise.
38608
38609 * include/grub/disk.h (grub_disk_dev_id): Add
38610 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38611 (grub_disk_get_size): New prototype.
38612 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38613 returns a partition.
38614 (grub_disk_get_size): New function.
f19dbdb7 38615
2b002173 38616 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38617 verbatim if grub_install_dos_part is -2.
38618
38619 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38620 and LVM devices.
38621
38622 * util/i386/pc/grub-setup.c (setup): New argument
38623 MUST_EMBED. Force embedding of GRUB when the argument is
38624 true. Close FILE before returning.
38625 (main): Add support for RAID and LVM.
f19dbdb7 38626
2b002173 38627 * conf/common.rmk: Add RAID and LVM modules.
38628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38629 util/lvm.c.
38630 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38631
38632 * kern/misc.c (grub_strstr): New function.
38633 * include/grub/misc.h (grub_strstr): New prototype.
38634
050548d0 386352006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38636
38637 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38638
da849d2d 386392006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38640
38641 * kern/misc.c (grub_strtoull): Guess the base only if not
38642 specified.
38643
97b2f2ff 386442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38645
38646 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38647 PowerMac support.
38648
97b2f2ff 386492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38650
38651 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38652
38653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38654 Remove `flags' argument. All callers changed.
38655 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38656 (IEEE1275_IHANDLE_INVALID): New variable.
38657 (IEEE1275_CELL_INVALID): New variable.
38658 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38659 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38660 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38661 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38662 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38663 codes from Open Firmware. All callers updated.
38664 (grub_ieee1275_next_property): Directly return Open Firmware return
38665 code.
38666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38667 Standardize error checking from `grub_ieee1275_get_property'.
38668 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38669 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38670
97b2f2ff 386712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38672
38673 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38674 `instance_to_package_args' to `instance_to_path_args'.
38675
38676 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38677 `grub_ieee1275_chosen'.
38678
38679 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38680 `grub_ieee1275_interpret'.
38681
97b2f2ff 386822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38683
38684 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38685
97b2f2ff 386862006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38687
38688 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38689 (__cmpdi): Likewise.
38690
38691 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38692 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38693 `grub_ssize_t'.
38694
02bb8acc 38695 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38696
38697 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38698 to type `grub_ssize_t'.
38699 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38700
7f9a8531 387012006-09-22 Marco Gerards <marco@gnu.org>
38702
38703 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38704 newlines.
38705
b5ef1102 387062006-09-22 Marco Gerards <marco@gnu.org>
38707
38708 * commands/echo.c: New file.
38709
38710 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38711
38712 * conf/common.rmk (echo_mod_SOURCES): New variable.
38713 (echo_mod_CFLAGS): Likewise.
38714 (echo_mod_LDFLAGS): Likewise.
38715
2cff3677 387162006-09-22 Marco Gerards <marco@gnu.org>
38717
38718 * normal/main.c (get_line): Malloc memory instead of using
38719 preallocated memory. Removed the arguments `cmdline' and
38720 `max_len'. Updated all callers.
38721
6ba4688b 387222006-09-22 Marco Gerards <marco@gnu.org>
38723
38724 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38725 (normal_mod_DEPENDENCIES): Likewise.
38726
38727 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38728 (normal_mod_DEPENDENCIES): Likewise.
38729
38730 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38731
e02ac02c 387322006-09-22 Johan Rydberg <jrydberg@gnu.org>
38733
38734 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38735 programs.
38736 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38737 (normal_mod_DEPENDENCIES): Likewise.
38738 * conf/i386-pc.mk: Regenerate.
38739 * conf/i386-efi.mk: Likewise
38740 * conf/common.mk: Likewise.
38741 * conf/powerpc-ieee1275.mk: Likewise.
38742 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38743
8d252e44 387442006-09-22 Robert Millan <rmh@aybabtu.com>
38745
38746 Sync with i386 version.
38747 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38748 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38749
209bf7ac 387502006-09-21 Robert Millan <rmh@aybabtu.com>
38751
38752 Import from GRUB Legacy (lib/device.c):
38753 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38754 (init_device_map) [__linux__]: Add support for I2O devices.
38755
6b146090 387562006-09-14 Marco Gerards <marco@gnu.org>
38757
38758 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38759 `-melf_i386'.
38760
e38600a8 387612006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38762
38763 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38764 /boot/grub/*.lst.
78fa1790 38765
2952da5d 38766 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38767
2952da5d 38768 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38769 before adding it to device.map.
38770
01b82a64 387712006-08-15 Johan Rydberg <jrydberg@gnu.org>
38772
fe6b695a 38773 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38774 compiles a file; using the -MD option.
38775 * conf/common.mk: Regenerate.
38776 * conf/i386-pc.mk: Likewise.
38777 * conf/i386-efi.mk: Likewise.
38778 * conf/powerpc-ieee1275.mk: Likewise.
38779 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38780
1064790d 387812006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38782
38783 Move the prototypes of grub_setjmp and grub_longjmp to
38784 cpu/setjmp.h, so that each architecture may specify different
38785 attributes.
f19dbdb7 38786
1064790d 38787 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38788 (grub_longjmp): Likewise.
38789 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38790 (grub_longjmp): Likewise.
38791 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38792 (grub_longjmp): Likewise.
38793
38794 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38795 [!GRUB_UTIL] (grub_longjmp): Removed.
38796
29dda3ed 387972006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38798
38799 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38800 "color!" method does not return any value.
38801
ad2a06ed 388022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38803
38804 * include/grub/bitmap.h: New file.
38805
38806 * include/grub/i386/pc/vbeutil.h: Likewise.
38807
38808 * video/bitmap.c: Likewise.
38809
38810 * video/readers/tga.c: Likewise.
38811
38812 * video/i386/pc/vbeutil.c: Likewise.
38813
38814 * commands/videotest.c: Code cleanup and updated to reflect to new
38815 video API.
38816
38817 * term/gfxterm.c: Likewise.
38818
38819 * video/video.c: Likewise.
38820
38821 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38822 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38823 (bitmap_mod_SOURCES): New entry.
38824 (bitmap_mod_CFLAGS): Likewise.
38825 (bitmap_mod_LDFLAGS): Likewise.
38826 (tga_mod_SOURCES): Likewise.
38827 (tga_mod_CFLAGS): Likewise.
38828 (tga_mod_LDFLAGS): Likewise.
38829
38830 * include/grub/video.h (grub_video_blit_operators): New enum type.
38831 (grub_video_render_target): Changed as forward declaration and moved
38832 actual definition to be video driver specific.
38833 (grub_video_adapter.blit_bitmap): Added blitting operator.
38834 (grub_video_adapter.blit_render_target): Likewise.
38835 (grub_video_blit_bitmap): Likewise.
38836 (grub_video_blit_render_target): Likewise.
38837
38838 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38839 driver specific render target definition.
38840 (grub_video_vbe_map_rgba): Added driver internal helper.
38841 (grub_video_vbe_unmap_color): Updated to use
38842 grub_video_i386_vbeblit_info.
38843 (grub_video_vbe_get_video_ptr): Likewise.
38844
38845 * include/grub/i386/pc/vbeblit.h
38846 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38847 grub_video_i386_vbeblit_info.
38848 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38849 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38850 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38851 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38852 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38853 (grub_video_i386_vbeblit_index_index): Likewise.
38854 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38855 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38856 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38857 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38858 operator.
38859 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38860 operator.
38861
38862 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38863 include/grub/i386/pc/vbeblit.h.
38864
38865 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38866 Updated to use grub_video_i386_vbeblit_info.
38867 (grub_video_i386_vbefill_R8G8B8): Likewise.
38868 (grub_video_i386_vbefill_index): Likewise.
38869 (grub_video_i386_vbefill): Added generic filler.
38870
38871 * video/i386/pc/vbefill.c: Updated to reflect changes on
38872 include/grub/i386/pc/vbefill.h.
38873
38874 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38875 grub_video_i386_vbeblit_info.
38876 (grub_video_vbe_unmap_color): Likewise.
38877 (grub_video_vbe_blit_glyph): Likewise.
38878 (grub_video_vbe_scroll): Likewise.
38879 (grub_video_vbe_draw_pixel): Removed function.
38880 (grub_video_vbe_get_pixel): Likewise.
38881 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38882 updated code to use it.
38883 (common_blitter): Added common blitter for render target and bitmap.
38884 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38885 (grub_video_vbe_blit_render_target): Likewise.
38886
bc8c036d 388872006-07-30 Johan Rydberg <jrydberg@gnu.org>
38888
38889 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38890 is in text mode if there is no console control protocol instance
38891 available.
38892
684a8eff 388932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38894
38895 * include/grub/video.h: Code cleanup.
38896
38897 * include/grub/i386/pc/vbe.h: Likewise.
38898
38899 * video/i386/pc/vbe.c: Likewise.
38900
38901 * video/i386/pc/vbeblit.c: Likewise.
38902
38903 * video/i386/pc/vbefill.c: Likewise.
38904
38905 * video/video.c: Likewise. Also added more comments.
38906
5915059b 389072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38908
38909 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38910 (struct grub_biosdisk_dap): Likewise.
38911
38912 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38913 linkage settings for all functions.
38914
90ce5d56 389152006-07-12 Marco Gerards <marco@gnu.org>
38916
38917 * configure.ac (--enable-mm-debug): Fix typo.
38918
38919 * genkernsyms.sh.in: Use proper quoting for `CC'.
38920
43e7f879 389212006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38922
38923 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38924 (normal_mod_ASFLAGS): Remove "-m32".
38925
4889bdec 389262006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38927
38928 * util/misc.c: Include config.h.
38929 [!HAVE_MEMALIGN]: Do not include malloc.h.
38930 (grub_memalign): Use posix_memalign, if present. Then, use
38931 memalign, if present. Otherwise, emit an error.
38932
38933 * util/grub-emu.c: Do not include malloc.h.
38934
38935 * include/grub/util/misc.h: Include unistd.h. This is required for
38936 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38937 D. Eades III <hde@foobar-qux.org>.
38938
38939 * configure.ac (AC_GNU_SOURCE): Added.
38940 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38941 type.
38942
fd39d4da 389432006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38944
38945 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38946 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38947
b786f3b5 389482006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38949
38950 * include/grub/types.h (grub_host_addr_t): Rename to
38951 grub_target_addr_t.
38952 (grub_host_off_t): Rename to grub_target_off_t.
38953 (grub_host_size_t): Rename to grub_target_size_t.
38954 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38955 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38956
38957 * include/grub/kernel.h (struct grub_module_header): Change type
38958 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38959 (grub_module_info): Likewise.
f19dbdb7 38960
051988bb 389612006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38962
38963 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38964 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38965 Velazquez <jesus.velazquez@gmail.com>.
38966
deae281b 389672006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38968
38969 Count partitions from 1 instead of 0 in the string representation
38970 of partitions. Still use 0-based internally.
f19dbdb7 38971
deae281b 38972 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38973 (sun_partition_map_iterate): Use grub_partition_t instead of
38974 struct grub_partition *. Cast DESC->START_CYLINDER to
38975 grub_uint64_t after converting the endian.
38976 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38977 (sun_partition_map_get_name): Add 1 to P->INDEX.
38978
38979 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38980 PCDATA->DOS_PART.
38981 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38982
38983 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38984 zero instead of one.
38985 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38986 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38987
38988 * partmap/apple.c (apple_partition_map_iterate): Change the type
38989 of POS to unsigned.
38990 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38991 (apple_partition_map_get_name): Add 1 into P->INDEX.
38992
38993 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38994 of POS to unsigned.
38995 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38996 calculate the offset of a partition.
38997 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38998 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38999
39000 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39001 SECTOR to grub_disk_addr_t.
39002 (acorn_partition_map_iterate): Likewise.
39003 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39004 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39005 top.
39006 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39007
39008 * kern/i386/pc/init.c (make_install_device): Add 1 into
39009 GRUB_INSTALL_DOS_PART.
39010
39011 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39012 conditional.
39013
524a1e6a 390142006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39015
39016 Clean up the code to support 64-bit addressing in disks and
39017 files. This change is not enough for filesystems yet.
f19dbdb7 39018
524a1e6a 39019 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39020 type of "start" to grub_uint64_t.
39021 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39022 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39023 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39024 convert addresses.
39025
39026 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39027 to grub_disk_addr_t.
39028
39029 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39030 string.
39031
39032 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39033
39034 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39035 to char *.
39036
39037 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39038
39039 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39040
39041 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39042
39043 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39044 to grub_off_t, to detect an error from grub_file_seek.
39045 (grub_multiboot_load_elf32): Likewise.
39046
39047 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39048 maximum unsigned long value when an overflow is detected.
39049 (grub_strtoull): New function.
39050 (grub_divmod64): Likewise.
39051 (grub_lltoa): use grub_divmod64.
39052
39053 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39054 grub_disk_addr_t.
39055 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39056 the pointer to next character. Use grub_strtoull instead of
39057 grub_strtoul.
39058 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39059 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39060 respectively.
39061
fe6b695a 39062 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39063 return value is signed.
39064 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39065 test if OFFSET is less than zero, as OFFSET is unsigned now.
39066
39067 * kern/disk.c (struct grub_disk_cache): Change the type of
39068 "sector" to grub_disk_addr_t.
39069 (grub_disk_cache_get_index): Change the type of SECTOR to
39070 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39071 unsigned after shifting.
39072 (grub_disk_cache_invalidate): Change the type of SECTOR to
39073 grub_disk_addr_t.
39074 (grub_disk_cache_unlock): Likewise.
39075 (grub_disk_cache_store): Likewise.
39076 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39077 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39078 grub_disk_addr_t and grub_uint64_t, respectively.
39079 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39080 body, as the value of OFFSET is tweaked by
39081 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39082 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39083 respectively.
39084 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39085 body, as the value of OFFSET is tweaked by
39086 grub_disk_check_range. Change the types of LEN and N to
39087 grub_size_t.
39088
39089 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39090 and "saved_offset" to grub_off_t.
39091 (test_header): Cast BUF to char *.
39092 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39093 to char *.
39094 (grub_gzio_read): Change the types of OFFSET and SIZE to
39095 grub_off_t and grub_size_t, respectively.
39096
39097 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39098 Removed.
39099 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39100 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39101 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39102 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39103 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39104
39105 * include/grub/types.h (grub_off_t): Unconditionally set to
39106 grub_uint64_t.
39107 (grub_disk_addr_t): Changed to grub_uint64_t.
39108
39109 * include/grub/partition.h (struct grub_partition): Change the
39110 types of "start", "len" and "offset" to grub_disk_addr_t,
39111 grub_uint64_t and grub_disk_addr_t, respectively.
39112 (grub_partition_get_start): Return grub_disk_addr_t.
39113 (grub_partition_get_len): Return grub_uint64_t.
39114
39115 * include/grub/misc.h (grub_strtoull): New prototype.
39116 (grub_divmod64): Likewise.
39117
39118 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39119 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39120 grub_off_t, respectively.
39121 All callers and references changed.
39122
39123 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39124 grub_size_t in "read".
39125 All callers and references changed.
39126
39127 * include/grub/file.h (struct grub_file): Change the types of
39128 "offset" and "size" to grub_off_t and grub_off_t,
39129 respectively. Change the type of SECTOR to grub_disk_addr_t in
39130 "read_hook".
39131 (grub_file_read): Change the type of LEN to grub_size_t.
39132 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39133 grub_off_t.
39134 (grub_file_size): Return grub_off_t.
39135 (grub_file_tell): Likewise.
39136 All callers and references changed.
39137
39138 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39139 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39140 "write".
39141 (struct grub_disk): Change the type of "total_sectors" to
39142 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39143 "read_hook".
524a1e6a 39144 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39145 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39146 (grub_disk_write): Likewise.
39147 All callers and references changed.
39148
39149 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39150 char * for grub_strncmp to silence gcc.
39151 (grub_iso9660_mount): Likewise.
39152 (grub_iso9660_mount): Likewise.
39153 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39154 return statement.
39155 (grub_iso9660_iterate_dir): Likewise.
39156 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39157
39158 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39159 LEN to grub_disk_addr_t and grub_size_t, respectively.
39160
39161 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39162
39163 * fs/jfs.c (grub_jfs_read_file): Likewise.
39164
39165 * fs/minix.c (grub_jfs_read_file): Likewise.
39166
39167 * fs/sfs.c (grub_jfs_read_file): Likewise.
39168
39169 * fs/ufs.c (grub_jfs_read_file): Likewise.
39170
39171 * fs/xfs.c (grub_jfs_read_file): Likewise.
39172
39173 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39174 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39175 respectively.
39176
39177 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39178 BLKNR to -1 instead of returning GRUB_ERRNO.
39179 (grub_ext2_read_file): Change the types of SECTOR and
39180 LEN to grub_disk_addr_t and grub_size_t, respectively.
39181
39182 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39183 LEN to grub_disk_addr_t and grub_size_t, respectively.
39184
39185 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39186 grub_file_read.
39187
39188 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39189 string. Do not cast SECTOR explicitly.
39190
39191 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39192 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39193 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39194 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39195 over 2TB and LBA mode is not supported, raise an error.
39196 (get_safe_sectors): New function.
39197 (grub_biosdisk_read): Use get_safe_sectors.
39198 (grub_biosdisk_write): Likewise.
39199
39200 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39201 (grub_efidisk_write): Likewise.
39202
39203 * disk/loopback.c (delete_loopback): Cosmetic changes.
39204 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39205 correctly.
39206 (grub_loopback_open): Likewise.
39207 (grub_loopback_read): Likewise. Also, change the type of POS to
39208 grub_off_t, and fix the usage of grub_memset.
39209
39210 * commands/i386/pc/play.c: Include grub/machine/time.h.
39211
39212 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39213 print FILE->SIZE.
39214
39215 * commands/configfile.c: Include grub/env.h.
39216
39217 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39218 GRUB_ERRNO directly instead. Change the type of POS to
39219 grub_off_t. Follow the coding standard.
39220
39221 * commands/blocklist.c: Include grub/partition.h.
39222 (grub_cmd_blocklist): Return an error if the underlying device is
39223 not a disk. Take the starting sector of a partition into account,
39224 if a partition is used.
39225
39226 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39227 a length field.
39228 (lba_mode): Support 64-bit addresses.
39229 (chs_mode): Likewise.
39230 (copy_buffer): Adapted to the new offsets of a length field and a
39231 segment field.
39232 (blocklist_default_start): Allocate 64-bit space.
39233
39234 * boot/i386/pc/boot.S (force_lba): Removed.
39235 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39236 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39237 space.
39238 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39239 is useless.
39240 (lba_mode): Refactored to support a 64-bit address. More size
39241 optimization.
39242 (setup_sectors): Likewise.
39243
53af98ad 392442006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39245
39246 * DISTLIST: Added include/grub/i386/linux.h. Removed
39247 include/grub/i386/pc/linux.h
39248
39249 * configure.ac (AC_INIT): Bumped to 1.94.
39250
39251 * config.guess: Updated from gnulib.
39252 * config.sub: Likewise.
39253 * install-sh: Likewise.
39254 * mkinstalldirs: Likewise.
39255
b4c1940a 392562006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39257
39258 * conf/common.rmk (grub_modules_init.lst): Depended on
39259 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39260 MODSRCFILES.
39261
39262 * genmk.rb (PModule::rule): Reverted the previous change.
39263
cfca1cfd 392642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39265
39266 * conf/common.rmk (grub_modules_init.lst): Depends on
39267 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39268 that the target does not exist before producing.
39269 (grub_modules_init.h): Remove the target before generating.
39270 (grub_emu_init.c): Likewise.
39271
39272 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39273
aa6d7826 392742006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39275
39276 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39277 for the target-specific tests. Make sure that we also have the
39278 up-to-date target variables for those tests.
39279
26c607b9 392802006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39281
39282 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39283 (PModule::rule): Likewise.
39284
0162321a 392852006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39286
39287 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39288 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39289 target-specific flags should be prefixed.
39290 (PModule::rule): Likewise.
39291
6c826348 392922006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39293
39294 * configure.ac (CMP): Check if cmp is available explicitly.
39295
b977bf01 392962006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39297
39298 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39299 (target_cpu): New variable.
39300 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39301
b977bf01 39302 * util/i386/pc/grub-install.in (host_cpu): Removed.
39303 (target_cpu): New variable.
39304 (pkglibdir): Use target_cpu instead of host_cpu.
39305
39306 * util/genmoddep.c: Removed.
f19dbdb7 39307
b977bf01 39308 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39309 instead of GRUB_HOST_SIZEOF_VOID_P.
39310 * kern/dl.c: Likewise.
39311
39312 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39313 ...
39314 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39315 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39316 (GRUB_TARGET_SIZEOF_LONG): ... this.
39317 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39318 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39319 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39320 to ...
39321 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39322 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39323 (GRUB_TARGET_SIZEOF_LONG): ... this.
39324 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39325 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39326 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39327 to ...
39328 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39329 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39330 (GRUB_TARGET_SIZEOF_LONG): ... this.
39331 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39332 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39333
39334 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39335 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39336 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39337 instead of GRUB_HOST_SIZEOF_LONG.
39338 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39339 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39340 GRUB_CPU_WORDS_BIGENDIAN.
39341 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39342 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39343 grub_host_ssize_t.
39344
39345 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39346 (genmoddep_SOURCES): Likewise.
39347 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39348 (genmoddep_SOURCES): Likewise.
39349 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39350 (genmoddep_SOURCES): Likewise.
39351 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39352 Likewise.
39353 (genmoddep_SOURCES): Likewise.
39354
39355 * genmoddep.awk: New file.
39356
39357 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39358 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39359 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39360 (PModule::rule): Likewise.
39361 (Program::rule): Likewise.
39362 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39363 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39364 respectively.
39365
39366 * configure.ac: Rewritten intensively to use host and target
39367 instead of build and host, respectively.
39368
39369 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39370 (host_cpu): Removed.
39371 (target_cpu): New variable.
39372 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39373 (BUILD_CC): Removed.
39374 (BUILD_CFLAGS): Likewise.
39375 (BUILD_CPPFLAGS): Likewise.
39376 (TARGET_CC): New variable.
39377 (TARGET_CFLAGS): Likewise.
39378 (TARGET_CPPFLAGS): Likewise.
39379 (TARGET_LDFLAGS): Likewise.
39380 (AWK): Likewise.
39381 (include): Use target_cpu instead of host_cpu.
39382 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39383
b977bf01 39384 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39385
f09771a1 393862006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39387
39388 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39389 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39390 field 'false' to 'exec_on_false'.
39391 (grub_script_create_cmdif): Renamed argument names to reflect above
39392 changes.
39393
39394 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39395
39396 * normal/script.c (grub_script_create_cmdif): Likewise.
39397
118f4fb3 393982006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39399
39400 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39401 top.
39402 (grub_hfsplus_btree_recptr): Likewise.
39403 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39404 FILEBLOCK both to pass a block number and store next block
39405 number.
39406 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39407 overflow file correctly. Specify errors appropriately, because
39408 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39409 grub_hfsplus_btree_recptr to get the pointer to a found key.
39410 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39411 is found.
39412
39413 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39414 linux.mod.
39415 (_linux_mod_SOURCES): New variable.
39416 (_linux_mod_CFLAGS): Likewise.
39417 (_linux_mod_LDFLAGS): Likewise.
39418 (linux_mod_SOURCES): Likewise.
39419 (linux_mod_CFLAGS): Likewise.
39420 (linux_mod_LDFLAGS): Likewise.
39421
39422 * DISTLIST: Added loader/i386/efi/linux.c,
39423 loader/i386/efi/linux_normal.c and
39424 include/grub/i386/efi/loader.h.
39425
39426 * loader/i386/efi/linux.c: New file.
39427 * loader/i386/efi/linux_normal.c: Likewise.
39428 * include/grub/i386/efi/loader.h: Likewise.
39429
89a7d726 394302006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39431
39432 * commands/blocklist.c: New file.
39433
39434 * DISTLIST: Added commands/blocklist.c.
39435
39436 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39437 color for the background, and a darker color for the foreground.
89a7d726 39438 (grub_console_checkkey): Return READ_KEY.
39439 (grub_console_cls): Set the background to
39440 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39441
39442 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39443
39444 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39445 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39446
39447 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39448 prototype.
39449
39450 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39451 BG. The spec is wrong again.
39452
39453 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39454 prototype.
39455 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39456
39457 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39458 commands/blocklist.c.
39459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39460
89a7d726 39461 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39462 (blocklist_mod_SOURCES): New variable.
39463 (blocklist_mod_CFLAGS): Likewise.
39464 (blocklist_mod_LDFLAGS): Likewise.
39465
75c8f258 394662006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39467
39468 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39469 duplication.
39470 (lba_mode): Use %eax more intensively to reduce the code size.
39471
da2eb181 394722006-05-20 Marco Gerards <marco@gnu.org>
39473
39474 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39475
39476 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39477 for `menuentry'.
39478 (script): Accept leading newlines.
39479 (newlines): New rule to describe 0 or more newlines.
39480 (commands): Accept `command' with trailing newline. Fixed the
39481 order in which arguments were passed to `grub_script_add_cmd'.
39482 Accept commands separated by newlines.
39483 (function): Changed to accept newlines.
39484 (menuentry) Rewritten.
39485
39486 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39487 front of the list, instead of to the end.
39488
577b4050 394892006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39490
39491 * util/i386/pc/grub-install.in (bindir): New variable.
39492 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39493 Shaver <lbgwjl@gmail.com>.
39494
0d6e1189 394952006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39496
39497 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39498 grub/machine/linux.h
39499 * loader/i386/pc/linux.c: Likewise.
39500
39501 * include/grub/i386/pc/linux.h: Moved to ...
39502 * include/grub/i386/linux.h: ... here.
39503
39504 * include/grub/i386/linux.h (struct linux_kernel_params): New
39505 struct.
f19dbdb7 39506
31b86e9f 395072006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39508
39509 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39510 checking.
39511 (grub_video_vbe_blit_glyph): Likewise.
39512 (grub_video_vbe_blit_bitmap): Likewise.
39513 (grub_video_vbe_blit_render_target): Likewise.
39514
83b984de 395152006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39516
39517 * configure.ac (--with-platform): Properly quote the square
39518 brackets.
39519
5f0413bd 395202006-05-08 Marco Gerards <marco@gnu.org>
39521
39522 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39523 this...
39524 (kernel_elf_HEADERS): ...to this. Updated all users.
39525 (grubof_symlist.c): Renamed from this...
39526 (kernel_elf_symlist.c): ...to this. Updated all users.
39527 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39528 (grubof_SOURCES): Renamed from this...
39529 (kernel_elf_SOURCES): ...to this.
39530 (grubof_HEADERS): Renamed from this...
39531 (kernel_elf_HEADERS): ...to this.
39532 (grubof_CFLAGS): Renamed from this...
39533 (kernel_elf_CFLAGS): ...to this.
39534 (grubof_ASFLAGS): Renamed from this...
39535 (kernel_elf_ASFLAGS): ...to this.
39536 (grubof_LDFLAGS): Renamed from this...
39537 (kernel_elf_LDFLAGS): ...to this.
39538
39539 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39540 this...
39541 (kernel_elf_HEADERS): ...to this. Updated all users.
39542 (grubof_symlist.c): Renamed from this...
39543 (kernel_elf_symlist.c): ...to this. Updated all users.
39544 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39545 (grubof_SOURCES): Renamed from this...
39546 (kernel_elf_SOURCES): ...to this.
39547 (grubof_HEADERS): Renamed from this...
39548 (kernel_elf_HEADERS): ...to this.
39549 (grubof_CFLAGS): Renamed from this...
39550 (kernel_elf_CFLAGS): ...to this.
39551 (grubof_ASFLAGS): Renamed from this...
39552 (kernel_elf_ASFLAGS): ...to this.
39553 (grubof_LDFLAGS): Renamed from this...
39554 (kernel_elf_LDFLAGS): ...to this.
39555
39556 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39557 `kernel.elf' instead of `grubof'.
39558
05568c2e 395592006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39560
39561 Add --with-platform to configure. Use pkglibdir instead of
39562 pkgdatadir. This is reported by Roger Leigh.
39563
39564 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39565 (host_vendor): Likewise.
39566 (host_os): Likewise.
39567 (pkgdatadir): Likewise.
39568 (platform): New variable.
39569 (pkglibdir): Likewise.
39570 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39571
05568c2e 39572 * util/i386/pc/grub-install.in (datadir): Removed.
39573 (host_vendor): Likewise.
39574 (host_os): Likewise.
39575 (pkgdatadir): Likewise.
39576 (platform): New variable.
39577 (pkglibdir): Likewise.
39578 Use PKGLIBDIR instead of PKGDATADIR.
39579
39580 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39581 instead of GRUB_DATADIR.
39582 (main): Likewise.
39583 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39584 (main): Likewise.
39585 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39586 (main): Likewise.
39587
39588 * configure.ac (--with-platform): New option.
39589 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39590
39591 * Makefile.in: Include a makefile based on PLATFORM instead of
39592 HOST_VENDOR.
39593 (pkgdatadir): Not appended by the machine type.
39594 (pkglibdir): Appended by the machine type.
39595 (host_vendor): Removed.
39596 (platform): New variable.
39597 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39598 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39599 (uninstall): Likewise.
39600
4e93851c 396012006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39602
39603 Use the environment context in the menu. Remove the commands
39604 "default" and "timeout", and use variables instead.
f19dbdb7 39605
4e93851c 39606 * normal/menu.c: Include grub/env.h.
39607 (print_entry): Cast TITLE to silence gcc.
39608 (get_timeout): New function.
39609 (set_timeout): Likewise.
39610 (get_entry_number): Likewise.
39611 (run_menu): Use a default entry, a fallback entry and a timeout
39612 in the environment variables "default", "fallback" and
39613 "timeout". Also, tweak the default entry if it is not within the
39614 current menu entries.
39615 (grub_menu_run): Use a fallback entry in the environment variable
39616 "fallback".
39617
39618 * normal/main.c (read_config_file): Do not initialize
39619 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39620 NEWMENU->TIMEOUT.
39621 (grub_normal_execute): Use a data slot to store the menu.
39622
39623 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39624 fallback_entry and timeout.
39625 (struct grub_menu_list): Removed.
39626 (grub_menu_list_t): Likewise.
39627 (struct grub_context): Likewise.
39628 (grub_context_t): Likewise.
39629 (grub_context_get): Likewise.
39630 (grub_context_get_current_menu): Likewise.
39631 (grub_context_push_menu): Likewise.
39632 (grub_context_pop_menu): Likewise.
39633 (grub_default_init): Likewise.
39634 (grub_default_fini): Likewise.
39635 (grub_timeout_init): Likewise.
39636 (grub_timeout_fini): Likewise.
39637
39638 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39639 and timeout.mod.
39640 (normal_mod_SOURCES): Removed normal/context.c.
39641
39642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39643 commands/default.c, commands/timeout.c and normal/context.c.
39644 (normal_mod_SOURCES): Removed normal/context.c.
39645
39646 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39647 commands/timeout.c and normal/context.c.
39648 (normal_mod_SOURCES): Removed normal/context.c.
39649
39650 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39651 commands/default.c, commands/timeout.c and normal/context.c.
39652 (normal_mod_SOURCES): Removed normal/context.c.
39653
39654 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39655 timeout.mod.
39656 (default_mod_SOURCES): Removed.
39657 (default_mod_CFLAGS): Likewise.
39658 (default_mod_LDFLAGS): Likewise.
39659 (timeout_mod_SOURCES): Removed.
39660 (timeout_mod_CFLAGS): Likewise.
39661 (timeout_mod_LDFLAGS): Likewise.
39662
39663 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39664 normal/context.c.
39665
39666 * commands/default.c: Removed.
39667 * commands/timeout.c: Likewise.
39668 * normal/context.c: Likewise.
39669
1eb9cc1d 396702006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39671
39672 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39673
385bd9c1 396742006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39675
39676 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39677 "next" to "prev" for readability.
39678 (struct grub_env_sorted_var): New struct.
39679 (grub_env_context): Renamed to ...
39680 (initial_context): ... this.
39681 (grub_env_var_context): Renamed to ...
39682 (current_context): ... this.
39683 (grub_env_find): Look only at CURRENT_CONTEXT.
39684 (grub_env_context_open): Rewritten to copy exported variables from
39685 previous context.
39686 (grub_env_context_close): Rewritten according to the new
39687 scheme. Also, add an assertion to prevent the initial context from
39688 removed.
39689 (grub_env_insert): Removed the code for the sorted list.
39690 (grub_env_remove): Likewise.
39691 (grub_env_export): Simply mark the variable with
39692 GRUB_ENV_VAR_GLOBAL.
39693 (grub_env_set): A cosmetic change for naming consistency.
39694 (grub_env_get): Likewise.
39695 (grub_env_unset): Likewise.
39696 (grub_env_iterate): Rewritten to sort variables within this
39697 function.
39698 (grub_register_variable_hook): Fixed for naming consistency. Call
39699 grub_env_find again, only if NAME is not found at the first time.
39700 (mangle_data_slot_name): New function.
39701 (grub_env_set_data_slot): Likewise.
39702 (grub_env_get_data_slot): Likewise.
39703 (grub_env_unset_data_slot): Likewise.
39704
39705 * include/grub/env.h (grub_env_var_type): New enum.
39706 (GRUB_ENV_VAR_LOCAL): New constant.
39707 (GRUB_ENV_VAR_GLOBAL): Likewise.
39708 (GRUB_ENV_VAR_DATA): Likewise.
39709 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39710 "type".
39711 (grub_env_set): Replace VAR with NAME for consistency.
39712 (grub_register_variable_hook): Likewise.
39713 (grub_env_export): Specify the name of the argument.
39714 (grub_env_set_data_slot): New prototype.
39715 (grub_env_get_data_slot): Likewise.
39716 (grub_env_unset_data_slot): Likewise.
39717
7f362539 397182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39719
39720 Extend the loader so that GRUB can accept a loader which comes
39721 back to GRUB when a loaded image exits. Also, this change adds
39722 support for a chainloader on EFI.
f19dbdb7 39723
7f362539 39724 * term/efi/console.c: Include grub/misc.h.
39725 (grub_console_checkkey): Display a scan code on the top for
39726 debugging. This will be removed once the EFI port gets stable.
39727 Correct the scan code mapping.
39728
39729 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39730 allocate memory from larger regions, in order to reduce the number
39731 of allocated regions. Otherwise, the MacOSX loader panics.
39732 (filter_memory_map): Avoid less than 1MB for compatibility with
39733 other loaders.
39734 (add_memory_regions): Allocate from the tail of a region, if
39735 possible, to avoid allocating a region near to 1MB, for the MacOSX
39736 loader.
39737
39738 * kern/efi/init.c (grub_efi_set_prefix): Specify
39739 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39740
39741 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39742 argument IMAGE_HANDLE and specify it to get a loaded image.
39743 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39744 grub_efi_get_loaded_image.
fe6b695a 39745 (grub_efi_get_filename): Divide the length by the size of
7f362539 39746 grub_efi_char16_t.
39747 (grub_efi_get_device_path): New function.
39748 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39749 the length by the size of grub_efi_char16_t for a file path device
39750 path node.
39751
39752 * kern/loader.c (grub_loader_noreturn): New variable.
39753 (grub_loader_set): Accept a new argument NORETURN. Set
39754 GRUB_LOADER_NORETURN to NORETURN.
39755 All callers changed.
39756 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39757 grub_machine_fini.
39758
39759 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39760 prototype.
39761 (grub_efi_get_loaded_image): Take an argument to specify an image
39762 handle.
39763
39764 * include/grub/loader.h (grub_loader_set): Added one more argument
39765 NORETURN.
39766
39767 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39768 instead of grub_efi_open_protocol.
39769 (grub_efidisk_get_device_name): Likewise.
39770 (grub_efidisk_close): Print a newline.
39771 (grub_efidisk_get_device_handle): Fixed to use
39772 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39773 GRUB_EFI_DEVICE_PATH_TYPE.
39774
39775 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39776 * kern/efi/efi.c (device_path_guid): ... here.
39777
39778 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39779 chain.mod.
39780 (kernel_mod_HEADERS): Added efi/disk.h.
39781 (_chain_mod_SOURCES): New variable.
39782 (_chain_mod_CFLAGS): Likewise.
39783 (_chain_mod_LDFLAGS): Likewise.
39784 (chain_mod_SOURCES): Likewise.
39785 (chain_mod_CFLAGS): Likewise.
39786 (chain_mod_LDFLAGS): Likewise.
39787
39788 * DISTLIST: Added include/grub/efi/chainloader.h,
39789 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39790
39791 * include/grub/efi/chainloader.h: New file.
39792 * loader/efi/chainloader.c: Likewise.
39793 * loader/efi/chainloader_normal.c: Likewise.
39794
c0111d6e 397952006-04-30 Marco Gerards <marco@gnu.org>
39796
39797 * commands/configfile.c (grub_cmd_source): New function.
39798 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39799 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39800
df5341da 398012006-04-30 Marco Gerards <marco@gnu.org>
39802
39803 * normal/execute.c (grub_script_execute_cmd): Change the return
39804 type to `grub_err_t'. Correctly return the error.
39805 (grub_script_execute_cmdline): In case a command line is not a
39806 command or a function, try to interpret it as an assignment.
39807
f85934bd 398082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39809
39810 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39811 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39812 skip a node whose name is obviously invalid as UTF-16,
39813 i.e. contains a NUL character. Stop the iteration when the last
39814 directory entry is found. Instead of using the return value of
39815 grub_hfsplus_btree_iterate_node, store the value in RET and use
39816 it, because the iterator can be stopped by the last directory
39817 entry.
39818
8f8a2cf8 398192006-04-30 Marco Gerards <marco@gnu.org>
39820
39821 * include/grub/env.h (grub_env_export): New prototype. Reported
39822 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39823
a27e84ce 398242006-04-30 Marco Gerards <marco@gnu.org>
39825
39826 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39827 size of the extents in a catalog file record.
39828
eaef0553 398292006-04-29 Marco Gerards <marco@gnu.org>
39830
39831 * commands/configfile.c (grub_cmd_configfile): Execute the
39832 configfile within its own context.
39833
39834 * include/grub/env.h (grub_env_context_open): New prototype.
39835 (grub_env_context_close): Likewise.
39836
39837 * kern/env.c (grub_env): Removed.
39838 (grub_env_sorted): Likewise.
39839 (grub_env_context): New variable.
39840 (grub_env_var_context): Likewise.
39841 (grub_env_find): Search both the active context and the global
39842 context.
39843 (grub_env_context_open): New function.
39844 (grub_env_context_close): Likewise.
39845 (grub_env_insert): Likewise.
39846 (grub_env_remove): Likewise.
39847 (grub_env_export): Likewise.
39848 (grub_env_set): Changed to use helper functions to avoid code
39849 duplication.
39850 (grub_env_iterate): Rewritten so both the current context and the
39851 global context are being used.
39852
39853 * normal/command.c (export_command): New function.
39854 (grub_command_init): Register the `export' function.
39855
7b455f4d 398562006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39857
39858 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39859 explicitly to suppress gcc's warnings.
39860 * fs/fat.c (grub_fat_find_dir): Likewise.
39861 (grub_fat_label): Likewise.
39862 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39863 (grub_xfs_mount): Likewise.
39864 (grub_xfs_label): Likewise.
39865 * fs/affs.c (grub_affs_mount): Likewise.
39866 (grub_affs_label): Likewise.
39867 (grub_affs_iterate_dir): Likewise.
39868 * fs/sfs.c (grub_sfs_mount): Likewise.
39869 (grub_sfs_iterate_dir): Likewise.
39870 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39871 * fs/hfs.c (grub_hfs_mount): Likewise.
39872 (grub_hfs_cmp_catkeys): Likewise.
39873 (grub_hfs_find_dir): Likewise.
39874 (grub_hfs_dir): Likewise.
39875 (grub_hfs_label): Likewise.
39876 * fs/jfs.c (grub_jfs_mount): Likewise.
39877 (grub_jfs_opendir): Likewise.
39878 (grub_jfs_getent): Likewise.
39879 (grub_jfs_lookup_symlink): Likewise.
39880 (grub_jfs_label): Likewise.
39881 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39882 (grub_hfsplus_iterate_dir): Likewise.
39883 (grub_hfsplus_btree_iterate_node): Made static.
39884
39885 * util/grub-emu.c (prefix): New variable.
39886 (grub_machine_set_prefix): New function.
39887 (main): Do not set the environment variable "prefix" here. Only
39888 set PREFIX, which is used later by grub_machine_set_prefix.
39889
39890 * include/grub/video.h: Do not include grub/symbol.h.
39891 (grub_video_register): Not exported. This symbol is not defined in
39892 the kernel.
39893 (grub_video_unregister): Likewise.
39894 (grub_video_iterate): Likewise.
39895 (grub_video_setup): Likewise.
39896 (grub_video_restore): Likewise.
39897 (grub_video_get_info): Likewise.
39898 (grub_video_get_blit_format): Likewise.
39899 (grub_video_set_palette): Likewise.
39900 (grub_video_get_palette): Likewise.
39901 (grub_video_set_viewport): Likewise.
39902 (grub_video_get_viewport): Likewise.
39903 (grub_video_map_color): Likewise.
39904 (grub_video_map_rgb): Likewise.
39905 (grub_video_map_rgba): Likewise.
39906 (grub_video_fill_rect): Likewise.
39907 (grub_video_blit_glyph): Likewise.
39908 (grub_video_blit_bitmap): Likewise.
39909 (grub_video_blit_render_target): Likewise.
39910 (grub_video_scroll): Likewise.
39911 (grub_video_swap_buffers): Likewise.
39912 (grub_video_create_render_target): Likewise.
39913 (grub_video_delete_render_target): Likewise.
39914 (grub_video_set_active_render_target): Likewise.
39915
39916 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39917 Undefined.
39918 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39919
39920 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39921 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39922 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39923 instead of $(srcdir)/genkernsyms.sh.
39924
39925 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39926 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39927 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39928 instead of $(srcdir)/genkernsyms.sh.
39929
39930 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39931 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39932 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39933 instead of $(srcdir)/genkernsyms.sh.
39934
39935 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39936 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39937 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39938 instead of $(srcdir)/genkernsyms.sh.
39939
39940 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39941 genkernsyms.sh.
39942
39943 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39944 genkernsyms.sh.
39945 (gensymlist.sh): New target.
39946 (genkernsyms.sh): Likewise.
39947
39948 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39949 genkernsyms.sh.in and gensymlist.sh.in.
39950
39951 * genkernsyms.sh: Removed.
39952 * gensymlist.sh: Likewise.
f19dbdb7 39953
7b455f4d 39954 * genkernsyms.sh.in: New file.
39955 * gensymlist.sh.in: Likewise.
39956
1885bb27 399572006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39958
39959 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39960 clobber "prefix", since we may have already set it manually.
39961
71538dff 399622006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39963
39964 * kern/misc.c (abort): New alias for grub_abort.
39965
2965c7cc 399662006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39967
39968 A new machine-specific function "grub_machine_set_prefix" is
39969 defined. This is called after loading modules, so that a prefix
39970 initialization can use modules. Also, this change adds an
39971 intensive debugging feature for the memory manager via the
39972 configure option "--enable-mm-debug".
f19dbdb7 39973
2965c7cc 39974 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39975 PART.LEN.
39976
39977 * kern/sparc64/ieee1275/init.c (abort): Removed.
39978 (grub_stop): Likewise.
39979 (grub_exit): New function.
39980 (grub_set_prefix): Renamed to ...
39981 (grub_machine_set_prefix): ... this.
39982 (grub_machine_init): Do not call grub_set_prefix.
39983
39984 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39985 (grub_machine_set_prefix): ... this.
39986 (grub_machine_init): Do not call grub_set_prefix.
39987
39988 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39989 (grub_machine_init): Do not set the prefix here.
39990
39991 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39992
39993 * kern/efi/init.c: Include grub/mm.h.
39994 (grub_efi_set_prefix): New function.
39995
39996 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39997 (grub_efi_get_filename): New function.
39998 (grub_print_device_path): Renamed to ...
39999 (grub_efi_print_device_path): ... this.
40000
40001 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40002 [MM_DEBUG] (grub_realloc): Likewise.
40003 [MM_DEBUG] (grub_free): Likewise.
40004 [MM_DEBUG] (grub_memalign): Likewise.
40005 [MM_DEBUG] (grub_mm_debug): New variable.
40006 [MM_DEBUG] (grub_debug_malloc): New function.
40007 [MM_DEBUG] (grub_debug_free): New function.
40008 [MM_DEBUG] (grub_debug_realloc): New function.
40009 [MM_DEBUG] (grub_debug_memalign): New function.
40010
40011 * kern/misc.c (grub_abort): Print a newline to distinguish
40012 the message.
40013
40014 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40015 grub_set_root_dev after loading modules. This is necessary when
40016 setting a prefix depends on modules.
40017
40018 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40019 (grub_efi_print_device_path): ... this.
40020 (grub_efi_get_filename): New prototype.
40021 (grub_efi_set_prefix): Likewise.
40022
40023 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40024 and grub/disk.h.
40025 (grub_efidisk_get_device_handle): New prototype.
40026 (grub_efidisk_get_device_name): Likewise.
40027
40028 * include/grub/mm.h: Include config.h.
40029 (MM_DEBUG): Removed.
40030 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40031 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40032 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40033 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40034 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40035 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40036 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40037 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40038 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40039
40040 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40041
40042 * disk/efi/efidisk.c: Include grub/partition.h.
40043 (iterate_child_devices): New function.
40044 (add_device): First, compare only last device path nodes, so that
40045 devices are sorted by the types.
40046 (grub_efidisk_get_device_handle): New function.
40047 (grub_efidisk_get_device_name): Likewise.
40048
40049 * configure.ac (--enable-mm-debug): New option to enable the
40050 memory manager debugging feature. This makes the binary much
40051 bigger, so is disabled by default.
40052
9cacaa17 400532006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40054
40055 Use grub_abort instead of grub_stop, and grub_exit must be
40056 define in each architecture now. Also, this change adds support
40057 for EFI disks.
f19dbdb7 40058
9cacaa17 40059 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40060 (grub_getkey): New function.
40061 (grub_term_get_current): Likewise.
40062
40063 * util/i386/pc/grub-setup.c: Include grub/term.h.
40064 (grub_getkey): New function.
40065 (grub_term_get_current): Likewise.
40066
40067 * util/misc.c (grub_stop): Renamed to ...
40068 (grub_exit): ... this.
40069
40070 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40071 (grub_exit): ... this.
40072 (grub_machine_init): Use grub_abort instead of abort.
40073 (grub_stop): Removed.
40074
40075 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40076 abort.
40077
40078 * kern/i386/pc/startup.S (grub_exit): New function.
40079 (cold_reboot): New label.
40080
40081 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40082 (grub_efi_init): Call grub_efidisk_init.
40083 (grub_efi_fini): Call grub_efidisk_fini.
40084
40085 * kern/efi/efi.c: Include grub/mm.h.
40086 (grub_efi_console_control_guid): Renamed to ...
40087 (console_control_guid): ... this.
40088 (grub_efi_loaded_image_guid): Renamed to ...
40089 (loaded_image_guid): ... this.
40090 (grub_efi_locate_handle): New function.
40091 (grub_efi_open_protocol): Likewise.
40092 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40093 GRUB_EFI_CONSOLE_CONTROL_GUID.
40094 (grub_efi_exit): Removed.
40095 (grub_stop): Likewise.
40096 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40097 (grub_exit): New function.
40098 (grub_print_device_path): Likewise.
40099
40100 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40101 (grub_enter_rescue_mode): Register "exit".
40102
40103 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40104 (grub_abort): New function.
40105
40106 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40107
40108 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40109
40110 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40111
40112 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40113 (grub_print_device_path): New prototype.
40114 (grub_efi_locate_handle): Likewise.
40115 (grub_efi_open_protocol): Likewise.
40116
40117 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40118 * disk/efi/efidisk.c: Likewise.
40119
40120 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40121
40122 * include/grub/efi/console_control.h
40123 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40124
40125 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40126 last 8 bytes as an array.
40127 (GRUB_EFI_DISK_IO_GUID): New macro.
40128 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40129 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40130 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40131 grub_uint8_t.
40132 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40133 (struct grub_efi_device_path): Rename the member "sub_type" to
40134 "subtype".
40135 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40136 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40137 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40138 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40139 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40140 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40141 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40142 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40143 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40144 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40145 (struct grub_efi_pci_device_path): New structure.
40146 (grub_efi_pci_device_path_t): New type.
40147 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40148 (struct grub_efi_pccard_device_path): New structure.
40149 (grub_efi_pccard_device_path_t): New type.
40150 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40151 (struct grub_efi_memory_mapped_device_path): New structure.
40152 (grub_efi_memory_mapped_device_path_t): New type.
40153 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40154 (struct grub_efi_vendor_device_path): New structure.
40155 (grub_efi_vendor_device_path_t): New type.
40156 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40157 (struct grub_efi_controller_device_path): New structure.
40158 (grub_efi_controller_device_path_t): New type.
40159 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40160 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40161 (struct grub_efi_acpi_device_path): New structure.
40162 (grub_efi_acpi_device_path_t): New type.
40163 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40164 (struct grub_efi_expanded_acpi_device_path): New structure.
40165 (grub_efi_expanded_acpi_device_path_t): New type.
40166 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40167 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40168 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40169 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40170 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40171 (struct grub_efi_atapi_device_path): New structure.
40172 (grub_efi_atapi_device_path_t): New type.
40173 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40174 (struct grub_efi_fibre_channel_device_path): New structure.
40175 (grub_efi_fibre_channel_device_path_t): New type.
40176 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40177 (struct grub_efi_1394_device_path): New structure.
40178 (grub_efi_1394_device_path_t): New type.
40179 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40180 (struct grub_efi_usb_device_path): New structure.
40181 (grub_efi_usb_device_path_t): New type.
40182 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40183 (struct grub_efi_usb_class_device_path): New structure.
40184 (grub_efi_usb_class_device_path_t): New type.
40185 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40186 (struct grub_efi_i2o_device_path): New structure.
40187 (grub_efi_i2o_device_path_t): New type.
40188 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40189 (struct grub_efi_mac_address_device_path): New structure.
40190 (grub_efi_mac_address_device_path_t): New type.
40191 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40192 (struct grub_efi_ipv4_device_path): New structure.
40193 (grub_efi_ipv4_device_path_t): New type.
40194 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40195 (struct grub_efi_ipv6_device_path): New structure.
40196 (grub_efi_ipv6_device_path_t): New type.
40197 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40198 (struct grub_efi_infiniband_device_path): New structure.
40199 (grub_efi_infiniband_device_path_t): New type.
40200 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40201 (struct grub_efi_uart_device_path): New structure.
40202 (grub_efi_uart_device_path_t): New type.
40203 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40204 (struct grub_efi_vendor_messaging_device_path): New structure.
40205 (grub_efi_vendor_messaging_device_path_t): New type.
40206 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40207 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40208 (struct grub_efi_hard_drive_device_path): New structure.
40209 (grub_efi_hard_drive_device_path_t): New type.
40210 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40211 (struct grub_efi_cdrom_device_path): New structure.
40212 (grub_efi_cdrom_device_path_t): New type.
40213 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40214 (struct grub_efi_vendor_media_device_path): New structure.
40215 (grub_efi_vendor_media_device_path_t): New type.
40216 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40217 (struct grub_efi_file_path_device_path): New structure.
40218 (grub_efi_file_path_device_path_t): New type.
40219 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40220 (struct grub_efi_protocol_device_path): New structure.
40221 (grub_efi_protocol_device_path_t): New type.
40222 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40223 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40224 (struct grub_efi_bios_device_path): New structure.
40225 (grub_efi_bios_device_path_t): New type.
40226 (struct grub_efi_disk_io): New structure.
40227 (grub_efi_disk_io_t): New type.
40228 (struct grub_efi_block_io_media): New structure.
40229 (grub_efi_block_io_media_t): New type.
40230 (struct grub_efi_block_io): New structure.
40231 (grub_efi_block_io_t): New type.
40232
40233 * include/grub/misc.h (grub_stop): Removed.
40234 (grub_exit): New prototype.
40235 (grub_abort): Likewise.
40236
40237 * include/grub/disk.h (enum grub_disk_dev_id): Added
40238 GRUB_DISK_DEVICE_EFIDISK_ID.
40239
40240 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40241 disk/efi/efidisk.c.
40242 (kernel_syms.lst): Remove the target if an error occurs.
40243
49986a9f 402442006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40245
40246 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40247 as it was simply too buggy.
40248
970d3b8a 402492006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40250
40251 * kern/misc.c (grub_lltoa): New function.
40252 (grub_vsprintf): Added support for the long long suffix,
40253 i.e. "ll".
40254
ff04ec24 402552006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40256
40257 * Makefile.in (LDFLAGS): Add variable.
40258 (LD): Remove variable.
40259 * configure.ac: Add -m32 to LDFLAGS.
40260 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40261 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40262 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40263 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40264 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40265 variables.
40266 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40267 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40268 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40269
37e5e1a4 402702006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40271
40272 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40273 length for unknown glyph.
40274
c352d8dd 402752006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40276
2eab1c0d 40277 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40278
2eab1c0d 40279 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40280 completely. Accept one more argument DIR. The caller has changed.
40281
40282 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40283
40284 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40285 (grub_efi_loaded_image_guid): New variable.
40286 (grub_efi_get_loaded_image): New function.
40287 (grub_arch_modules_addr): Likewise.
40288
40289 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40290 prototype.
40291
40292 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40293 (struct grub_efi_loaded_image): New structure.
40294 (grub_efi_loaded_image_t): New type.
40295
402962006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40297
c352d8dd 40298 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40299 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40300 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40301
6d01d6b4 403022006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40303
40304 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40305
976a4ea0 403062006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40307
40308 * DISTLIST: Added include/grub/efi/console.h,
40309 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40310 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40311
40312 * include/grub/efi/console.h: New file.
40313 * include/grub/efi/time.h: Likewise.
40314 * include/grub/i386/efi/kernel.h: Likewise.
40315 * kern/efi/init.c: Likewise.
40316 * kern/efi/mm.c: Likewise.
40317 * term/efi/console.c: Likewise.
f19dbdb7 40318
976a4ea0 40319 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40320 (grub_stop): Removed.
40321 (grub_get_rtc): Likewise.
40322 (grub_machine_init): Simply call grub_efi_init.
40323 (grub_machine_fini): Call grub_efi_fini.
40324
40325 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40326 (grub_efi_output_string): Removed.
40327 (grub_efi_stall): New function.
40328 (grub_stop): Likewise.
40329 (grub_get_rtc): Likewise.
40330
40331 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40332 (grub_efi_stall): New prototype.
40333 (grub_efi_allocate_pages): Likewise.
40334 (grub_efi_free_pages): Likewise.
40335 (grub_efi_get_memory_map): Likewise.
40336 (grub_efi_mm_init): Likewise.
40337 (grub_efi_mm_fini): Likewise.
40338 (grub_efi_init): Likewise.
40339 (grub_efi_fini): Likewise.
40340
40341 * include/grub/i386/efi/time.h: Do not include
40342 grub/symbol.h. Include grub/efi/time.h.
40343 (GRUB_TICKS_PER_SECOND): Removed.
40344 (grub_get_rtc): Likewise.
40345
40346 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40347 Added padding. The EFI spec is buggy.
40348 (GRUB_EFI_BLACK): New macro.
40349 (GRUB_EFI_BLUE): Likewise.
40350 (GRUB_EFI_GREEN): Likewise.
40351 (GRUB_EFI_CYAN): Likewise.
40352 (GRUB_EFI_RED): Likewise.
40353 (GRUB_EFI_MAGENTA): Likewise.
40354 (GRUB_EFI_BROWN): Likewise.
40355 (GRUB_EFI_LIGHTGRAY): Likewise.
40356 (GRUB_EFI_BRIGHT): Likewise.
40357 (GRUB_EFI_DARKGRAY): Likewise.
40358 (GRUB_EFI_LIGHTBLUE): Likewise.
40359 (GRUB_EFI_LIGHTGREEN): Likewise.
40360 (GRUB_EFI_LIGHTCYAN): Likewise.
40361 (GRUB_EFI_LIGHTRED): Likewise.
40362 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40363 (GRUB_EFI_YELLOW): Likewise.
40364 (GRUB_EFI_WHITE): Likewise.
40365 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40366 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40367 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40368 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40369 (GRUB_EFI_BACKGROUND_RED): Likewise.
40370 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40371 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40372 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40373 (GRUB_EFI_TEXT_ATTR): Likewise.
40374
40375 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40376 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40377 (kernel_mod_HEADERS): Added efi/time.h.
40378
83709125 403792006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40380
40381 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40382 include/grub/efi/api.h, include/grub/efi/console_control.h,
40383 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40384 include/grub/i386/efi/time.h, kern/efi/efi.c,
40385 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40386 and util/i386/efi/grub-mkimage.c.
40387
40388 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40389
40390 * genmk.rb (PModule#rule): Do not export symbols if
40391 #{prefix}_EXPORTS is set to "no".
40392
40393 * conf/i386-efi.mk: New file.
40394 * conf/i386-efi.rmk: Likewise.
40395 * include/grub/efi/api.h: Likewise.
40396 * include/grub/efi/console_control.h: Likewise.
40397 * include/grub/efi/efi.h: Likewise.
40398 * include/grub/efi/pe32.h: Likewise.
40399 * include/grub/i386/efi/time.h: Likewise.
40400 * kern/efi/efi.c: Likewise.
40401 * kern/i386/efi/init.c: Likewise.
40402 * kern/i386/efi/startup.S: Likewise.
40403 * util/i386/efi/grub-mkimage.c: Likewise.
40404
404052006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40406
40407 * include/grub/script.h: Include <grub/parser.h> and
40408 "grub_script.tab.h".
40409 (struct grub_lexer_param): New struct.
40410 (struct grub_parser_param): Likewise.
40411 (grub_script_create_arglist): Pass the state in an argument.
40412 (grub_script_add_arglist): Likewise.
40413 (grub_script_create_cmdline): Likewise.
40414 (grub_script_create_cmdblock): Likewise.
40415 (grub_script_create_cmdif): Likewise.
40416 (grub_script_create_cmdmenu): Likewise.
40417 (grub_script_add_cmd): Likewise.
40418 (grub_script_arg_add): Likewise.
40419 (grub_script_lexer_ref): Likewise.
40420 (grub_script_lexer_deref): Likewise.
40421 (grub_script_lexer_record_start): Likewise.
40422 (grub_script_lexer_record_stop): Likewise.
40423 (grub_script_mem_record): Likewise.
40424 (grub_script_mem_record_stop): Likewise.
40425 (grub_script_malloc): Likewise.
40426 (grub_script_yylex): Likewise.
40427 (grub_script_yyparse): Likewise.
40428 (grub_script_yyerror): Likewise.
40429 (grub_script_yylex): Likewise.
40430 (grub_script_lexer_init): Return the state.
40431
40432 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40433 (grub_script_lexer_done): Likewise.
40434 (grub_script_lexer_getline): Likewise.
40435 (grub_script_lexer_refs): Likewise.
40436 (script): Likewise.
40437 (newscript): Likewise.
40438 (record): Likewise.
40439 (recording): Likewise.
40440 (recordpos): Likewise.
40441 (recordlen): Likewise.
40442 (grub_script_lexer_init): Return the state instead of setting
40443 global variables.
40444 (grub_script_lexer_ref): Use the newly added argument for state
40445 instead of globals.
40446 (grub_script_lexer_deref): Likewise.
40447 (grub_script_lexer_record_start): Likewise.
40448 (grub_script_lexer_record_stop): Likewise.
40449 (recordchar): Likewise.
40450 (nextchar): Likewise.
40451 (grub_script_yylex2): Likewise.
40452 (grub_script_yylex): Likewise.
40453 (grub_script_yyerror): Likewise.
40454
40455 * normal/parser.y (func_mem): Removed variable.
40456 (menu_entry): Likewise.
40457 (err): Likewise.
40458 (%lex-param): New parser option.
40459 (%parse-param): Likewise.
40460 (script): Always return the AST.
40461 (argument): Pass the state around.
40462 (arguments): Likewise.
40463 (grubcmd): Likewise.
40464 (commands): Likewise.
40465 (function): Likewise.
40466 (menuentry): Likewise.
40467 (if_statement): Likewise.
40468 (if): Likewise.
40469
40470 * normal/script.c (grub_script_memused): Removed variable.
40471 (grub_script_parsed): Likewise.
40472 (grub_script_malloc): Added a state argument. Use that instead of
40473 global variables.
40474 (grub_script_mem_record): Likewise.
40475 (grub_script_mem_record_stop): Likewise.
40476 (grub_script_arg_add): Likewise.
40477 (grub_script_add_arglist): Likewise.
40478 (grub_script_create_cmdline): Likewise.
40479 (grub_script_create_cmdif): Likewise.
40480 (grub_script_create_cmdmenu): Likewise.
40481 (grub_script_add_cmd): Likewise.
40482 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40483
e2a8c904 404842006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40485
40486 * normal/command.c (grub_command_init): Remove the title command.
40487
40488 * normal/lexer.c (grub_script_yylex): Renamed from this...
40489 (grub_script_yylex2): ... to this.
40490 (grub_script_yylex): New function. Temporary
40491 introduced to filter some tokens.
40492 (grub_script_yyerror): Print a newline.
40493
40494 * normal/main.c (read_config_file): Output information about the
40495 lines that contain errors. Wait for a key after all lines have
40496 been processed. Don't return an empty menu.
40497
40498 * normal/parser.y (func_mem): Don't initialize.
40499 (menu_entry): Likewise.
40500 (err): New variable.
40501 (script): Don't return anything when an error was encountered.
40502 (ws, returns): Removed rules.
40503 (argument): Disabled concatenated variable support.
40504 (arguments): Remove explicit separators.
40505 (grubcmd): Likewise.
40506 (function): Likewise.
40507 (menuentry): Likewise.
40508 (if): Likewise.
40509 (commands): Likewise. Add error handling.
40510
40511 * normal/script.c (grub_script_create_cmdline): If
40512 `grub_script_parsed' is 0, assume the parser encountered an error.
40513
c9a86192 405142006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40515
40516 * configure.ac: Add support for EFI. Fix the typo
40517 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40518
70f3b243 405192006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40520
40521 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40522 foreign multibyte characters should be shown correctly.
40523
65f201ad 405242006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40525
40526 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40527 calculation.
40528 (read_config_file): Made it to close file before returning.
40529
b4b93674 405302006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40531
40532 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40533 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40534 video/i386/pc/vbefill.c.
40535
40536 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40537 video/i386/pc/vbefill.c.
40538
40539 * include/grub/video.h (grub_video_blit_format): New enum.
40540 (grub_video_mode_info): Added new member blit_format.
40541 (grub_video_get_blit_format): New function prototype.
40542
40543 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40544 function prototype.
40545 (grub_video_vbe_map_rgb): Likewise.
40546 (grub_video_vbe_unmap_color): Likewise.
40547
40548 * include/grub/i386/pc/vbeblit.h: New file.
40549
40550 * include/grub/i386/pc/vbefill.h: New file.
40551
40552 * video/video.c (grub_video_get_blit_format): New function.
40553 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40554 (grub_video_vbe_map_rgb): Likewise.
40555 (grub_video_vbe_unmap_color): Likewise.
40556
40557 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40558 optimized fills.
40559 (grub_video_vbe_blit_render_target): Changed to use more optimized
40560 blits.
40561 (grub_video_vbe_setup): Added detection for optimized settings.
40562 (grub_video_vbe_create_render_target): Likewise.
40563
40564 * video/i386/pc/vbeblit.c: New file.
40565
40566 * video/i386/pc/vbefill.c: New file.
40567
c2379b9c 405682006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40569
40570 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40571 here...
40572
40573 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40574 parsing to support both hex and dec ranges. If filename was missing
40575 show usage information.
40576
bd0d7896 405772006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40578
40579 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40580 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40581
40582 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40583 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40584 (video_mod_SOURCES): Added.
40585 (video_mod_CFLAGS): Likewise.
40586 (video_mod_LDFLAGS): Likewise.
40587 (gfxterm_mod_SOURCES): Likewise.
40588 (gfxterm_mod_CFLAGS): Likewise.
40589 (gfxterm_mod_LDFLAGS): Likewise.
40590 (videotest_mod_SOURCES): Likewise.
40591 (videotest_mod_CFLAGS): Likewise.
40592 (videotest_mod_LDFLAGS): Likewise.
40593 (vesafb_mod_SOURCES): Removed.
40594 (vesafb_mod_CFLAGS): Likewise.
40595 (vesafb_mod_LDFLAGS): Likewise.
40596 (vga_mod_SOURCES): Likewise.
40597 (vga_mod_CFLAGS): Likewise.
40598 (vga_mod_LDFLAGS): Likewise.
40599
40600 * commands/videotest.c: New file.
40601
40602 * font/manager.c (fill_with_default_glyph): Modified to use
40603 grub_font_glyph.
40604 (grub_font_get_glyph): Likewise.
40605 (fontmanager): Renamed from this...
40606 (font_manager): ... to this.
40607
40608 * include/grub/font.h (grub_font_glyph): Added new structure.
40609 (grub_font_get_glyph): Modified to use grub_font_glyph.
40610
40611 * include/grub/misc.h (grub_abs): Added as inline function.
40612
40613 * include/grub/video.h: New file.
40614
40615 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40616 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40617 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40618 (grub_vbe_get_controller_info): Renamed from this...
40619 (grub_vbe_bios_get_controller_info): ... to this.
40620 (grub_vbe_get_mode_info): Renamed from this...
40621 (grub_vbe_bios_get_mode_info): ... to this.
40622 (grub_vbe_set_mode): Renamed from this...
40623 (grub_vbe_bios_set_mode): ... to this.
40624 (grub_vbe_get_mode): Renamed from this...
40625 (grub_vbe_bios_get_mode): ... to this.
40626 (grub_vbe_set_memory_window): Renamed from this...
40627 (grub_vbe_bios_set_memory_window): ... to this.
40628 (grub_vbe_get_memory_window): Renamed from this...
40629 (grub_vbe_bios_get_memory_window): ... to this.
40630 (grub_vbe_set_scanline_length): Renamed from this...
40631 (grub_vbe_set_scanline_length): ... to this.
40632 (grub_vbe_get_scanline_length): Renamed from this...
40633 (grub_vbe_bios_get_scanline_length): ... to this.
40634 (grub_vbe_set_display_start): Renamed from this...
40635 (grub_vbe_bios_set_display_start): ... to this.
40636 (grub_vbe_get_display_start): Renamed from this...
40637 (grub_vbe_bios_get_display_start): ... to this.
40638 (grub_vbe_set_palette_data): Renamed from this...
40639 (grub_vbe_bios_set_palette_data): ... to this.
40640 (grub_vbe_set_pixel_rgb): Removed.
40641 (grub_vbe_set_pixel_index): Likewise.
40642
40643 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40644 from this...
40645 (grub_vbe_bios_get_controller_info): ... to this.
40646 (grub_vbe_get_mode_info): Renamed from this...
40647 (grub_vbe_bios_get_mode_info): ... to this.
40648 (grub_vbe_set_mode): Renamed from this...
40649 (grub_vbe_bios_set_mode): ... to this.
40650 (grub_vbe_get_mode): Renamed from this...
40651 (grub_vbe_bios_get_mode): ... to this.
40652 (grub_vbe_set_memory_window): Renamed from this...
40653 (grub_vbe_bios_set_memory_window): ... to this.
40654 (grub_vbe_get_memory_window): Renamed from this...
40655 (grub_vbe_bios_get_memory_window): ... to this.
40656 (grub_vbe_set_scanline_length): Renamed from this...
40657 (grub_vbe_set_scanline_length): ... to this.
40658 (grub_vbe_get_scanline_length): Renamed from this...
40659 (grub_vbe_bios_get_scanline_length): ... to this.
40660 (grub_vbe_set_display_start): Renamed from this...
40661 (grub_vbe_bios_set_display_start): ... to this.
40662 (grub_vbe_get_display_start): Renamed from this...
40663 (grub_vbe_bios_get_display_start): ... to this.
40664 (grub_vbe_set_palette_data): Renamed from this...
40665 (grub_vbe_bios_set_palette_data): ... to this.
40666 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40667 getting corrupted after calling it. Added more pushes and pops.
40668 (grub_vbe_bios_set_mode): Likewise.
40669 (grub_vbe_bios_get_mode): Likewise.
40670 (grub_vbe_bios_get_memory_window): Likewise.
40671 (grub_vbe_bios_set_scanline_length): Likewise.
40672 (grub_vbe_bios_get_scanline_length): Likewise.
40673 (grub_vbe_bios_get_display_start): Likewise.
40674 (grub_vbe_bios_set_palette_data): Likewise.
40675
40676 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40677 (cl_insert): Likewise.
40678 (cl_delete): Likewise.
40679
40680 * term/gfxterm.c: New file.
40681
40682 * term/i386/pc/vesafb.c: Removed file.
40683
40684 * video/video.c: New file.
40685
40686 * video/i386/pc/vbe.c (real2pm): Added new function.
40687 (grub_video_vbe_draw_pixel): Likewise.
40688 (grub_video_vbe_get_video_ptr): Likewise.
40689 (grub_video_vbe_get_pixel): Likewise
40690 (grub_video_vbe_init): Likewise.
40691 (grub_video_vbe_fini): Likewise.
40692 (grub_video_vbe_setup): Likewise.
40693 (grub_video_vbe_get_info): Likewise.
40694 (grub_video_vbe_set_palette): Likewise.
40695 (grub_video_vbe_get_palette): Likewise.
40696 (grub_video_vbe_set_viewport): Likewise.
40697 (grub_video_vbe_get_viewport): Likewise.
40698 (grub_video_vbe_map_color): Likewise.
40699 (grub_video_vbe_map_rgb): Likewise.
40700 (grub_video_vbe_map_rgba): Likewise.
40701 (grub_video_vbe_unmap_color): Likewise.
40702 (grub_video_vbe_fill_rect): Likewise.
40703 (grub_video_vbe_blit_glyph): Likewise.
40704 (grub_video_vbe_blit_bitmap): Likewise.
40705 (grub_video_vbe_blit_render_target): Likewise.
40706 (grub_video_vbe_scroll): Likewise.
40707 (grub_video_vbe_swap_buffers): Likewise.
40708 (grub_video_vbe_create_render_target): Likewise.
40709 (grub_video_vbe_delete_render_target): Likewise.
40710 (grub_video_vbe_set_active_render_target): Likewise.
40711 (grub_vbe_set_pixel_rgb): Remove function.
40712 (grub_vbe_set_pixel_index): Likewise.
40713 (index_color_mode): Remove static variable.
40714 (active_mode): Likewise.
40715 (framebuffer): Likewise.
40716 (bytes_per_scan_line): Likewise.
40717 (grub_video_vbe_adapter): Added new static variable.
40718 (framebuffer): Likewise.
40719 (render_target): Likewise.
40720 (initial_mode): Likewise.
40721 (mode_in_use): Likewise.
40722 (mode_list): Likewise.
40723
5f97350b 407242006-03-10 Marco Gerards <marco@gnu.org>
40725
40726 * configure.ac (AC_INIT): Bumped to 1.93.
40727
40728 * DISTLIST: Added `include/grub/hfs.h'.
40729
a3c5c6f8 407302006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40731
40732 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40733 18H, which might help the BIOS falling back to next boot media.
40734
6de53d26 407352006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40736
40737 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40738 Poe Chen <poe.poechen@gmail.com>.
40739
77c4a393 407402006-01-17 Marco Gerards <marco@gnu.org>
40741
40742 * include/grub/normal.h: Include <grub/script.h>.
40743 (grub_command_list): Removed struct.
40744 (grub_command_list_t): Removed type.
40745 (grub_menu_entry): Remove members `num' and `command_list'. Add
40746 members `commands' and `sourcecode'.
40747 * include/grub/script.h: Add inclusion guards.
40748 (grub_script_cmd_menuentry): New struct.
40749 (grub_script_execute_menuentry): New prototype.
40750 (grub_script_lexer_record_start): Likewise.
40751 (grub_script_lexer_record_stop): Likewise.
40752 * normal/execute.c (grub_script_execute_menuentry): New function.
40753 * normal/lexer.c (record, recording, recordpos, recordlen): New
40754 variables.
40755 (grub_script_lexer_record_start): New function.
40756 (grub_script_lexer_record_stop): Likewise.
40757 (recordchar): Likewise.
40758 (nextchar): Likewise.
40759 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40760 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40761 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40762 (current_menu): New variable.
40763 (free_menu): Mainly rewritten.
40764 (grub_normal_menu_addentry): New function.
40765 (read_config_file): Rewritten.
40766 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40767 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40768 the menu entry.
40769 (run): Mainly rewritten.
40770 * normal/parser.y (menu_entry): New variable.
40771 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40772 (menuentry): New rule.
40773 (command): Add `menuentry'.
40774 (if_statement): Allow additional returns before `fi'.
40775 * normal/script.c (grub_script_create_cmdmenu): New function.
40776
144f1f98 407772006-01-03 Marco Gerards <marco@gnu.org>
40778
40779 * INSTALL: GNU Bison is required.
40780 * configure.ac: Rewritten the test to detect Bison.
40781 * Makefile.in (YACC): New variable. Reported by Xun Sun
40782 <xun.sun.cn@gmail.com>.
40783
af4b2d89 407842006-01-03 Marco Gerards <marco@gnu.org>
40785
40786 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40787 the HFS+ filesystem to filesystem blocks.
40788 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40789 GCC warning is silenced.
40790
15643b71 407912006-01-03 Marco Gerards <marco@gnu.org>
40792
40793 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40794 read from disk from big endian to host byte order.
40795
00905879 407962006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40797
40798 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40799 documentation.
40800 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40801 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40802 embedded HFS+ filesystem.
40803 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40804 (grub_hfs_sblock): Move from here...
40805 * include/grub/hfs.h: To here... New file.
40806 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40807 documentation.
40808 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40809 New macros.
40810 (grub_hfsplus_volheader): Change type of member `magic' to
40811 `grub_uint16_t'.
40812 (grub_hfsplus_data): Add new member `embedded_offset'.
40813 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40814 returned block.
40815 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40816 Calculate the offset.
40817
8899bc3e 408182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40819
40820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40821 Removed.
40822 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40823
ae8c0277 408242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40825
40826 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40827 ENV->NAME is NULL after allocating ENV->VALUE.
40828
07084456 408292005-12-25 Marco Gerards <marco@gnu.org>
40830
40831 * kern/env.c (grub_env_set): Rewritten the error handling code.
40832
4750f5f1 408332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40834
40835 * geninit.sh: Made more robust, and more portable.
40836
50214199 408372005-12-25 Marco Gerards <marco@gnu.org>
40838
40839 Add support for Apple HFS+ filesystems.
f19dbdb7 40840
50214199 40841 * fs/hfsplus.c: New file.
40842
40843 * DISTLIST: Added `fs/hfsplus.c'.
40844
40845 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40846 (hfsplus_mod_SOURCES): New variable.
40847 (hfsplus_mod_CFLAGS): Likewise.
40848 (hfsplus_mod_LDFLAGS): Likewise.
40849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40850 (grub_setup_SOURCES): Likewise.
40851 (grub_mkdevicemap_SOURCES): Likewise.
40852 (grub_emu_SOURCES): Likewise.
40853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40854
40855 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40856
40857 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40858
befaed6c 408592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40860
40861 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40862 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40863 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40864 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40865 normal/lexer.c, normal/parser.y, normal/script.c, and
40866 partmap/gpt.c.
40867 Removed kern/sparc64/cache.c.
40868
40869 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40870 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40871 grub_emu_init.c.
40872
40873 * configure.ac (AC_INIT): Bumped to 1.92.
40874
6a124103 408752005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40876
40877 * kern/err.c (grub_error_push): Added new function to support error
40878 stacks.
40879 (grub_error_pop): Likewise.
40880 (grub_error_stack_items): New local variable to support error stacks.
40881 (grub_error_stack_pos): Likewise.
40882 (grub_error_stack_assert): Likewise.
40883 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40884 stack depth.
40885 (grub_print_error): Added support to print errors from error stack.
40886
40887 * include/grub/err.h (grub_error_push): Added function prototype.
40888 (grub_error_pop): Likewise.
40889
be973c1b 408902005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40891
40892 * configure.ac: Accept `powerpc64' as host_cpu.
40893 (amd64): Rename to `biarch32'.
40894
40895 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40896 non-cacheline-aligned addresses.
40897
40898 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40899 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40900 if `size' is non-zero.
40901
b04216ab 409022005-12-03 Marco Gerards <mgerards@xs4all.nl>
40903
40904 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40905 and `cd' to make sure the filename is not prefixed with a
40906 directory name.
40907 (pkgdata_MODULES): Add `gpt.mod'.
40908 (gpt_mod_SOURCES): New variable.
40909 (gpt_mod_CFLAGS): Likewise.
40910 (gpt_mod_LDFLAGS): Likewise.
40911
40912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40913
40914 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40915 New macro.
40916
40917 * partmap/gpt.c: New file.
40918
40919 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40920 GPT partition map is detected.
40921
41730ed9 409222005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40923
40924 * commands/i386/pc/play.c: New file.
40925 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40926 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40927 macros.
f19dbdb7 40928
95dc3643 409292005-11-27 Marco Gerards <mgerards@xs4all.nl>
40930
40931 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40932 ((unused))' to silence gcc warning.
40933
1569ec51 409342005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40935
40936 * configure.ac: Correct `AC_PROG_YACC' test.
40937
9abde152 409382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40939
40940 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40941 check before installing files.
40942
44b83271 409432005-11-22 Mike Small <smallm@panix.com>
40944
40945 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40946 number regex so multidigit numbers are recognized correctly.
40947
409482005-11-22 Mike Small <smallm@panix.com>
40949
40950 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40951 debugging message before attempting to claim memory.
40952 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40953 multiple addresses in case of failure.
40954
9c12956b 409552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40956
40957 * term/tparm.c (get_space): Remove empty `if' statement.
40958
40959 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40960
40961 * kern/parser.c (check_varstate): Rename `state' to 's'.
40962
aeaf81d9 409632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40964
40965 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40966 variable definitions to the beginning of each function. Sort stack
40967 variables by size.
40968 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40969 `buf' argument to `char *'.
40970
79bbb63f 409712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40972
40973 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40974 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40975 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40976 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40977 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40978 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40979 configfile.mod, search.mod, gzio.mod and test.mod.
40980 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40981 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40982 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40983 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40984 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40985 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40986 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40987 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40988 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40989 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40990 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40991 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40992 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40993 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40994 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40995 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40996 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40997 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40998 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40999 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41000 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41001 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41002 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41003
41004 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41005 `grep --include'.
41006 (pkgdata_MODULES): Add test.mod.
41007
233b1628 410082005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41009
41010 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41011 appending to variables with "+=".
41012 (PModule): Use full pathname to generate *.lst filenames.
41013
41014 * Makefile.in: Fixed list rules moved from genmk.rb.
41015 (.DELETE_ON_ERROR): New special target.
41016 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41017
41018 * conf/i386-pc.rmk: Include conf/common.mk.
41019 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41020 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41021 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41022 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41023 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41024 configfile.mod, search.mod, gzio.mod and test.mod.
41025 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41026 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41027 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41028 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41029 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41030 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41031 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41032 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41033 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41034 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41035 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41036 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41037 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41038 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41039 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41040 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41041 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41042 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41043 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41044 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41045 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41046 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41047 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41048 here...
41049 * conf/common.rmk: ... to here. New file.
41050
41051 * conf/common.mk: New file.
41052
16f820c8 410532005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41054
41055 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41056 (grub_script.tab.c): ... here.
41057
41058 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41059 (grub_script.tab.c): ... here.
41060
41061 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41062 (grub_script.tab.c): ... here.
41063
41064 * normal/command.c (grub_command_find): Fixed a memory leak of
41065 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41066
63ba1554 410672005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41068
41069 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41070 "@" which marks the start of a comment on ARM.
41071 (VARIABLE): Likewise.
41072
7f67dc13 410732005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41074
79bbb63f 41075 Add support for Linux/ADFS partition tables.
7f67dc13 41076
41077 * partmap/acorn.c: New file.
41078
41079 * include/grub/acorn_filecore.h: Likewise.
41080
41081 * DISTLIST: Added `partmap/acorn.c' and
41082 `include/grub/acorn_filecore.h'.
f19dbdb7 41083
7f67dc13 41084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41085 `partmap/acorn.c'.
41086 (pkgdata_MODULES): Add `acorn.mod'.
41087 (acorn_mod_SOURCES): New variable.
41088 (acorn_mod_CFLAGS): Likewise.
41089
41090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41091 `partmap/acorn.c'.
41092 (pkgdata_MODULES): Add `acorn.mod'.
41093 (acorn_mod_SOURCES): New variable.
41094 (acorn_mod_CFLAGS): Likewise.
41095
41096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41097 (pkgdata_MODULES): Add `acorn.mod'.
41098 (acorn_mod_SOURCES): New variable.
41099 (acorn_mod_CFLAGS): Likewise.
41100 (acorn_mod_LDFLAGS): Likewise.
41101
41102 * include/types.h (grub_disk_addr_t): New typedef.
41103
6d099807 411042005-11-13 Marco Gerards <mgerards@xs4all.nl>
41105
41106 * geninit.sh: New file.
41107
41108 * geninitheader.sh: Likewise.
41109
41110 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41111 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41112 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41113 * commands/configfile.c (grub_configfile_init)
41114 (grub_configfile_fini): Likewise.
41115 * commands/default.c (grub_default_init, grub_default_fini):
41116 Likewise.
41117 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41118 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41119 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41120 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41121 Likewise.
41122 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41123 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41124 Likewise.
41125 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41126 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41127 Likewise.
41128 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41129 Likewise.
fe6b695a 41130 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41131 Likewise.
41132 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41133 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41134 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41135 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41136 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41137 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41138 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41139 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41140 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41141 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41142 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41143 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41144 * partmap/amiga.c (grub_amiga_partition_map_init)
41145 (grub_amiga_partition_map_fini): Likewise.
41146 * partmap/apple.c (grub_apple_partition_map_init)
41147 (grub_apple_partition_map_fini): Likewise.
41148 * partmap/pc.c (grub_pc_partition_map_init)
41149 (grub_pc_partition_map_fini): Likewise.
41150 * partmap/sun.c (grub_sun_partition_map_init,
41151 grub_sun_partition_map_fini): Likewise.
41152 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41153 Likewise.
41154
41155 * util/grub-emu.c: Include <grub_modules_init.h>.
41156 (main): Don't initialize and de-initialize any modules directly,
41157 use `grub_init_all' and `grub_fini_all' instead.
41158
41159 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41160 `grub_vesafb_mod_init'.
41161 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41162 all users.
41163 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41164 `grub_vga_mod_init'. Updated all users.
41165 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41166
6d099807 41167 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41168 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41169 rules.
41170
41171 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41172 Generate a function to initialize the module in utilities.
41173 Updated all callers.
41174 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41175 initialize the module in utilities. Updated all callers.
41176
9046bcf0 411772005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41178
41179 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41180 escape sequence and a literal ^L to clear the screen.
41181
41182 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41183 when returning from Open Firmware.
41184
d13ea639 411852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41186
41187 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41188 (grub_ofconsole_height): Likewise.
41189 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41190 manually insert a '\n'.
41191 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41192 `grub_ofconsole_height'. Return early if these are already set.
41193
a8fcf206 411942005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41195
41196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41197 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41198 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41199 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41200 and `normal/script.c'.
41201 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41202 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41203 (test_mod_SOURCES): New variable.
41204 (test_mod_CFLAGS): Likewise.
41205 (test_mod_LDFLAGS): Likewise.
41206 (pkgdata_MODULES): Add `test.mod'.
41207 (grub_script.tab.c): New rule.
41208 (grub_script.tab.h): Likewise.
41209
b6b32745 412102005-11-07 Marco Gerards <mgerards@xs4all.nl>
41211
41212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41213 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41214 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41215 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41216 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41217 (test_mod_SOURCES): New variable.
41218 (test_mod_CFLAGS): Likewise.
41219 (pkgdata_MODULES): Add `test.mod'.
41220 (grub_script.tab.c): New rule.
41221 (grub_script.tab.h): Likewise.
41222
daac212a 412232005-11-06 Marco Gerards <mgerards@xs4all.nl>
41224
41225 Add initial scripting support.
41226
41227 * commands/test.c: New file.
41228 * include/grub/script.h: Likewise.
41229 * normal/execute.c: Likewise.
41230 * normal/function.c: Likewise.
41231 * normal/lexer.c: Likewise.
41232 * normal/parser.y: Likewise.
41233 * normal/script.c: Likewise.
41234
41235 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41236
daac212a 41237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41238 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41239 `normal/function.c' and `normal/script.c'.
41240 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41241 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41242 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41243 variables.
daac212a 41244 (pkgdata_MODULES): Add `test.mod'.
41245 (grub_script.tab.c): New rule.
41246 (grub_script.tab.h): Likewise.
41247
41248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41249
41250 * include/grub/normal.h (grub_test_init): New prototype.
41251 (grub_test_fini): Likewise.
f19dbdb7 41252
daac212a 41253 * normal/command.c: Include <grub/script.h>.
41254 (grub_command_execute): Rewritten.
f19dbdb7 41255
daac212a 41256 * util/grub-emu.c (main): Call `grub_test_init' and
41257 `grub_test_fini'.
41258
77500b2b 412592005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41260
41261 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41262 to 0.
41263 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41264 there are no pending characters.
41265
e45deb9e 412662005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41267
41268 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41269 `grub_strndup' to drop device arguments. Replace unnecessary
41270 `grub_strndup' with `grub_strdup'.
41271
4ce32619 412722005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41273
41274 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41275 `debug' environment variable has been set.
41276
412772005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41278
4ce32619 41279 * Makefile.in (install-local): Use $(DATA).
41280 (uninstall): Likewise.
41281 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41282 (sbin_UTILITIES): ... to here.
41283 (sbin_SCRIPTS): New variable.
41284 (grub_install_SOURCES): New variable.
41285 * util/powerpc/ieee1275/grub-install.in: New file.
41286 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41287 variable.
41288 (add_segments): Call `grub_util_get_path'.
41289
25fe6f03 412902005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41291
41292 From Timothy Baldwin:
41293 * commands/ls.c (grub_ls_list_files): Close FILE with
41294 grub_file_close.
41295 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41296
04ccf3ec 412972005-10-24 Marco Gerards <mgerards@xs4all.nl>
41298
41299 * include/grub/parser.h: New file.
41300
41301 * kern/parser.c: Likewise.
41302
41303 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41304 (grub_setup_SOURCES): Likewise.
41305 (grub_probefs_SOURCES): Likewise.
41306 (grub_emu_SOURCES): Likewise.
41307 (kernel_img_HEADERS): Add `parser.h'.
41308
41309 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41310 (grub_emu_SOURCES): Add `kern/parser.c'.
41311 (grubof_SOURCES): Likewise.
41312
41313 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41314 (grubof_SOURCES): Add `kern/parser.c'.
41315
41316 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41317
41318 * kern/misc.c (grub_split_cmdline): Removed function.
41319
41320 * kern/rescue.c: Include <grub/parser.h>.
41321 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41322 of `grub_split_cmdline'.
41323
41324 * normal/command.c: Include <grub/parser.h>.
41325 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41326 of `grub_split_cmdline'.
41327
41328 * normal/completion.c: Include <grub/parser.h>.
41329 (cmdline_state): New variable.
41330 (iterate_dir): End the filename with a quote depending on the
41331 command line state.
41332 (get_state): new function.
41333 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41334 split the arguments and determine the current argument. When the
41335 argument string is not quoted, escape all spaces.
41336
6d8f4b0e 413372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41338
41339 * normal/sparc64/setjmp.S: New file.
41340
15cf03ed 413412005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41342
41343 * include/grub/sparc64/libgcc.h: New file.
41344 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41345 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41346 normal/sparc64/setjmp.c.
41347
03e8661a 413482005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41349
41350 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41351 * kern/sparc64/cache.S: New file.
41352 * kern/sparc64/cache.c: Removed.
41353 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41354 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41355 -mtune=ultrasparc.
41356 (COMMON_LDFLAGS): Add -melf64_sparc.
41357 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41358 (grubof_SOURCES): Use cache.S instead of cache.c.
41359 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41360 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41361 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41362 commented though.
41363 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41364 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41365 (linux_mod_CFLAGS): Commented out.
41366 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41367 out because module isn't built.
41368 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41369 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41370 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41371 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41372 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41373 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41374 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41375 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41376 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41377 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41378 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41379 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41380 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41381 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41382
34eeec8a 413832005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41384
41385 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41386 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41387 longer, because HFS should not be used on PC.
41388
708367a3 413892005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41390
41391 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41392 consistently within the loop.
41393
6fa1251a 413942005-10-15 Marco Gerards <mgerards@xs4all.nl>
41395
41396 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41397 directory can not be read.
41398
4801580b 413992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41400
41401 * configure.ac (AC_INIT): Increase the version number to 1.91.
41402
41403 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41404 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41405 term/i386/pc/serial.c.
41406
219ad426 414072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41408
41409 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41410 file size must be permitted.
41411
41412 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41413 between %ah and %al.
41414
688e5699 414152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41416
41417 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41418 grub_uint64_t.
41419 Call the hook with a NUL-terminated filename.
41420 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41421 grub_cpu_to_be32.
41422
41423 * kern/term.c (cursor_state): New variable.
41424 (grub_term_set_current): Reset the cursor state on a new
41425 terminal.
41426 (grub_setcursor): Rewritten to use CURSOR_STATE.
41427 (grub_getcursor): New function.
41428
41429 * include/grub/term.h (grub_getcursor): New prototype.
41430
41431 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41432 integers on ARM. Reported by Timothy Baldwin
41433 <T.E.Baldwin99@members.leeds.ac.uk>.
41434
bb34586c 414352005-10-11 Marco Gerards <mgerards@xs4all.nl>
41436
41437 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41438 allocated.
41439 (grub_sfs_dir): Likewise.
41440
9a909877 414412005-10-09 Marco Gerards <mgerards@xs4all.nl>
41442
41443 Add support for the SFS filesystem.
41444
41445 * fs/sfs.c: New file.
41446
41447 * DISTLIST: Added `fs/sfs.c'.
41448
41449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41450 (grub_probefs_SOURCES): Likewise.
41451 (grub_emu_SOURCES): Likewise.
41452 (pkgdata_MODULES): Add `sfs.mod'.
41453 (sfs_mod_SOURCES): New variable.
41454 (sfs_mod_CFLAGS): Likewise.
41455 (sfs_mod_LDFLAGS): Likewise.
41456
41457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41458 (pkgdata_MODULES): Add `sfs.mod'.
41459 (sfs_mod_SOURCES): New variable.
41460 (sfs_mod_CFLAGS): Likewise.
41461
41462 * util/grub-emu.c (main): Call `grub_sfs_init' and
41463 `grub_sfs_fini'.
41464
41465 * include/grub/fs.h (grub_sfs_init): New prototype.
41466 (grub_sfs_fini): Likewise.
41467
57bdbde3 414682005-10-07 Marco Gerards <mgerards@xs4all.nl>
41469
41470 Add support for the AFFS filesystem.
41471
41472 * fs/affs.c: New file.
41473
41474 * DISTLIST: Added `fs/affs.c'.
41475
41476 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41477 (grub_probefs_SOURCES): Likewise.
41478 (grub_emu_SOURCES): Likewise.
41479 (pkgdata_MODULES): Add `affs.mod'.
41480 (affs_mod_SOURCES): New variable.
41481 (affs_mod_CFLAGS): Likewise.
41482 (affs_mod_LDFLAGS): Likewise.
41483
41484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41485 (pkgdata_MODULES): Add `affs.mod'.
41486 (affs_mod_SOURCES): New variable.
41487 (affs_mod_CFLAGS): Likewise.
41488
41489 * util/grub-emu.c (main): Call `grub_affs_init' and
41490 `grub_affs_fini'.
41491
41492 * include/grub/fs.h (grub_affs_init): New prototype.
41493 (grub_affs_fini): Likewise.
41494
047b67e0 414952005-10-01 Marco Gerards <mgerards@xs4all.nl>
41496
41497 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41498
59b8208a 414992005-10-01 Marco Gerards <mgerards@xs4all.nl>
41500
41501 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41502 `-m32' to CFLAGS.
41503
41504 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41505 linking.
f19dbdb7 41506
59b8208a 41507 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41508 (COMMON_LDFLAGS): New variable.
41509 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41510 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41511 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41512 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41513 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41514 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41515 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41516 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41517 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41518 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41519 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41520 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41521 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41522 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41523 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41524 variables.
41525 (normal_mod_ASFLAGS): Add `-m32'.
41526
41527 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41528 (grub_host_size_t, grub_host_ssize_t): New types.
41529 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41530 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41531 `GRUB_HOST_SIZEOF_VOID_P'.
41532
41533 * include/grub/kernel.h (struct grub_module_header): Type of
41534 member offset changed to `grub_host_off_t'. Type of member size
41535 changed to `grub_host_size_t'.
41536 (struct grub_module_info): Type of member offset changed to
41537 `grub_host_off_t'. Type of member size changed to
41538 `grub_host_size_t'.
41539
b4093103 415402005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41541
41542 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41543
b4093103 41544 * kern/i386/pc/startup.S (multiboot_header): New label.
41545 (multiboot_entry): Likewise.
41546 (multiboot_trampoline): Likewise.
41547
41548 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41549 Increased to 0x4A0.
41550
41551 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41552 put parentheses after a question mark.
41553 [!GRUB_UTIL] (my_mod): New variable.
41554
41555 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41556
b2499b29 415572005-09-28 Marco Gerards <mgerards@xs4all.nl>
41558
41559 Adds support for the XFS filesystem. Btrees are not supported
41560 yet.
41561
41562 * fs/xfs.c: New file.
41563
41564 * DISTLIST: Added `fs/xfs.c'.
41565
41566 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41567 (grub_probefs_SOURCES): Likewise.
41568 (grub_emu_SOURCES): Likewise.
41569 (pkgdata_MODULES): Add `xfs.mod'.
41570 (xfs_mod_SOURCES): New variable.
41571 (xfs_mod_CFLAGS): Likewise.
41572
41573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41574 (pkgdata_MODULES): Add `xfs.mod'.
41575 (xfs_mod_SOURCES): New variable.
41576 (xfs_mod_CFLAGS): Likewise.
41577
41578 * util/grub-emu.c (main): Call `grub_xfs_init' and
41579 `grub_xfs_fini'.
41580
41581 * include/grub/fs.h (grub_xfs_init): New prototype.
41582 (grub_xfs_fini): Likewise.
41583
f19dbdb7 41584
83d37a62 415852005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41586
41587 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41588 color modes, allow greater than 16 colors to be configured as
41589 a default palette.
41590
47d2d65e 415912005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41592
41593 * normal/completion.c (complete_arguments): Add the qualifier
41594 const into OPTIONS.
41595
41596 From Omniflux <omniflux+lists@omniflux.com>:
41597 * include/grub/terminfo.h: New file.
41598 * include/grub/tparm.h: Likewise.
41599 * include/grub/i386/pc/serial.h: Likewise.
41600 * term/terminfo.c: Likewise.
41601 * term/tparm.c: Likewise.
41602 * term/i386/pc/serial.c: Likewise.
41603 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41604 serial.mod.
41605 (terminfo_mod_SOURCES): New variable.
41606 (terminfo_mod_CFLAGS): Likewise.
41607 (serial_mod_SOURCES): Likewise.
41608 (serial_mod_CFLAGS): Likewise.
41609
48b671ff 416102005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41611
41612 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41613 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41614 and kern/powerpc/ieee1275/cmain.c, respectively.
41615
41616 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41617 * kern/powerpc/ieee1275/crt0.S: ... here.
41618
41619 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41620 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41621
48b671ff 41622 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41623 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41624 instead of boot/powerpc/ieee1275/crt0.S and
41625 boot/powerpc/ieee1275/cmain.c, respectively.
41626
41627 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41628 sectors. It was not used anyway.
41629
09fc77a7 416302005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41631
41632 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41633 `unused parameter' warning.
41634
003789c7 416352005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41636
41637 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41638 function.
41639 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41640 getcharwidth.
41641
67f44c86 416422005-08-28 Marco Gerards <metgerards@student.han.nl>
41643
41644 * include/grub/normal.h (enum grub_completion_type): Added
41645 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41646
41647 * normal/cmdline.c (print_completion): Handle
41648 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41649 * normal/menu_entry.c (store_completion): Likewise.
41650
41651 * normal/completion.c (complete_arguments): New function.
41652 (grub_normal_do_completion): Call `complete_arguments' when the
41653 current words start with a dash.
41654
0b5abe02 416552005-08-27 Marco Gerards <metgerards@student.han.nl>
41656
41657 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41658 `gzio.mod' instead of `io.mod').
41659
d9864ee1 416602005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41661
41662 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41663 (DISTDIRS): Added io and video.
41664 Rewrite the search routine to make an output consistently.
41665
41666 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41667 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41668 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41669 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41670 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41671 util/powerpc/ieee1275/misc.c.
f19dbdb7 41672
d9864ee1 41673 * include/grub/gzio.h: New file.
41674 * io/gzio.c: Likewise.
f19dbdb7 41675
d9864ee1 41676 * kern/file.c (grub_file_close): Call grub_device_close only if
41677 FILE->DEVICE is not NULL.
41678
41679 * include/grub/mm.h [!NULL] (NULL): New macro.
41680
41681 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41682
41683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41684 (pkgdata_MODULES): Added gzio.mod.
41685 (gzio_mod_SOURCES): New variable.
41686 (gzio_mod_CFLAGS): Likewise.
41687
41688 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41689 (pkgdata_MODULES): Added gzio.mod.
41690 (gzio_mod_SOURCES): New variable.
41691 (gzio_mod_CFLAGS): Likewise.
41692
41693 * commands/cat.c: Include grub/gzio.h.
41694 (grub_cmd_cat): Use grub_gzfile_open instead of
41695 grub_file_open.
f19dbdb7 41696
d9864ee1 41697 * commands/cmp.c: Include grub/gzio.h.
41698 (grub_cmd_cmp): Use grub_gzfile_open instead of
41699 grub_file_open.
41700
41701 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41702 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41703 grub_file_open.
41704 (grub_rescue_cmd_module): Likewise.
41705
fa46f4b5 417062005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41707
41708 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41709 kern/sparc64/ieee1275/init.c because it contains _start.
41710 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41711
e9211b5d 417122005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41713
41714 * configure.ac: Add support for sparc64 host with ieee1275
41715 firmware.
41716 * configure: Generated from configure.ac.
41717 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41718 instead of int.
41719 (grub_ofdisk_read): Likewise.
41720 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41721 pointers as (void *) to remove a warning.
41722 (grub_ofdisk_close): Likewise.
41723 (grub_ofdisk_read): Likewise.
41724 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41725 returns, so make it return void to remove a warning.
41726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41727 Corresponding prototype change.
41728 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41729 values, and cast the pointers as (void *) to remove a warning.
41730 (grub_mm_dump): Likewise.
41731 * conf/sparc64-ieee1275.mk: New file.
41732 * conf/sparc64-ieee1275.rmk: Likewise.
41733 * include/grub/sparc64/setjmp.h: Likewise.
41734 * include/grub/sparc64/types.h: Likewise.
41735 * include/grub/sparc64/ieee1275/console.h: Likewise.
41736 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41737 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41738 * include/grub/sparc64/ieee1275/time.h: Likewise.
41739 * kern/sparc64/cache.c: Likewise.
41740 * kern/sparc64/dl.c: Likewise.
41741 * kern/sparc64/ieee1275/init.c: Likewise.
41742 * kern/sparc64/ieee1275/openfw.c: Likewise.
41743
385c6a92 417442005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41745
41746 * util/console.c (grub_ncurses_putchar): If C is greater than
41747 0x7f, set C to a question mark.
41748 (grub_ncurses_getcharwidth): New function.
41749 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41750 getcharwidth.
41751
41752 * normal/menu.c (print_entry): Made aware of Unicode. First,
41753 convert TITLE to UCS-4, and predict the cursor position by
41754 grub_getcharwidth.
41755
41756 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41757 const to SRC.
41758 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41759
16ccb8b1 417602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41761
41762 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41763 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41764 grub_strcat.
41765
41766 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41767 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41768 grub_strcpy and grub_strlen. Take it into account that a space
41769 character is inserted as a delimiter.
41770
6a85ce79 417712005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41772
41773 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41774 invalid magic in the error.
6a85ce79 41775
41776 * commands/search.c: New file.
f19dbdb7 41777
6a85ce79 41778 * util/grub-emu.c (main): Call grub_search_init and
41779 grub_search_fini.
41780
41781 * kern/rescue.c (grub_rescue_print_disks): Removed.
41782 (grub_rescue_print_devices): New function.
41783 (grub_rescue_cmd_ls): Use grub_device_iterate with
41784 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41785 grub_rescue_print_disks.
41786
41787 * kern/partition.c (grub_partition_iterate): Return the result of
41788 PARTMAP->ITERATE instead of GRUB_ERRNO.
41789
41790 * kern/device.c: Include grub/partition.h.
41791 (grub_device_iterate): New function.
41792
41793 * include/grub/partition.h (grub_partition_iterate): Return int
41794 instead of grub_err_t.
41795
41796 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41797 prototype.
41798 [GRUB_UTIL] (grub_search_fini): Likewise.
41799
41800 * include/grub/device.h (grub_device_iterate): New prototype.
41801
41802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41803 commands/search.c.
41804 (pkgdata_MODULES): Added search.mod.
41805 (search_mod_SOURCES): New variable.
41806 (search_mod_CFLAGS): Likewise.
41807
41808 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41809 (pkgdata_MODULES): Added search.mod.
41810 (search_mod_SOURCES): New variable.
41811 (search_mod_CFLAGS): Likewise.
41812
41813 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41814 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41815 All callers changed.
41816
41817 * DISTLIST: Added commands/search.c.
41818
ef095434 418192005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41820
41821 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41822 conversion.
41823 (grub_getcharwidth): New function.
41824
41825 * kern/misc.c (grub_utf8_to_ucs4): New function.
41826
41827 * include/grub/term.h (struct grub_term): Added a new member
41828 "getcharwidth".
41829 (grub_getcharwidth): New prototype.
41830
41831 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41832
41833 * term/i386/pc/console.c (map_char): New function. Segregated from
41834 grub_console_putchar.
41835 (grub_console_putchar): Use map_char.
41836 (grub_console_getcharwidth): New function.
41837 (grub_console_term): Specified grub_console_getcharwidth as
41838 getcharwidth.
41839
41840 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41841 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41842
41843 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41844 GRUB_ERRNO.
41845 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41846 on grub_strtoul completely.
41847 (write_char): Declare local variables in the beginning of the
41848 function.
41849 (grub_vesafb_getcharwidth): New function.
41850 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41851 getcharwidth.
41852
1f0a95e4 418532005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41854
41855 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41856 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41857 commands/i386/pc/vbetest.c.
41858
41859 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41860 call grub_vbe_get_controller_info again, because the returned
41861 information is volatile.
41862 (grub_vbe_set_video_mode): Mostly rewritten.
41863 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41864 grub_vbe_status_t correctly.
41865 (grub_vbe_get_video_mode_info): Likewise.
41866 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41867 several if statements.
41868
41869 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41870 * commands/i386/pc/vbeinfo.c: ... this.
41871
41872 * commands/i386/pc/vbe_test.c: Renamed to ...
41873 * commands/i386/pc/vbetest.c: ... this.
41874
41875 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41876 ...
41877 (grub_cmd_vbeinfo): ... this. Save video modes before
41878 iterating. Skip a video mode, if it is not available, not enough
41879 information is given or it is monochrome. Show the memory
41880 model. Leave the interpretation of MODEVAR to grub_strtoul
41881 completely.
41882 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41883 (GRUB_MOD_FINI): Likewise.
41884
41885 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41886 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41887 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41888 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41889 grub_strtoul completely.
41890 (real2pm): Removed.
41891 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41892 (GRUB_MOD_FINI): Likewise.
41893
41894 * normal/misc.c: Include grub/mm.h.
41895
41896 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41897 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41898 (vbe_list_modes_mod_SOURCES): Removed.
41899 (vbe_list_modes_mod_CFLAGS): Likewise.
41900 (vbe_test_mod_SOURCES): Likewise.
41901 (vbe_test_mod_CFLAGS): Likewise.
41902 (vbeinfo_mod_SOURCES): New variable.
41903 (vbeinfo_mod_CFLAGS): Likewise.
41904 (vbetest_mod_SOURCES): Likewise.
41905 (vbetest_mod_CFLAGS): Likewise.
41906
992ffbbe 419072005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41908
41909 * normal/misc.c: New file.
41910
41911 * DISTLIST: Added normal/misc.c.
f19dbdb7 41912
992ffbbe 41913 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41914 DISK to HOOK. Call HOOK with DISK.
41915 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41916 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41917 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41918
41919 * normal/menu_entry.c (struct screen): Added a new member
41920 "completion_shown".
41921 (completion_buffer): New global variable.
41922 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41923 (store_completion): New function.
41924 (complete): Likewise.
41925 (clear_completions): Likewise.
41926 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41927 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41928 a tab, call complete.
41929
41930 * normal/completion.c (disk_dev): Removed.
41931 (print_simple_completion): Likewise.
41932 (print_partition_completion): Likewise.
41933 (print_func): New global variable.
41934 (add_completion): Do not take the arguments WHAT or PRINT any
41935 longer. Added a new argument TYPE. Instead of printing directly,
41936 call PRINT_FUNC if not NULL.
41937 All callers changed.
41938 (complete_device): Use a local variable DEV instead of
41939 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41940 (grub_normal_do_completion): Take a new argument HOOK. Do not
41941 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41942 empty string, return NULL instead.
41943 All callers changed.
41944
41945 * normal/cmdline.c (print_completion): New function.
41946
41947 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41948 to HOOK.
41949 All callers changed.
41950
41951 * kern/disk.c (grub_print_partinfo): Removed.
41952
41953 * include/grub/partition.h (struct grub_partition_map): Add a new
41954 argument DISK into HOOK of ITERATE.
41955 (grub_partition_iterate): Add a new argument DISK to HOOK.
41956
41957 * include/grub/normal.h (enum grub_completion_type): New enum.
41958 (grub_completion_type_t): New type.
41959 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41960 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41961 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41962 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41963 (grub_normal_do_completion): Added a new argument HOOK.
41964 (grub_normal_print_device_info): New prototype.
41965
41966 * include/grub/disk.h (grub_print_partinfo): Removed.
41967
41968 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41969 (normal_mod_SOURCES): Likewise.
41970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41971 (normal_mod_SOURCES): Likewise.
41972
41973 * commands/ls.c (grub_ls_list_disks): Use
41974 grub_normal_print_device_info instead of grub_print_partinfo. Free
41975 PNAME.
41976 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41977 duplicating the code.
41978
0bd41162 419792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41980
41981 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41982 follow GCS more precisely.
41983 * commands/i386/pc/vbe_test.c: Likewise.
41984 * include/grub/i386/pc/vbe.h: Likewise.
41985 * term/i386/pc/vesafb.c: Likewise.
41986 * video/i386/pc/vbe.c: Likewise.
0bd41162 41987
6323696a 419882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41989
41990 * DISTLIST: Added term/i386/pc/vesafb.c
41991 DISTLIST: Added video/i386/pc/vbe.c
41992 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41993 DISTLIST: Added commands/i386/pc/vbe_test.c.
41994 * commands/i386/pc/vbe_list_modes.c: New file.
41995 * commands/i386/pc/vbe_test.c: Likewise.
41996 * term/i386/pc/vesafb.c: Likewise.
41997 * video/i386/pc/vbe.c: Likewise.
41998 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41999 (grub_vbe_probe) Added prototype.
42000 (grub_vbe_set_video_mode) Likewise.
42001 (grub_vbe_get_video_mode) Likewise.
42002 (grub_vbe_get_video_mode_info) Likewise.
42003 (grub_vbe_set_pixel_rgb) Likewise.
42004 (grub_vbe_set_pixel_index) Likewise.
42005 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42006 (pkgdata_MODULES): Added vesafb.mod.
42007 (pkgdata_MODULES): Added vbe_list_modes.mod.
42008 (pkgdata_MODULES): Added vbe_test.mod.
42009 (vbe_mod_SOURCES): Added.
42010 (vbe_mod_CFLAGS): Likewise.
42011 (vesafb_mod_SOURCES): Likewise.
42012 (vesafb_mod_CFLAGS): Likewise.
42013 (vbe_list_modes_mod_SOURCES): Likewise.
42014 (vbe_list_modes_mod_CFLAGS): Likewise.
42015 (vbe_test_mod_SOURCES): Likewise.
42016 (vbe_test_mod_CFLAGS): Likewise.
42017
0a74e62f 420182005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42019
0a74e62f 42020 * normal/command.c (grub_command_execute): If INTERACTIVE is
42021 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42022 CMDLINE. Disable the pager if INTERACTIVE is true.
42023 All callers are changed.
42024
42025 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42026 before reading a config file.
42027 * normal/main.c (read_config_file): Even if a command is not
42028 found, register it if it is within an entry.
42029
42030 * util/grub-emu.c: Include sys/types.h and unistd.h.
42031 (options): Added --hold.
42032 (struct arguments): Added a new member "hold".
42033 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42034 missing.
42035 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42036 cleared by a debugger, if it is not zero.
42037
42038 * include/grub/normal.h (grub_command_execute): Add an argument
42039 INTERACTIVE.
42040
e51f85ae 420412005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42042
42043 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42044
e9c6f39b 420452005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42046
42047 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42048 program with another one, because the old one didn't detect a bug
42049 in gcc-3.4. Always use regparm 2, because the new test is still
42050 not enough for gcc-4.0. Someone must investigate a simple test
42051 case which detects a bug in gcc-4.0.
42052
8de3495c 420532005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42054
42055 * DISTLIST: Added normal/completion.c.
42056
42057 * normal/completion.c: New file.
f19dbdb7 42058
8de3495c 42059 * term/i386/pc/console.c (grub_console_getwh): New function.
42060 (grub_console_term): Assign grub_console_getwh to getwh.
42061
42062 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42063 function is defined in normal/completion.c as
42064 grub_normal_do_completion.
42065 (grub_cmdline_get): Use grub_normal_do_completion instead of
42066 grub_tab_complete.
42067
42068 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42069 returns non-zero, otherwise return 0.
42070 (grub_partition_iterate): First, probe the partition map. Then,
42071 call ITERATE only for this partition map.
42072
42073 * kern/misc.c (grub_strncmp): Rewritten.
42074
42075 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42076 returns non-zero. Otherwise return 0.
42077
42078 * include/grub/partition.h (grub_partition_map_iterate): Return
42079 int instead of void.
42080
42081 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42082
42083 * include/grub/misc.h (grub_strncmp): Change the type of N to
42084 grub_size_t.
42085
42086 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42087 of void.
42088
42089 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42090 unsigned explicitly before comparing it with I.
8de3495c 42091
42092 * kern/main.c (grub_env_write_root): Add the attribute unused into
42093 VAR.
42094
42095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42096 normal/completion.c.
42097 (normal_mod_SOURCES): Likewise.
42098 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42099 (normal_mod_SOURCES): Likewise.
42100
42101 * normal/command.c (grub_iterate_commands): If ITERATE returns
42102 non-zero, return one immediately.
42103
e85e144b 421042005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42105
42106 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42107 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42108 descriptions.
42109 (grub_vbe_get_controller_info): New function.
42110 (grub_vbe_get_mode_info): Likewise.
42111 (grub_vbe_set_mode): Likewise.
42112 (grub_vbe_get_mode): Likewise.
42113 (grub_vbe_set_memory_window): Likewise.
42114 (grub_vbe_get_memory_window): Likewise.
42115 (grub_vbe_set_scanline_length): Likewise.
42116 (grub_vbe_get_scanline_length): Likewise.
42117 (grub_vbe_set_display_start): Likewise.
42118 (grub_vbe_get_display_start): Likewise.
42119 (grub_vbe_set_palette_data): Likewise.
42120 * include/grub/i386/pc/vbe.h: New file.
42121
c46153d2 421222005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42123
42124 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42125 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42126 * DISTLIST: Likewise.
42127 * kern/ieee1275/of.c: Moved to ...
42128 * kern/ieee1275/ieee1275.c: ... here.
42129
0cb90c45 421302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42131
42132 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42133 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42134 Pass 0 as `end' parameter to grub_strtoul().
42135
a19fb360 421362005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42137
42138 * include/grub/powerpc/ieee1275/console.h: Do not include
42139 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42140 ifdef.
42141 (grub_console_cur_color): Remove i386-specific prototype.
42142 (grub_console_real_putchar): Likewise.
42143 (grub_console_checkkey): Likewise.
42144 (grub_console_getkey): Likewise.
42145 (grub_console_getxy): Likewise.
42146 (grub_console_gotoxy): Likewise.
42147 (grub_console_cls): Likewise.
42148 (grub_console_setcursor): Likewise.
42149 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42150 Include <grub/machine/console.h>.
42151 * term/ieee1275/ofconsole.c: Likewise.
42152
4ac9bd04 421532005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42154
42155 * Makefile.in (LIBLZO): New variable.
42156
42157 * configure.ac: Check for LZO version 2.
42158
42159 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42160 lzo/lzo1x.h instead of lzo1x.h.
42161
42162 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42163 of -llzo.
42164
42165 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42166 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42167
42168 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42169 copying the data from PARTITION to P.
42170
f4917dfd 421712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42172
42173 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42174 negative, unload the module.
42175
42176 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42177 map is "pc_partition_map" but not "pc".
42178 (usage): Fix the description. The options are --boot-image and
42179 --core-image but not --boot-file or --core-file.
42180 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42181 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42182 DEFAULT_DIRECTORY.
42183
42184 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42185 --core-file. Specify INSTALL_DEVICE as an argument.
42186
42187 * util/console.c: Include config.h.
42188 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42189 [HAVE_NCURSES_H]: Include ncurses.h.
42190 [HAVE_CURSES_H]: Include curses.h.
42191 [!A_NORMAL] (A_NORMAL): Defined as zero.
42192 [!A_STANDOUT] (A_STANDOUT): Likewise.
42193
42194 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42195 -lncurses.
42196 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42197
42198 * configure.ac: Check for curses libraries and headers.
42199
42200 * Makefile.in (LIBCURSES): New variable.
42201
42202 * genmk.rb (Script::rule): Set the executable bits.
42203
42204 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42205 name of the PC partition map is "pc_partition_map" but not "pc".
42206
0e143073 422072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42208
42209 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42210 (modules): Likewise.
42211 (usage): Added descriptions for --modules and --grub-probefs.
42212 Handle --modules and --grub-probefs. Save the arguments in MODULES
42213 and GRUB_PROBEFS, respectively.
42214 Auto-detect a filesystem module against GRUBDIR. If the result is
42215 empty and modules are not specified explicitly, abort the
42216 installation. Add the result to MODULES.
42217
42218 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42219 disk/powerpc/ieee1275/ofdisk.c,
42220 include/grub/powerpc/ieee1275/init.h and
42221 term/powerpc/ieee1275/ofconsole.c.
42222 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42223 term/ieee1275/ofconsole.c.
42224
42225 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42226
42227 * COPYING: Upgraded to the latest version. Only the address of the
42228 FSF office has changed.
f19dbdb7 42229
efd6e6d5 422302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42231
42232 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42233 kern/ieee1275.c with kern/ieee1275/of.c.
42234
42235 * kern/ieee1275.c: Moved to ...
42236 * kern/ieee1275/of.c: ... here.
42237
8ceafda2 422382005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42239
42240 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42241 readability.
8ceafda2 42242
42243 * config.guess: Updated to the latest version from gnulib.
42244 * config.sub: Likewise.
42245 * install.sh: Likewise.
42246 * mkinstalldirs: Likewise.
42247
42248 * include/grub/console.h: Removed. This file is arch-specific. Do
42249 not put this in include/grub.
42250
42251 * include/grub/i386/pc/console.h: Resurrected.
42252
42253 * util/console.c: Include grub/machine/console.h instead of
42254 grub/console.h.
42255 * util/grub-emu.c: Likewise.
42256
267f6cd9 422572005-08-04 Marco Gerards <metgerards@student.han.nl>
42258
42259 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42260 hardcoded value.
f19dbdb7 42261
267f6cd9 42262 From Vincent Pelletier <subdino2004@yahoo.fr>
42263 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42264 Redefined to use grub_getwh.
42265 (grub_term): New member named getwh.
42266 (grub_getwh): New prototype.
42267 * kern/term.c (grub_getwh): New function.
42268 * term/i386/pc/console.c (grub_console_getwh): New function.
42269 (grub_console_term): New member `getwh'.
42270 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42271 (grub_vga_term): New member `getwh'.
0b5abe02 42272 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42273 grub_ssize_t.
42274 (grub_ofconsole_getw): New function.
42275 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42276 (grub_ofconsole_term): New field named getwh and new initial
42277 value.
42278
3be7266d 422792005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42280
42281 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42282 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42283 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42284 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42285 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42286 of <grub/machine/ieee1275.h>.
42287 * commands/ieee1275/reboot.c: Likewise.
42288 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42289 * kern/ieee1275.c: ... to here. All users updated. Change all
42290 parameter structs to use new type `grub_ieee1275_cell_t'.
42291 * term/powerpc/ieee1275/ofconsole.c: Move ...
42292 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42293 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42294 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42295 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42296 to return int.
42297 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42298 Remove unused prototypes. All users updated.
42299 * include/grub/powerpc/ieee1275/console.h: Removed.
42300 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42301 `grub_ieee1275_cell_t'.
42302 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42303 Cast comparisons with -1 to the correct type.
42304 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42305 type to match `grub_ieee1275_entry_fn'.
42306
8b5f3938 423072005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42308
42309 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42310
42311 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42312 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42313 partmap/sun.c.
42314 (grub_probefs_SOURCES): New variable.
42315
42316 * util/i386/pc/grub-probefs.c: New file.
42317
42318 * util/i386/pc/grub-setup.c (main): Call
42319 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42320 grub_hfs_init and grub_jfs_init to initialize the system. Call
42321 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42322 grub_pc_partition_map_fini to finish the system.
42323
ea409713 423242005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42325
42326 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42327 function.
42328 (grub_multiboot_load_elf32): Likewise.
42329 (grub_multiboot_is_elf64): Likewise.
42330 (grub_multiboot_load_elf64): Likewise.
42331 (grub_multiboot_load_elf): Likewise.
42332 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42333 an ELF32 or ELF64 file.
42334 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42335
42336 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42337 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42338 NULL before calling FS->LABEL.
42339 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42340 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42341 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42342 before calling FS->LABEL.
42343
141a288b 423442005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42345
42346 * util/i386/pc/grub-install.in (datadir): New variable.
42347 (libdir): Removed.
42348 (pkgdatadir): New variable.
42349 (pkglibdir): Removed.
42350
0d5f8a54 423512005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42352
42353 * DISTLIST: Added util/i386/pc/grub-install.in.
42354
42355 * util/i386/pc/grub-install.in: New file.
42356
42357 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42358 (grub_install_SOURCES): Likewise.
42359
42360 * genmk.rb: Added support for scripts.
42361 (Script): New class.
42362 (scripts): New variable.
42363
42364 * Makefile.in (install-local): Install sbin_SCRIPTS by
42365 INSTALL_SCRIPT.
42366 (uninstall): Remove sbin_SCRIPTS.
42367
42368 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42369 device, try to get a GRUB device by
42370 grub_util_biosdisk_get_grub_dev.
42371 Free DEST_DEV.
42372
42373 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42374 description for --device-map.
42375
5f968e1e 423762005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42377
42378 Change the semantics of variable hooks. They now return strings
42379 instead of error values.
f19dbdb7 42380
5f968e1e 42381 * util/i386/pc/grub-setup.c: Include grub/env.h.
42382 (setup): Use grub_device_set_root instead of grub_env_set.
42383
42384 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42385 grub_env_get instead of grub_device_set_root and
42386 grub_device_get_root, respectively.
42387
42388 * kern/main.c (grub_env_write_root): New function.
42389 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42390 grub_env_set instead of grub_device_set_root.
42391
42392 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42393 many variables.
42394 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42395 rather than calling ENV->WRITE_HOOK afterwards.
42396 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42397 passing a pointer of a pointer.
42398 (grub_register_variable_hook): Change the types of "read_hook" and
42399 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42400 respectively.
42401 Allocate the default empty string on the heap, because this string
42402 may be freed later.
42403
42404 * kern/device.c: Include grub/env.h.
42405 (grub_device_set_root): Removed.
42406 (grub_device_get_root): Likewise.
42407 (grub_device_open): Use grub_env_get instead of
42408 grub_device_get_root.
42409
42410 * include/grub/env.h (grub_env_read_hook_t): New type.
42411 (grub_env_write_hook_t): Likewise.
42412 (grub_env_var): Change the types of "read_hook" and "write_hook"
42413 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42414 (grub_register_variable_hook): Likewise.
42415
42416 * include/grub/device.h (grub_device_set_root): Removed.
42417 (grub_device_set_root): Likewise.
42418
42419 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42420 make sure that DIRNAME terminates with '/', so that
42421 grub_fat_find_dir will fail if PATH is not a directory.
42422
42423 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42424 from DIRNAME.
42425 Use the qualifier auto for print_files and print_files_long.
42426 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42427 as a regular file.
42428 Put a newline only if there is no error.
42429 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42430 used.
42431
896f0afd 424322005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42433
42434 * kern/partition.c (grub_partition_probe): Initialize PART to
42435 NULL. Otherwise, when no partition map is registered, this returns
42436 a garbage.
42437
b28b81b2 424382005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42439
42440 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42441 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42442 valid.
42443
5f3607e0 424442005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42445
42446 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42447 information on each device, if it does not have partitions. Print
42448 "Device" instead of "Disk", because this function is not specific
42449 to disk devices.
42450
42451 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42452 static to ensure that it is put on the memory rather than a
42453 register.
42454
502c87e8 424552005-07-17 Yoshinori Okuji <okuji@enbug.org>
42456
42457 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42458 (grub_cat_init): Likewise.
42459 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42460 (options): Likewise.
42461 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42462 (grub_configfile_init): Likewise.
42463 * font/manager.c (GRUB_MOD_INIT): Likewise.
42464 * commands/help.c (GRUB_MOD_INIT): Likewise.
42465 (grub_help_init): Likewise.
42466 * normal/command.c (grub_command_init): Likewise.
42467 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42468 * disk/loopback.c (grub_loop_init): Likewise.
42469 (GRUB_MOD_INIT): Likewise.
42470 * commands/ls.c (grub_ls_init): Likewise.
42471 (GRUB_MOD_INIT): Likewise.
42472 (options): Likewise.
42473 * commands/boot.c (grub_boot_init): Likewise.
42474 (GRUB_MOD_INIT): Likewise.
42475 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42476 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42477 (GRUB_MOD_INIT): Likewise.
42478 * commands/cmp.c (grub_cmp_init): Likewise.
42479 (GRUB_MOD_INIT): Likewise.
42480
42481 * normal/arg.c: Use <> instead of "" to include header files.
42482 (SHORT_ARG_HELP): New macro.
42483 (SHORT_ARG_USAGE): Likewise.
42484 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42485 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42486 descriptions.
42487 (find_short): Check if C is 'h' or 'u' explicitly.
42488 (grub_arg_show_help): Use space characters instead of tabs. Treat
42489 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42490 are shown with --help and --usage only if they are not used for
42491 the command itself.
42492 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42493 'h' and 'u'.
42494
42495 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42496 const into "longarg". Change the type of "shortarg" to int.
42497
f806d18e 424982005-07-17 Yoshinori Okuji <okuji@enbug.org>
42499
42500 * boot/i386/pc/boot.S (boot_drive_check): New label.
42501
42502 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42503 macro.
42504
42505 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42506 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42507
e293232b 425082005-07-17 Yoshinori Okuji <okuji@enbug.org>
42509
42510 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42511 When turning off Gate A20, skip the check and return immediately,
42512 because this is not fatal usually.
42513
ebedfd00 425142005-07-17 Yoshinori Okuji <okuji@enbug.org>
42515
42516 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42517 be 0x7C00 instead of 0x8000.
42518
42519 * boot/i386/pc/pxeboot.S: Rewritten.
42520
42521 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42522 EXT_C.
42523 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42524 result.
42525
654fc59f 425262005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42527
42528 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42529 robustness. This routine now supports a BIOS call and System
42530 Control Port A to modify the gate A20.
42531
42532 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42533 Increased to 0x440.
42534
09f9923f 425352005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42536
42537 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42538 device path and resulting ihandle.
42539 (grub_ofdisk_close): dprintf the ihandle being closed.
42540 (grub_ofdisk_read): dprintf function parameters.
42541 * kern/mm.c (grub_mm_init_region): Likewise.
42542 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42543 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42544 size, and boot arguments.
42545 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42546 before loading into memory.
42547 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42548 before loading into memory.
42549
7ef504d8 425502005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42551
42552 * kern/mm.c: Added much documentation.
42553 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42554 8, set to 5 instead of 8.
42555
e0f050c2 425562005-07-10 Yoshinori Okuji <okuji@enbug.org>
42557
42558 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42559
42560 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42561 (grub_mkdevicemap_SOURCES): New variable.
42562
42563 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42564 lib/device.c of GRUB Legacy.
42565
7224189a 425662005-07-10 Yoshinori Okuji <okuji@enbug.org>
42567
42568 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42569 instead of PATH is NULL.
42570
68c864eb 425712005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42572
42573 * commands/cmp.c (BUFFER_SIZE): New macro.
42574 (grub_cmd_cmp): Close the right file at the right time. Compare
42575 only data just read. Don't report files of different size as
42576 identical. Dynamically allocate buffers. Move variable
42577 declarations at the beginning of function.
42578
e6f3e614 425792005-07-09 Yoshinori Okuji <okuji@enbug.org>
42580
42581 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42582 reverse.
42583
f8f1559a 425842004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42585
42586 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42587 when backspace is pressed at beginning of line.
42588
39c9d41d 425892005-07-03 Yoshinori Okuji <okuji@enbug.org>
42590
42591 * DISTLIST: Added genfslist.sh.
42592
42593 * normal/main.c (fs_module_list): New variable.
42594 (autoload_fs_module): New function.
42595 (read_fs_list): Likewise.
42596 (grub_normal_execute): Call read_fs_list.
42597
42598 * kern/fs.c (grub_fs_autoload_hook): New variable.
42599 (grub_fs_probe): Added support for auto-loading.
42600
42601 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42602 (grub_fs_module_list_t): New type.
42603
42604 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42605 (grub_fs_autoload_hook): New prototype.
42606
42607 * genfslist.sh: New file.
f19dbdb7 42608
39c9d41d 42609 * genmk.rb: Added a rule to generate a filesystem list.
42610
121c1d83 426112005-06-30 Marco Gerards <metgerards@student.han.nl>
42612
42613 * configure.ac: Fix the test for cross-compiling.
42614
42615 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42616 define GRUB_UTIL anymore.
42617
42618 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42619 so this function works on other systems than just big endian.
42620 (load_modules): Likewise.
42621 (add_segments): Likewise.
42622
e75d76e1 426232005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42624
42625 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42626 contains `l' modifier, get a long from va_arg().
42627
50b5a0a7 426282005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42629
42630 * kern/mm.c (grub_free): If the next free block which is being
42631 merged is the first free block, set the first block to the block
42632 being freed.
42633 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42634
89371b20 426352005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42636
42637 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42638 `grub_ieee1275_chosen'.
42639
168d6e58 426402005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42641
42642 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42643 (grub_ieee1275_chosen): New variable.
42644 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42645 `chosen'.
42646 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42647 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42648 Rename first argument to `phandle' for consistency.
42649 (grub_ieee1275_get_property_length): Likewise.
42650 (grub_ieee1275_next_property): Likewise. Change type of first argument
42651 to grub_ieee1275_phandle_t.
42652 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42653 Move export next to declaration.
42654 (grub_ieee1275_chosen): New variable.
42655 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42656 Correct cosmetic typo.
42657 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42658 `grub_ieee1275_chosen'.
42659 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42660 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42661 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42662 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42663 `grub_ieee1275_chosen'.
42664
ca5baa3f 426652005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42666
42667 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42668 /chosen/bootargs.
42669 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42670 /chosen/bootargs as "variable=value" pairs.
42671
708b345f 426722005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42673
42674 * include/grub/misc.h (grub_dprintf): New macro.
42675 (grub_real_dprintf): New prototype.
42676 (grub_strword): Likewise.
42677 (grub_iswordseparator): Likewise.
42678 * kern/misc.c (grub_real_dprintf): New function.
42679 (grub_strword): Likewise.
42680 (grub_iswordseparator): Likewise.
42681
f4c5e67c 426822005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42683
42684 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42685 (roundup): Remove macro.
42686 (grub_ieee1275_flags): Make static.
42687 (grub_ieee1275_realmode): Remove.
42688 (grub_ieee1275_test_flag): New function.
42689 (grub_ieee1275_set_flag): Likewise.
42690 (find_options): Rename to `grub_ieee1275_find_options'; update
42691 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42692 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42693 (cmain): New prototype.
42694 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42695 `grub_ieee1275_flags' directly.
42696 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42697 machine/biosdisk.h.
42698 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42699 Don't include grub/machine/init.h.
42700 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42701 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42702 Remove prototype.
42703 (grub_ieee1275_realmode): Likewise.
42704 (grub_ieee1275_flag): New enum.
42705 (grub_ieee1275_test_flag): New prototype.
42706 (grub_ieee1275_set_flag): New prototype.
42707 * include/grub/powerpc/ieee1275/init.h: Remove file.
42708 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42709 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42710 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42711 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42712 comment.
42713 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42714 `grub_ieee1275_test_flag'.
42715 (grub_ieee1275_encode_devname): Likewise.
42716
ed16607e 427172005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42718
42719 * include/grub/powerpc/ieee1275/ieee1275.h
42720 (grub_ieee1275_encode_devname): New prototype.
42721 (grub_ieee1275_get_filename): Likewise.
42722 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42723 function.
42724 (grub_set_prefix): Likewise.
42725 (grub_machine_init): Call grub_set_prefix.
42726 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42727 (grub_parse_type): New enum.
42728 (grub_ieee1275_get_devargs): New function.
42729 (grub_ieee1275_get_devname): Likewise.
42730 (grub_ieee1275_parse_args): Likewise.
42731 (grub_ieee1275_get_filename): Likewise.
42732 (grub_ieee1275_encode_devname): Likewise.
42733
be369920 427342005-03-30 Marco Gerards <metgerards@student.han.nl>
42735
42736 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42737 `grub_loader_unset'.
42738
a5ce3a4a 427392005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42740
42741 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42742 instead of grub_ieee1275_interpret.
42743 (grub_halt_init): New function.
42744 (grub_halt_fini): Likewise.
42745 (GRUB_MOD_INIT): Correct message grammar.
42746 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42747 instead of grub_ieee1275_interpret.
42748 (grub_reboot_init): New function.
42749 (grub_reboot_fini): Likewise.
42750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42751 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42752 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42753 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42754 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42755 function.
42756 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42757 Add prototype.
42758 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42759 prototype.
42760 (grub_halt): Likewise.
42761 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42762 (cmain): Remove __attribute__((unused)).
42763 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42764 (grub_heap_len): Likewise.
42765 (grub_machine_fini): New function.
42766 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42767 (grub_halt): Likewise.
42768 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42769 function.
42770 * util/powerpc/ieee1275/misc.c: New file.
42771
0058f771 427722005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42773
42774 * DISTLIST: New file.
42775 * gendistlist.sh: Likewise.
f19dbdb7 42776
0058f771 42777 * Makefile.in (COMMON_DISTFILES): Removed.
42778 (BOOT_DISTFILES): Likewise.
42779 (CONF_DISTFILES): Likewise.
42780 (DISK_DISTFILES): Likewise.
42781 (FS_DISTFILES): Likewise.
42782 (INCLUDE_DISTFILES): Likewise.
42783 (KERN_DISTFILES): Likewise.
42784 (LOADER_DISTFILES): Likewise.
42785 (TERM_DISTFILES): Likewise.
42786 (UTIL_DISTFILES): Likewise.
42787 (DISTFILES): Likewise.
42788 (uninstall): Uninstall files in $(pkgdata_DATA).
42789 (DISTLIST): New target.
42790 (distdir): Use the contents of the file DISTLIST to get a list of
42791 distributed files.
42792
46b3b8a5 427932005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42794
42795 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42796 descriptor. This is ported from GRUB Legacy.
42797
42798 * gencmdlist.sh: Added an extra semicolon to make it work with
42799 old sed versions. Reported by Robert Bihlmeyer
42800 <robbe@orcus.priv.at>.
42801
5822ff87 428022005-03-08 Yoshinori Okuji <okuji@enbug.org>
42803
42804 Automatic loading of commands is supported.
f19dbdb7 42805
5822ff87 42806 * normal/main.c (read_command_list): New function.
42807 (grub_normal_execute): Call read_command_list.
42808
42809 * normal/command.c (grub_register_command): Return zero or CMD.
42810 Allocate CMD->NAME from the heap.
42811 Initialize CMD->MODULE_NAME to zero.
42812 Find the same name as well. If the same command is found and it is
42813 a dummy command, overwrite members. If it is not a dummy command,
42814 return zero.
42815 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42816 (grub_command_find): If a dummy command is found, load a module
42817 and retry to find a command only once.
42818
42819 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42820 make sure that each command is loaded.
42821
42822 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42823 macro.
42824 (struct grub_command): Remove const from the member `name'.
42825 Add a new member `module_name'.
42826 (grub_register_command): Return grub_command_t.
42827
42828 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42829 sure that each command is loaded.
42830
42831 * genmk.rb (PModule::rule): Specify a module name without the
42832 suffix ".mod" to gencmdlist.sh.
42833
7b1f4b57 428342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42835
42836 * gencmdlist.sh: New file.
f19dbdb7 42837
7b1f4b57 42838 * genmk.rb (PModule::rule): Generate a rule for a command list.
42839 Clean command.lst.
42840 Generate command.lst from $(COMMANDFILES).
42841
42842 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42843 (DATA): Added $(pkgdata_DATA).
42844 (install-local): Install files in $(pkgdata_DATA).
42845
062aaf39 428462005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42847
42848 * term/i386/pc/vga.c (debug_command): Removed.
42849 (GRUB_MOD_INIT): Do not register the command "debug".
42850
42851 From Hollis Blanchard:
42852 * commands/configfile.c: New file.
42853 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42854 commands/configfile.c.
42855 (pkgdata_MODULES): Added configfile.mod.
42856 (configfile_mod_SOURCES): New variable.
42857 (configfile_mod_CFLAGS): Likewise.
42858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42859 commands/configfile.c.
42860 (pkgdata_MODULES): Added configfile.mod.
42861 (configfile_mod_SOURCES): New variable.
42862 (configfile_mod_CFLAGS): Likewise.
42863 * util/grub-emu.c (main): Call grub_configfile_init and
42864 grub_configfile_fini.
42865 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42866 prototype.
42867 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42868
cee01aa6 428692005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42870
42871 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42872 address.
42873
42874 * commands/help.c (grub_cmd_help): Do not print newlines after
42875 the last command in print_command_help.
42876
93f3a1d8 428772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42878
42879 * commands/default.h: New file.
42880 * commands/timeout.h: Likewise.
42881 * normal/context.c: Likewise.
f19dbdb7 42882
93f3a1d8 42883 * util/misc.c: Do not include sys/times.h.
42884 Include sys/time.h and grub/machine/time.h.
42885 (grub_get_rtc): Rewritten with gettimeofday.
42886
42887 * util/grub-emu.c (main): Call grub_default_init and
42888 grub_timeout_init before grub_normal_init, and call
42889 grub_timeout_fini and grub_default_fini after grub_main.
42890
42891 * util/console.c (grub_ncurses_checkkey): Return the read
42892 character or -1.
42893
42894 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42895 timeouts.
42896
42897 * normal/main.c (read_config_file): Push MENU. If this fails,
42898 print an error and wait for a user input.
42899 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42900 If a menu is empty or an error occurs, pop MENU.
42901 (grub_normal_execute): Pop and free MENU after grub_menu_run
42902 returns.
42903
42904 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42905
42906 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42907 include time.h.
42908 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42909 without GRUB_UTIL.
42910 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42911 time.h.
42912 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42913 without GRUB_UTIL.
42914
42915 * include/grub/normal.h (struct grub_menu_list): New struct.
42916 (grub_menu_list_t): New type.
42917 (struct grub_context): New struct.
42918 (grub_context_t): New type.
42919 (grub_register_command): Got rid of EXPORT_FUNC.
42920 (grub_unregister_command): Likewise.
42921 (grub_context_get): New prototype.
42922 (grub_context_get_current_menu): Likewise.
42923 (grub_context_push_menu): Likewise.
42924 (grub_context_pop_menu): Likewise.
42925 [GRUB_UTIL] (grub_default_init): Likewise.
42926 [GRUB_UTIL] (grub_default_fini): Likewise.
42927 [GRUB_UTIL] (grub_timeout_init): Likewise.
42928 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42929
42930 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42931 commands/timeout.c and normal/context.c.
42932 (pkgdata_MODULES): Added default.mod and timeout.mod.
42933 (normal_mod_SOURCES): Added normal/context.c.
42934 (default_mod_SOURCES): New variable.
42935 (default_mod_CFLAGS): Likewise.
42936 (timeout_mod_SOURCES): Likewise.
42937 (timeout_mod_CFLAGS): Likewise.
42938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42939 conf/i386-pc.rmk.
42940 (pkgdata_MODULES): Added default.mod and timeout.mod.
42941 (normal_mod_SOURCES): Added normal/context.c.
42942 (default_mod_SOURCES): New variable.
42943 (default_mod_CFLAGS): Likewise.
42944 (timeout_mod_SOURCES): Likewise.
42945 (timeout_mod_CFLAGS): Likewise.
42946
42947 * Makefile.in (all-local): Added $(MKFILES).
42948
4ed2e1dd 429492005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42950
42951 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42952 (grub_emu_SOURCES): Likewise.
42953 (pkgdata_MODULES): Add `sun.mod'.
42954 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42956 `partmap/sun.c'.
42957 (pkgdata_MODULES): Add `sun.mod'.
42958 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42959 * include/grub/partition.h (grub_sun_partition_map_init): New
42960 prototype.
42961 (grub_sun_partition_map_fini): Likewise.
42962 * partmap/sun.c: New file.
42963 * util/grub-emu.c (main): Initialize and de-initialize the sun
42964 partitionmap support.
42965
4d4e372e 429662005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42967
42968 This implements an Emacs-like menu entry editor.
f19dbdb7 42969
4d4e372e 42970 * normal/menu_entry.c: New file.
f19dbdb7 42971
4d4e372e 42972 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42973 characters to ASCII.
42974 (saved_char): New variable.
42975 (grub_ncurses_checkkey): Rewritten completely.
42976 (grub_ncurses_getkey): Likewise.
42977 (grub_ncurses_init): Call raw instead of cbreak.
42978
42979 * normal/menu.c (print_entry): Do not put a space.
42980 (init_page): Renamed to ...
42981 (grub_menu_init_page): ... this. All callers changed.
42982 (edit_menu_entry): Removed.
42983 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42984
42985 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42986
42987 * kern/misc.c (grub_vprintf): Call grub_refresh.
42988
42989 * normal/menu.c (DISP_LEFT): Renamed to ...
42990 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42991 * normal/menu.c (DISP_UP): Renamed to ...
42992 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42993 * normal/menu.c (DISP_RIGHT): Renamed to ...
42994 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42995 * normal/menu.c (DISP_DOWN): Renamed to ...
42996 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42997 * normal/menu.c (DISP_HLINE): Renamed to ...
42998 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42999 * normal/menu.c (DISP_VLINE): Renamed to ...
43000 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43001 * normal/menu.c (DISP_UL): Renamed to ...
43002 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43003 * normal/menu.c (DISP_UR): Renamed to ...
43004 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43005 * normal/menu.c (DISP_LL): Renamed to ...
43006 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43007 * normal/menu.c (DISP_LR): Renamed to ...
43008 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43009 * normal/menu.c (TERM_WIDTH): Renamed to ...
43010 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43011 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43012 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43013 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43014 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43015 * normal/menu.c (TERM_MARGIN): Renamed to ...
43016 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43017 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43018 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43019 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43020 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43021 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43022 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43023 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43024 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43025 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43026 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43027 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43028 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43029 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43030 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43031 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43032 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43033 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43034 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43035 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43036 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43037 All callers changed.
43038
43039 * include/grub/normal.h: New prototype.
43040
43041 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43042 normal/menu_entry.c.
43043 (normal_mod_SOURCES): Likewise.
43044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43045 (normal_mod_SOURCES): Likewise.
43046
e6b92c8a 430472005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43048
43049 * include/grub/normal.h (grub_halt_init): New prototype.
43050 (grub_halt_fini): Likewise.
43051 (grub_reboot_init): Likewise.
43052 (grub_reboot_fini): Likewise.
43053
43054 * util/grub-emu.c: Include signal.h.
43055 (main_env): New global variable.
43056 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43057 catch C-c.
43058 (grub_machine_fini): New function.
43059 (main): Call grub_halt_init and grub_reboot_init before
43060 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43061 Call setjmp with MAIN_ENV to go back afterwards.
43062 Call grub_machine_fini right before return.
43063
43064 * include/grub/util/misc.h: Include setjmp.h.
43065 (main_env): New prototype.
43066
43067 * include/grub/kernel.h (grub_machine_fini): New prototype.
43068 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43069 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43070
43071 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43072 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43073 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43074
e6b92c8a 43075 * util/i386/pc/misc.c: New file.
f19dbdb7 43076
e6b92c8a 43077 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43078 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43079 commands/i386/pc/reboot.c.
43080
c642636f 430812005-02-14 Guillem Jover <guillem@hadrons.org>
43082
43083 * include/grub/dl.h (grub_dl_check_header): New prototype.
43084 (grub_arch_dl_check_header): Change return type to grub_err_t,
43085 remove size parameter and export function. Update all callers.
43086 * kern/dl.c (grub_dl_check_header): New function.
43087 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43088 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43089 are inside the core.
43090 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43091 independent ELF header checks.
43092 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43093 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43094 `grub_dl_check_header' instead of explicit checks. Check for the
43095 ELF type.
43096 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43097 `grub_dl_check_header' instead of explicit checks. Remove arch
43098 specific ELF header checks.
43099
e6b92c8a 43100 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43101 argument SIZE.
43102
5eabe94b 431032005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43104
43105 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43106 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43107
1b14a681 431082005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43109
43110 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43111 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43112 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43113 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43114 * partmap/amiga.c (amiga_partition_map_iterate): Return
43115 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43116 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43117
aca108aa 431182005-02-01 Guillem Jover <guillem@hadrons.org>
43119
43120 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43121 help info.
43122
c9f9c556 431232005-01-31 Marco Gerards <metgerards@student.han.nl>
43124
43125 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43126 Removed prototype.
43127 (grub_rescue_cmd_linux): New prototype.
43128 (grub_rescue_cmd_initrd): Likewise.
43129 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43130 `bi_rec'.
43131 (grub_linux_release_mem): Release the memory for the initrd.
43132 (grub_load_linux): Renamed from this...
43133 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43134 Changed `entry' not to be static. Loop over memory regions to
43135 find another one when the default fails.
43136 (grub_rescue_cmd_initrd): New function.
43137 (grub_linux_init): Remove function.
43138 (grub_linux_fini): Likewise.
43139 (GRUB_MOD_INIT): Register `initrd'.
43140 (GRUB_MOD_FINI): Unregister `initrd'.
43141 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43142 Function removed.
43143 (grub_linux_normal_fini): Likewise.
43144 (GRUB_MOD_INIT): Register `initrd'.
43145 (GRUB_MOD_FINI): Unregister `initrd'.
43146
990cf3aa 431472005-01-31 Marco Gerards <metgerards@student.han.nl>
43148
43149 * commands/help.c: New file.
43150 * normal/arg.c (show_help): Renamed to...
43151 (grub_arg_show_help): ... this.
43152 * commands/i386/pc/halt.c: New file.
43153 * commands/i386/pc/reboot.c: Likewise.
43154 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43155 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43156 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43157 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43158 variables.
43159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43160 `commands/help.c'.
43161 (pkgdata_MODULES): Add `help.mod'.
43162 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43163 * grub/i386/pc/init.h (grub_reboot): New prototype.
43164 (grub_halt): Likewise.
43165 * include/grub/normal.h (grub_arg_show_help): New prototype.
43166 (grub_help_init): Likewise.
43167 (grub_help_fini): Likewise.
43168 * util/grub-emu.c (main): Initialize and deinitialize the help
43169 command.
43170
43171 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43172
43173 * normal/command.c (grub_command_init): Fixed the description of
43174 the `set' and `unset' commands.
43175
431762005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43177
43178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43179 function.
43180 * commands/ieee1275/halt.c: New file.
43181 * commands/ieee1275/reboot.c: Likewise.
43182 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43183 `__attribute__ ((unused))'. Some GCS related fixed.
43184 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43185 (grub_suspend_fini): Likewise.
43186 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43187 and `halt.mod'.
43188 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43189 (halt_mod_CFLAGS): New variables.
43190 * include/grub/powerpc/ieee1275/ieee1275.h
43191 (grub_ieee1275_interpret): New prototype.
43192
1ab09cc7 431932005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43194
43195 * include/grub/misc.h (memmove): New prototype.
43196 (memcpy): Likewise.
43197
8b8cbdb2 431982005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43199
43200 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43201 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43202
e3741a27 432032005-01-22 Marco Gerards <metgerards@student.han.nl>
43204
43205 * kern/misc.c (grub_strndup): Function rewritten.
43206
776bd780 432072005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43208
43209 * normal/menu.c (TERM_WIDTH): Macro redefined.
43210 (TERM_TOP_BORDER_Y): Likewise.
43211 (draw_border): Replaced while-loop by a for-loop. Make the number
43212 of lines consistent with the number of lines displayed in
43213 print_entries. Added a margin below the rectangle.
43214 (print_entry): Make the entry fit in the rectangle.
43215 (print_entries): Display the scroll arrows next to the right
43216 border.
43217
78026bce 432182005-01-21 Marco Gerards <metgerards@student.han.nl>
43219
43220 * fs/minix.c (grub_minix_find_file): Reserve more space for
43221 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43222 `grub_strncpy' to copy `path' into it.
43223
67bbaf0f 432242005-01-21 Marco Gerards <metgerards@student.han.nl>
43225
43226 Add the loopback device, a device via which files can be accessed
43227 as devices.
f19dbdb7 43228
67bbaf0f 43229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43230 (pkgdata_MODULES): Add loopback.mod.
43231 (loopback_mod_SOURCES): New variable.
43232 (loopback_mod_CFLAGS): Likewise.
43233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43234 `disk/loopback.c'.
43235 (pkgdata_MODULES): Add loopback.mod.
43236 (loopback_mod_SOURCES): New variable.
43237 (loopback_mod_CFLAGS): Likewise.
43238 * disk/loopback.c: new file.
43239 * include/grub/normal.h (grub_loop_init): New prototype.
43240 (grub_loop_fini): New prototype.
43241 * util/grub-emu.c (main): Initialize and de-initialize loopback
43242 support.
43243 * include/grub/disk.h (grub_disk_dev_id): Add
43244 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43245
6f1c18bd 432462005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43247
43248 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43249 function.
43250 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43251 (suspend_mod_SOURCES): New variable.
43252 (suspend_mod_CFLAGS): Likewise.
43253 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43254 New prototype.
43255 * commands/ieee1275/suspend.c: New file.
43256
b38551da 432572005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43258
43259 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43260 ((unused))' to `__attribute__ ((used))'.
b38551da 43261 (GRUB_MOD_FINI): Likewise.
43262 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43263 * genmk.rb (PModule): Assign space to common symbols when linking
43264 modules.
43265
777aff39 432662005-01-20 Marco Gerards <metgerards@student.han.nl>
43267
43268 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43269 `unsigned' arguments to `grub_size_t'.
43270 (grub_malloc): Likewise.
43271 (grub_realloc): Likewise.
43272 (grub_memalign): Likewise.
43273 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43274 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43275 * util/misc.c (grub_malloc): Likewise.
43276 (grub_realloc): Likewise.
43277 * kern/mm.c (get_header_from_pointer): Change the casts to
43278 `unsigned' into a cast to `grub_size_t'.
43279
43280 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43281 point to `currnode' when `currnode' is changed.
43282
43283 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43284 Schottelius <nico-linux@schottelius.org>.
43285
d0ff18e1 432862005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43287
43288 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43289 (note_path): Remove variable.
43290 (GRUB_IEEE1275_NOTE_NAME): New macro.
43291 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43292 (grub_ieee1275_note_hdr): New structure.
43293 (grub_ieee1275_note_desc): Likewise.
43294 (grub_ieee1275_note): Likewise.
43295 (load_note): Remove `dir' argument. All callers updated. Remove
43296 `note_img' and `path'. Do not load a file from `note_path'.
43297 Initialize a struct grub_ieee1275_note and write that to `out'.
43298 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43299
4ca7004c 433002005-01-05 Marco Gerards <metgerards@student.han.nl>
43301
43302 * util/misc.c (grub_util_read_image): Revert last change. It
43303 called `grub_util_read_at', which seeks from the beginning of the
43304 file.
43305
0b412211 433062005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43307
43308 * TODO: Add note about endianness in grub-mkimage.
43309 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43310 section.
43311 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43312 (grub_mkimage_SOURCES): New target.
43313 * include/grub/kernel.h (grub_start_addr): Remove variable.
43314 (grub_end_addr): Likewise.
43315 (grub_total_module_size): Likewise.
43316 (grub_kernel_image_size): Likewise.
43317 (GRUB_MODULE_MAGIC): New constant.
43318 (grub_module_info): New structure.
43319 (grub_arch_modules_addr): New prototype.
43320 (grub_get_end_addr): Remove prototype.
43321 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43322 * include/grub/powerpc/ieee1275/kernel.h: New file.
43323 * include/grub/util/misc.h (grub_util_get_fp_size): New
43324 prototype.
43325 (grub_util_read_at): Likewise.
43326 (grub_util_write_image_at): Likewise.
43327 * kern/main.c (grub_get_end_addr): Remove function.
43328 (grub_load_modules): Call grub_arch_modules_addr instead of using
43329 grub_end_addr. Look for a grub_module_info struct in memory. Use
43330 the grub_module_info fields instead of calling grub_get_end_addr
43331 as loop conditions. Move grub_add_unused_region code here.
43332 (grub_add_unused_region): Remove function.
43333 * kern/i386/pc/init.c: Include grub/cache.h.
43334 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43335 one call to add_mem_region.
43336 (grub_arch_modules_addr): New function.
43337 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43338 (grub_total_module_size): Likewise.
43339 Include grub/machine/kernel.h.
43340 (grub_arch_modules_addr): New function.
43341 * util/grub-emu.c (grub_end_addr): Remove variable.
43342 (grub_total_module_size): Likewise.
43343 (grub_arch_modules_addr): New function.
43344 * util/misc.c: Include unistd.h.
43345 (grub_util_get_fp_size): New function.
43346 (grub_util_read_at): Likewise.
43347 (grub_util_write_image_at): Likewise.
43348 (grub_util_read_image): Call grub_util_read_at.
43349 (grub_util_write_image): Call grub_util_write_image_at.
43350 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43351 additional memory in kernel_img for a struct grub_module_info.
43352 Fill in that grub_module_info.
43353 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43354
458786f8 433552005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43356
43357 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43358 New function.
43359 * include/grub/powerpc/ieee1275/ieee1275.h
43360 (grub_ieee1275_milliseconds): New prototype.
43361 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43362 Change to 1000.
43363 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43364 grub_ieee1275_milliseconds.
43365
ac507d1b 433662005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43367
43368 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43369 variable.
43370 (find_options): New function.
43371 (cmain): Call find_options.
43372 * include/grub/powerpc/ieee1275/ieee1275.h
43373 (grub_ieee1275_realmode): New extern variable.
43374 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43375 grub_map if grub_ieee1275_realmode is false.
43376
6b8fd1c4 433772004-12-29 Marco Gerards <metgerards@student.han.nl>
43378
43379 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43380 lines are inserted and make it work like readline. Reported by
43381 Vincent Pelletier <subdino2004@yahoo.fr>.
43382
8514a1e0 433832004-12-28 Marco Gerards <metgerards@student.han.nl>
43384
43385 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43386
43387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43388 `kern/powerpc/cache.S'.
43389
924b6140 433902004-12-27 Marco Gerards <metgerards@student.han.nl>
43391
43392 * genmk.rb: Handle the `Program' class in the main loop. Written
43393 by Johan Rydberg <jrydberg@gnu.org>.
43394 (Program): New class.
43395 (programs): New variable.
43396 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43397 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43398 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43399 (help_arch): Function removed.
43400 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43401 `powerpc/libgcc.h' and `loader.h'.
43402 (pkgdata_PROGRAMS): New variable.
43403 (sbin_UTILITIES): Variable removed.
43404 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43405 (grubof_SOURCES): Variable re-defined so it only includes the
43406 core functionality.
43407 (grubof_CFLAGS): Remove `-DGRUBOF'.
43408 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43409 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43410 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43411 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43412 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43413 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43414 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43415 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43416 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43417 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43418 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43419 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43420 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43421 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43422 (pc_mod_CFLAGS): New variables.
43423 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43424 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43425 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43426 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43427 Moved from here...
43428 * include/grub/i386/pc/init.h (grub_os_area_addr)
43429 (rub_os_area_size): ... to here.
43430 * include/grub/powerpc/ieee1275/ieee1275.h
43431 (grub_ieee1275_entry_fn): Export symbol.
43432 * include/grub/powerpc/ieee1275/init.h: New file.
43433 * include/grub/powerpc/libgcc.h: Likewise.
43434 * include/grub/cache.h: Likewise.
43435 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43436 <hollis@penguinppc.org>.
43437 * kern/dl.c: Include <grub/cache.h>.
43438 (grub_dl_flush_cache): New function.
43439 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43440 for this module.
43441 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43442 (grub_console_init): Removed prototypes.
43443 (grub_machine_init): Don't initialize the modules anymore.
43444 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43445 static.
43446 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43447 Macro undef removed.
43448 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43449 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43450 relocation `R_PPC_REL32'. Return an error when the relocation is
43451 unknown.
43452 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43453 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43454 * util/misc.c (grub_arch_sync_caches): Likewise.
43455
e4b47e0c 434562004-12-19 Marco Gerards <metgerards@student.han.nl>
43457
43458 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43459 `symlist.c', add `grubof_symlist.c'.
43460 (symlist.c): Variable removed.
43461 (grubof_HEADERS): Variable added.
43462 (grubof_symlist.c): New target.
43463 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43464 `kernel_img_HEADERS'.
43465 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43466 * kern/powerpc/dl.c: New file.
43467 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43468 Function removed.
43469 (grub_arch_dl_relocate_symbols): Likewise.
43470 (grub_register_exported_symbols): Likewise.
43471
4ceb3636 434722004-12-13 Marco Gerards <metgerards@student.han.nl>
43473
43474 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43475 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43476 to fail instead. Reported by Vincent Pelletier
43477 <subdino2004@yahoo.fr>.
43478
43479 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43480 it is not allocated. Reported by Vincent Pelletier
43481 <subdino2004@yahoo.fr>.
43482
43483 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43484 output so the output looks better.
f19dbdb7 43485
3f1578fe 434862004-12-04 Marco Gerards <metgerards@student.han.nl>
43487
43488 Modulize the partition map support and add support for the amiga
43489 partition map.
f19dbdb7 43490
3f1578fe 43491 * commands/ls.c: Include <grub/partition.h> instead of
43492 <grub/machine/partition.h>.
43493 * kern/disk.c: Likewise.
43494 * kern/rescue.c: Likewise.
43495 * loader/i386/pc/chainloader.c: Likewise.
43496 * normal/cmdline.c: Likewise.
43497 * kern/powerpc/ieee1275/init.c: Likewise.
43498 (grub_machine_init): Call `grub_pc_partition_map_init',
43499 `grub_amiga_partition_map_init' and
43500 `grub_apple_partition_map_init'.
43501 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43502 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43503 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43504 `partition.h' and `pc_partition.h'.
43505 (grub_setup_SOURCES): Remove
43506 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43507 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43508 (grub_emu_SOURCES): Likewise.
43509 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43510 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43511 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43513 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43514 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43515 (grubof_SOURCES): Likewise.
43516 * disk/i386/pc/partition.c: File removed.
43517 * disk/powerpc/ieee1275/partition.c: Likewise.
43518 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43519 * include/grub/i386/pc/partition.h: Likewise.
43520 * kern/partition.c: New file.
43521 * partmap/amiga.c: Likewise.
43522 * partmap/apple.c: Likewise.
43523 * partmap/pc.c: Likewise.
43524 * include/grub/partition.h: Likewise..
43525 * include/grub/pc_partition.h: Likewise.
43526 * util/grub-emu.c: Include <grub/partition.h> instead of
43527 <grub/machine/partition.h>.
43528 (main): Call `grub_pc_partition_map_init',
43529 `grub_amiga_partition_map_init' and
43530 `grub_apple_partition_map_init' and deinitialize afterwards.
43531 * util/i386/pc/biosdisk.c: Include `#include
43532 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43533 `<grub/machine/partition.h>'.
43534 * util/i386/pc/grub-setup.c: Likewise.
43535 * util/i386/pc/biosdisk.c: Likewise.
43536 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43537 partition information in case of a PC partition.
43538 * util/i386/pc/grub-setup.c: Include `#include
43539 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43540 `<grub/machine/partition.h>'.
43541 (setup): Only access the PC specific partition information in case
43542 of a PC partition.
43543
0ef4ced9 435442004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43545
0ef4ced9 43546 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43547 (grub_longjmp): Likewise.
43548 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43549 20.
43550 * normal/powerpc/setjmp.S: New file.
43551 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43552 `normal/powerpc/setjmp.S'.
43553 (grubof_CFLAGS): Add `-DGRUBOF'.
43554 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43555 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43556
19950e29 435572004-11-16 Marco Gerards <metgerards@student.han.nl>
43558
43559 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43560 property named `name'. Correctly handle the error returned by
43561 `grub_ieee1275_finddevice' if a device can not be opened.
43562
a2fea427 435632004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43564
43565 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43566 `actual' for negativity.
43567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43568 kern/fshelp.c.
43569
41ea0ea3 435702004-11-01 Marco Gerards <metgerards@student.han.nl>
43571
43572 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43573 (PAGE_OFFSET): New macro.
43574 (CRTC_ADDR_PORT): Likewise.
43575 (CRTC_DATA_PORT): Likewise.
43576 (START_ADDR_HIGH_REGISTER): Likewise.
43577 (START_ADDR_LOW_REGISTER): Likewise.
43578 (GRAPHICS_ADDR_PORT): Likewise.
43579 (GRAPHICS_DATA_PORT): Likewise.
43580 (READ_MAP_REGISTER): Likewise.
43581 (INPUT_STATUS1_REGISTER): Likewise.
43582 (INPUT_STATUS1_VERTR_BIT): Likewise.
43583 (page): New variable.
43584 (wait_vretrace): New function.
43585 (set_read_map): Likewise.
43586 (set_start_address): Likewise.
43587 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43588 the right page.
43589 (check_vga_mem): Take the page into account.
43590 (write_char): Likewise.
43591 (write_cursor): Likewise.
43592 (scroll_up): Likewise. Copy the page to the page that is not
43593 shown and switch between both pages.
43594 (grub_vga_putchar): Fix off by one error.
43595 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43596 account.
43597
ad0bd20b 435982004-11-01 Marco Gerards <metgerards@student.han.nl>
43599
43600 Add support for iso9660 (including rockridge).
f19dbdb7 43601
ad0bd20b 43602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43603 (iso9660_mod_SOURCES): New variable.
43604 (iso9660_mod_CFLAGS): Likewise.
43605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43606 * include/grub/fs.h (grub_iso9660_init): New prototype.
43607 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43608 * fs/iso9660.c: New file.
43609
43610 * include/grub/misc.h (grub_strncat): New prototype.
43611 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43612
ad0bd20b 43613 * fs/hfs.c (grub_hfs_mount): Translate the error
43614 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43615 * fs/jfs.c (grub_jfs_mount): Likewise.
43616 * fs/ufs.c (grub_ufs_mount): Likewise.
43617
a5477a59 436182004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43619
43620 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43621 which initialized BAT registers.
43622 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43623 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43624 Move from here...
43625 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43626 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43627 ... to here.
43628 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43629 (grub_mapclaim): Likewise.
43630 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43631 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43632 hand.
43633
9304c1f8 436342004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43635
43636 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43637 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43638 -ffreestanding and -msoft-float.
43639
86f4ae25 436402004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43641
43642 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43643 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43644 set in grub_ieee1275_flags.
43645
38912228 436462004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43647
43648 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43649 prototype.
43650 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43651 grub_console_init first.
43652 Change the memory range used for grub_ieee1275_claim and
43653 grub_mm_init_region.
43654 Print an error message if the claim fails.
43655 Include <grub/misc.h>.
43656
d1923dc8 436572004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43658
43659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43660 Call grub_children_iterate for device nodes of type `scsi',
43661 `ide', or `ata'.
43662 (grub_ofdisk_open): Remove manual device alias resolution.
43663 Fix memory leak when device cannot be opened.
f19dbdb7 43664 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43665 (grub_children_iterate): New prototype.
43666 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43667 New function.
43668 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43669 Return -1 if args.size was -1.
43670
4512e4f3 436712004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43672
43673 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43674 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43675 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43676 Open Firmware's memory for it; claim memory from _start to _end.
43677 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43678 (_end): New extern.
43679 (_start): Zero BSS from __bss_start to _end.
43680 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43681 New extern.
43682 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43683
4d61feb0 436842004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43685
ad0bd20b 43686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43687 -1 if args.base was -1.
4d61feb0 43688
026fa2f9 436892004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43690
43691 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43692 escape sequence instead of a literal ^L. Also call
43693 grub_ofconsole_gotoxy.
43694
9f2220ef 436952004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43696
43697 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43698 void * arguments to grub_addr_t. All callers updated. Also make
43699 the `result' argument optional.
43700 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43701 All callers updated.
43702
8a572cd7 437032004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43704
43705 * commands/ls.c (grub_ls_list_files): Use the string following the
43706 initial ')', if present, as the filesystem path.
43707 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43708
43709 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43710
18aa81f2 437112004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43712
43713 Make the source code of the menu interface more readable.
f19dbdb7 43714
18aa81f2 43715 * normal/menu.c: Include grub/mm.h.
43716 (TERM_WIDTH): New macro.
43717 (TERM_HEIGHT): Likewise.
43718 (TERM_INFO_HEIGHT): Likewise.
43719 (TERM_MARGIN): Likewise.
43720 (TERM_SCROLL_WIDTH): Likewise.
43721 (TERM_TOP_BORDER_Y): Likewise.
43722 (TERM_LEFT_BORDER_X): Likewise.
43723 (TERM_BORDER_WIDTH): Likewise.
43724 (TERM_MESSAGE_HEIGHT): Likewise.
43725 (TERM_BORDER_HEIGHT): Likewise.
43726 (TERM_NUM_ENTRIES): Likewise.
43727 (TERM_FIRST_ENTRY_Y): Likewise.
43728 (TERM_ENTRY_WIDTH): Likewise.
43729 (TERM_CURSOR_X): Likewise.
43730 (draw_border): Use macros instead of magic numbers.
43731 (print_entry): Likewise.
43732 (print_entries): Likewise.
43733 (run_menu): Likewise. Also, handle the key 'e'.
43734 (run_menu_entry): Ignore empty command lines.
43735 (print_message): Added a new argument EDIT. If EDIT is true,
43736 print a different message.
43737 (init_page): Likewise.
43738 (edit_menu_entry): New function. Not implemented yet.
43739
b47efe30 437402004-09-17 Marco Gerards <metgerards@student.han.nl>
43741
43742 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43743 can be loaded from normal mode.
f19dbdb7 43744
b47efe30 43745 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43746 `multiboot.mod'.
43747 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43748 (multiboot_mod_CFLAGS): New variables.
43749 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43750 * loader/i386/pc/multiboot_normal.c: Likewise.
43751
b47efe30 43752 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43753 attribute `unused'.
f19dbdb7 43754
b47efe30 43755 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43756 `fdiro' to read the mode information from instead of `diro'.
43757
43758 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43759 looking up a symlink.
43760
43761 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43762 macro.
43763 * normal/command.c (grub_command_execute): Don't parse the
43764 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43765 flags of the command.
43766
43767 * normal/menu.c (grub_menu_run): Fix typo.
43768
da75ac71 437692004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43770
43771 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43772
43773 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43774 `y + 1' instead of `y - 1'.
43775
43776 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43777
062b24c2 437782004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43779
43780 From Hollis Blanchard <hollis@penguinppc.org>:
43781 * kern/misc.c (memmove): New alias for grub_memmove.
43782 (memcmp): New alias for grub_memcmp.
43783 (memset): New alias for grub_memset.
f19dbdb7 43784 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43785 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43786 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43787 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43788
8ddad845 437892004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43790
43791 Added normal mode command `chainloader' as module chain.mod, which
43792 depends on normal.mod and _chain.mod.
f19dbdb7 43793
8ddad845 43794 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43795 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43796 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43797 Deleted prototype.
43798 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43799 but arguments parsing moved to ...
43800 (grub_chainloader_cmd): ... here. New function.
43801 * include/grub/i386/pc/chainloader.h: New file.
43802 * loader/i386/pc/chainloader_normal.c: Likewise.
43803
2c1f4ce3 438042004-09-11 Marco Gerards <metgerards@student.han.nl>
43805
43806 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43807 (grub_mkimage_LDFLAGS): Likewise.
43808 (grub_emu_SOURCES): Likewise.
43809 (kernel_img_HEADERS): Added fshelp.h.
43810 * fs/ext2.c: Include <grub/fshelp.h>.
43811 (FILETYPE_REG): New macro.
43812 (FILETYPE_INO_REG): Likewise.
43813 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43814 Changed all users.
43815 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43816 all users.
43817 (grub_fshelp_node): New struct.
43818 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43819 to a pointer.
43820 (grub_ext2_get_file_block): Removed function.
43821 (grub_ext2_read_block): New function.
43822 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43823 This function was written.
43824 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43825 (grub_ext2_find_file): Removed function.
43826 (grub_ext2_read_symlink): New function.
43827 (grub_ext2_iterate_dir): Likewise.
43828 (grub_ext2_open): Rewritten.
43829 (grub_ext2_dir): Rewritten.
43830 * include/grub/fshelp.h: New file.
43831 * fs/fshelp.c: Likewise.
43832
3c52136a 438332004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43834
43835 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43836 (print_message): Add a missing newline.
43837 (run_menu): Added timeout support.
43838 (run_menu_entry): New local function.
43839 (grub_menu_run): Added support for booting.
43840
43841 * kern/loader.c (grub_loader_is_loaded): New function.
43842
43843 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43844 (grub_get_rtc): Exported.
43845
43846 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43847 (grub_get_rtc): Exported.
43848
43849 * include/grub/normal.h (struct grub_command_list): Remove
43850 constant from the member `command'.
43851
43852 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43853
43854 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43855
43856 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43857
aa033560 438582004-08-28 Marco Gerards <metgerards@student.han.nl>
43859
43860 Add support for the JFS filesystem.
43861
43862 * fs/jfs.c: New file.
43863 * include/grub/fs.h (grub_jfs_init): New prototype.
43864 (grub_jfs_fini): New prototype.
43865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43866 (grub_emu_SOURCES): Likewise.
43867 (pkgdata_MODULES): Add jfs.mod.
43868 (jfs_mod_SOURCES): New variable.
43869 (jfs_mod_CFLAGS): Likewise.
43870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43871 (grubof_SOURCES): Likewise.
43872 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43873
43874 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43875 endian to the host endian.
43876 (grub_fat_utf16_to_utf8): Move function from there...
43877 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43878 the endianness of the source string anymore.
aa033560 43879 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43880
94bc45af 438812004-08-24 Marco Gerards <metgerards@student.han.nl>
43882
43883 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43884 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43885 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43886 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43887
94bc45af 43888 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43889 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43890 for `node_found' and `it_dir'.
43891 (grub_hfs_dir): Add prototype for `dir_hook'.
43892
43893 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43894 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43895 and `indir32' to silence a gcc warning.
43896
43897 * include/grub/fs.h (grub_hfs_init): New prototype.
43898 (grub_hfs_fini): Likewise.
f19dbdb7 43899
43900
97543f08 439012004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43902
43903 Each disk device has its own id now. This is useful to make use
43904 of multiple disk devices.
f19dbdb7 43905
97543f08 43906 * include/grub/disk.h (grub_disk_dev_id): New enum.
43907 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43908 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43909
43910 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43911 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43912
43913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43914 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43915
43916 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43917 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43918
43919 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43920 "id" which is used by the cache manager.
43921
43922 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43923 of just "GRUB".
43924
64372eb4 439252004-08-18 Marco Gerards <metgerards@student.han.nl>
43926
43927 * fs/hfs.c: New file.
43928 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43929 (grub_emu_SOURCES): Likewise.
43930 (pkgdata_MODULES): Add hfs.mod.
43931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43932 (grubof_SOURCES): Likewise.
43933 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43934
43935 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43936 * kern/misc.c (grub_strncasecmp): Add function.
43937
cc61b58f 439382004-08-14 Marco Gerards <metgerards@student.han.nl>
43939
43940 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43941 with parentheses.
43942
43943 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43944 (grub_ext2_dir): In case the directory entry type is unknown, read
43945 it from the inode.
43946
0ef123f6 439472004-08-02 Peter Bruin <pjbruin@dds.nl>
43948
43949 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43950 grub_load_linux instead of grub_rescue_cmd_linux as second
43951 argument of grub_rescue_register_command.
43952
43953 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43954
a447c5df 439552004-07-27 Marco Gerards <metgerards@student.han.nl>
43956
43957 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43958 function.
43959 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43960 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43961 `loader/powerpc/ieee1275/linux.c',
43962 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43963 * include/grub/powerpc/ieee1275/ieee1275.h
43964 (grub_ieee1275_release): New prototype.
43965 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43966 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43967 normal, boot, linux and linux_normal.
43968 * loader/powerpc/ieee1275/linux.c: New file.
43969 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43970
5a9e3546 439712004-07-12 Marco Gerards <metgerards@student.han.nl>
43972
43973 * normal/arg.c (grub_arg_parse): Correct error handling after
43974 reallocating the argumentlist (check if `argl' is not null instead
43975 of checking if `args' is not null).
43976 * kern/mm.c (grub_realloc): Return the same pointer when using the
43977 same region, instead of returning the header address.
43978
e15199cb 439792004-07-11 Marco Gerards <metgerards@student.han.nl>
43980
43981 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43982 one block instead of two when looking for the initial partition.
43983 (grub_partition_probe): Initialize the local variable `p' with 0.
43984 Use base 10 for the grub_strtoul call.
43985 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43986 need for one local variable.
43987 (grub_strtoul): Don't add the new value to `num', instead of that
43988 just assign it.
43989
020616c2 439902004-07-11 Marco Gerards <metgerards@student.han.nl>
43991
43992 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43993 (pxeboot_img_SOURCES): New variable.
43994 (pxeboot_img_ASFLAGS): Likewise.
43995 (pxeboot_img_LDFLAGS): Likewise.
43996 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43997 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43998 <lode_leroy@hotmail.com>.
43999
6c51eb64 440002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44001
44002 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44003 there was no input.
44004
cfb12aff 440052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44006
44007 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44008 the history buffer logic.
44009
6eabba74 440102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44011
44012 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44013 (FILETYPE_INO_SYMLINK): New macros.
44014 (grub_ext2_find_file): Check if the node is a directory using the
44015 inode stat information instead of using the filetype in the
44016 dirent. Exclude the first character of an absolute symlink.
44017 (grub_ext2_dir): Mask out the filetype part of the mode member of
44018 the inode.
44019
66e19ef8 440202004-05-24 Marco Gerards <metgerards@student.han.nl>
44021
44022 Add support for UFS version 1 and 2. Add support for the minix
44023 filesystem version 1 and 2, both the variants with 14 and 30 long
44024 filenames.
f19dbdb7 44025
66e19ef8 44026 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44027 fs/minix.c.
44028 (grub_emu_SOURCES): Likewise.
44029 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44030 (ufs_mod_SOURCES): New variable.
44031 (ufs_mod_CFLAGS): Likewise.
44032 (minix_mod_SOURCES): Likewise.
44033 (minix_mod_CFLAGS): Likewise.
44034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44035 fs/minix.c.
44036 (grubof_SOURCES): Likewise.
44037 * fs/ufs.c: New file.
44038 * fs/minix.c: New file.
44039 * include/grub/fs.h (grub_ufs_init): New prototype.
44040 (grub_ufs_fini): Likewise.
44041 (grub_minix_init): Likewise.
44042 (grub_minix_fini): Likewise.
44043 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44044 minix fs.
44045
cc2e748a 440462004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44047
44048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44049 commands/ls.c, commands/terminal.c, commands/boot.c,
44050 commands/cmp.c and commands/cat.c.
44051 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44052
44053 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44054 "env.h"
44055
4b13b216 440562004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44057
44058 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44059 and grub_, respectively. Because the conversion is trivial and
44060 mechanical, I omit the details here. Please refer to the CVS
44061 if you need more information.
44062
6a142551 440632004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44064
44065 * include/pupa: Renamed to ...
44066 * include/grub: ... this.
44067 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44068 * util/i386/pc/grub-mkimage.c: ... this.
44069 * util/i386/pc/pupa-setup.c: Renamed to ...
44070 * util/i386/pc/grub-setup.c: ... this.
44071 * util/pupa-emu.c: Renamed to ...
44072 * util/grub-emu.c: ... this.
44073
e56cdf21 440742004-03-29 Marco Gerards <metgerards@student.han.nl>
44075
44076 Add support for the newworld apple macintosh (PPC). This has been
44077 tested on the powerbook 2000 only. It only adds support for
44078 generic ieee1275 functions, console and disk support. This should
44079 be easy to port to other architectures with support for Open
44080 Firmware.
f19dbdb7 44081
e56cdf21 44082 * configure.ac: Accept the powerpc as host_cpu. In the case of
44083 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44084 specific tests are only executed while building for the i386.
44085 Inverse test for crosscompile.
44086 * genmk.rb (Utility): Allow assembler files.
44087 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44088 * conf/powerpc-ieee1275.rmk: New file.
44089 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44090 * disk/powerpc/ieee1275/partition.c: Likewise.
44091 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44092 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44093 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44094 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44095 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44096 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44097 * include/pupa/powerpc/ieee1275/loader.h
44098 * include/pupa/powerpc/setjmp.h: Likewise.
44099 * include/pupa/powerpc/types.h: Likewise.
44100 * kern/powerpc/ieee1275/init.c: Likewise.
44101 * kern/powerpc/ieee1275/openfw.c: Likewise.
44102 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44103
44104 These files were written by Johan Rydberg
44105 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44106
e56cdf21 44107 * boot/powerpc/ieee1275/cmain.c: New file.
44108 * boot/powerpc/ieee1275/crt0.S: Likewise.
44109 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44110 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44111
8c8cc205 441122004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44113
44114 * Makefile.in: Update copyright.
44115 * genmodsrc.sh: Likewise.
44116 * gensymlist.sh: Likewise.
44117 * term/i386/pc/vga.c: Indent correctly.
44118
44119 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44120 bugreporting address.
44121 * util/i386/pc/pupa-setup.c (usage): Likewise,
44122 (main): Call pupa_ext2_init and pupa_ext2_fini.
44123
f19dbdb7 44124 * fs/fat.c (log2): Renamed to ...
8c8cc205 44125 (fat_log2): ... this.
44126 All callers changed.
44127 * kern/misc.c (memcpy): Alias to pupa_memmove.
44128 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44129 lvalue cast.
44130 * util/console.c (pupa_ncurses_fini): Return 0.
44131
44132 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44133 Move fail label here.
44134 [__GNU__]: Don't warn when using stat.
44135 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44136 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44137 long int. Use strtol instead of strtoul.
f19dbdb7 44138
db1771cf 441392004-03-14 Marco Gerards <metgerards@student.han.nl>
44140
44141 * commands/boot.c: New file.
44142 * commands/cat.c: Likewise.
44143 * commands/cmp.c: Likewise.
44144 * commands/ls.c: Likewise.
44145 * commands/terminal.c: Likewise.
44146 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44147 (pupa_register_command): Changed interface to match the new
44148 argument parser.
44149 (pupa_command_execute): Changed (almost rewritten) so it uses
44150 pupa_split_command. Added support for setting variables using the
44151 syntax `foo=bar'.
44152 (rescue_command): Changed to work with the new argument parser.
44153 (terminal_command): Moved from here to commands/terminal.c.
44154 (set_command): New function.
44155 (unset_command): New function.
44156 (insmod_command): New function.
44157 (rmmod_command): New function.
44158 (lsmod_command): New function.
44159 (pupa_command_init): Don't initialize the command terminal
44160 anymore. Initialize the commands set, unset, insmod, rmmod and
44161 lsmod.
44162 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44163 (kernel_img_HEADERS): Add arg.h and env.h.
44164 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44165 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44166 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44167 normal/arg.c.
44168 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44169 terminal.mod.
44170 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44171 (boot_mod_SOURCES): New variable.
44172 (terminal_mod_SOURCES): Likewise.
44173 (ls_mod_SOURCES): Likewise.
44174 (cmp_mod_SOURCES): Likewise.
44175 (cat_mod_SOURCES): Likewise.
44176
44177 * normal/arg.c: New file.
44178 * kern/env.c: Likewise.
44179 * include/pupa/arg.h: Likewise.
44180 * include/pupa/env.h: Likewise.
44181 * font/manager.c (font_command): Changed to match argument parsing
44182 interface changes.
44183 (PUPA_MOD_INIT): Likewise.
44184 * hello/hello.c (pupa_cmd_hello): Likewise.
44185 (PUPA_MOD_INIT): Likewise.
44186 * include/pupa/disk.h: Include <pupa/device.h>.
44187 (pupa_print_partinfo): New prototype.
44188 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44189 (pupa_dl_get_prefix): Likewise.
44190 * include/pupa/misc.h: Include <pupa/err.h>.
44191 (pupa_isgraph): New prototype.
44192 (pupa_isdigit): Likewise.
44193 (pupa_split_cmdline): Likewise.
44194 * include/pupa/normal.h: Include <pupa/arg.h>.
44195 (pupa_command): Changed the prototype of the member `func' to
44196 match the argument parsing interface. Added member `options'.
44197 (pupa_register_command): Updated to match function.
44198 (pupa_arg_parse): New prototype.
44199 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44200 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44201 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44202 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44203 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44204 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44205 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44206 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44207 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44208 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44209 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44210 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44211 * kern/disk.c: Include <pupa/file.h>.
44212 (pupa_print_partinfo): New function.
44213 * kern/dl.c: Include <pupa/env.h>.
44214 (pupa_dl_dir): Variable removed.
44215 (pupa_dl_load): Use the environment variable `prefix' instead of
44216 the variable pupa_dl_dir.
44217 (pupa_dl_set_prefix): Function removed.
44218 (pupa_dl_get_prefix): Likewise.
44219 * kern/i386/pc/init.c: Include <pupa/env.h>.
44220 (pupa_machine_init): Use the environment variable `prefix' instead of
44221 using pupa_dl_set_prefix to set the prefix.
44222 * kern/main.c: Include <pupa/env.h>.
44223 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44224 using pupa_dl_get_prefix to get the prefix.
44225 * kern/misc.c: Include <pupa/env.h>.
44226 (pupa_isdigit): New function.
44227 (pupa_isgraph): Likewise.
44228 (pupa_ftoa): Likewise.
44229 (pupa_vsprintf): Added support for printing values of the type
44230 `double'. Make it possible to format variable output when using
44231 formatting like `%1.2%f'.
44232 (pupa_split_cmdline): New function.
44233 * kern/rescue.c: Include <pupa/env.h>.
44234 (next_word): Removed function.
44235 (pupa_rescue_cmd_prefix): Likewise.
44236 (pupa_rescue_cmd_set): New function.
44237 (pupa_rescue_cmd_unset): New function.
44238 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44239 split the command line instead of splitting it here. Added
44240 support for setting variables using the syntax `foo=bar'. Don't
44241 initialize the prefix command anymore. Initialized the set and
44242 unset commands.
44243 * normal/cmdline.c: Include <pupa/env.h>.
44244 (pupa_tab_complete): Added prototypes for print_simple_completion,
44245 print_partition_completion, add_completion, iterate_commands,
44246 iterate_dev, iterate_part and iterate_dir. Moved code to print
44247 partition information from here to kern/disk.c.
fe6b695a 44248 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44249 * normal/main.c: Include <pupa/env.h>.
44250 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44251 instead of using pupa_dl_get_prefix to get the prefix.
44252 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44253 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44254 warning.
44255 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44256 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44257 ((unused))' to silence a gcc warning.
44258 (pupa_vga_setcolor): Likewise.
44259 (debug_command): Changed to match argument parsing
44260 interface changes.
44261 * util/pupa-emu.c: Include <pupa/env.h>.
44262 (options): Added 0's for unused fields to silence a gcc warning.
44263 (argp): Likewise.
44264 (main): Use the environment variable `prefix' instead of using
44265 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44266 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44267 and terminal.
44268
44269 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44270 * util/misc.c: Include <malloc.h>.
44271 (pupa_malloc): Rewritten so errors are correctly reported.
44272 (pupa_realloc): Likewise.
44273 (pupa_memalign): Likewise.
44274 (pupa_mm_init_region): Declare unused variables with
44275 `__attribute__ ((unused))' to silence a gcc warning.
44276 * normal/i386/setjmp.S: Remove tab at the end of the file to
44277 silence a gcc warning.
44278 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44279 variables with `__attribute__ ((unused))' to silence a gcc
44280 warning.
44281 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44282 local variable i unsigned to silence a gcc warning.
44283
44284 * kern/term.c: Include <pupa/misc.h>.
44285 (pupa_more_lines): New variable.
44286 (pupa_more): Likewise.
44287 (pupa_putcode): When the pager is active pause at the end of every
44288 screen.
44289 (pupa_set_more): New function.
44290 * include/pupa/term.h (pupa_set_more): New prototype.
44291
44292
3b1139cb 442932004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44294
44295 Now this project is GRUB 2 rather than PUPA. The location of
44296 the CVS repository was moved to GRUB's.
f19dbdb7 44297
3b1139cb 44298 * configure.ac: Use bug-grub as the reporting address.
44299 Use GRUB instead of PUPA.
44300 Change the version number to 1.90.
44301
8367695c 443022004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44303
44304 * genkernsyms.sh: Updated copyright information.
44305 * genmk.rb: Likewise.
44306 * genmodsrc.sh: Likewise.
44307 * gensymlist.sh: Likewise.
44308 * boot/i386/pc/boot.S: Likewise.
44309 * boot/i386/pc/diskboot.S: Likewise.
44310 * disk/i386/pc/biosdisk.c: Likewise.
44311 * disk/i386/pc/partition.c: Likewise.
44312 * font/manager.c: Likewise.
44313 * fs/ext2.c: Likewise.
44314 * fs/fat.c: Likewise.
44315 * include/pupa/boot.h: Likewise.
44316 * include/pupa/device.h: Likewise.
44317 * include/pupa/disk.h: Likewise.
44318 * include/pupa/dl.h: Likewise.
44319 * include/pupa/elf.h: Likewise.
44320 * include/pupa/err.h: Likewise.
44321 * include/pupa/file.h: Likewise.
44322 * include/pupa/font.h: Likewise.
44323 * include/pupa/fs.h: Likewise.
44324 * include/pupa/kernel.h: Likewise.
44325 * include/pupa/loader.h: Likewise.
44326 * include/pupa/misc.h: Likewise.
44327 * include/pupa/mm.h: Likewise.
44328 * include/pupa/net.h: Likewise.
44329 * include/pupa/normal.h: Likewise.
44330 * include/pupa/rescue.h: Likewise.
44331 * include/pupa/setjmp.h: Likewise.
44332 * include/pupa/symbol.h: Likewise.
44333 * include/pupa/term.h: Likewise.
44334 * include/pupa/types.h: Likewise.
44335 * include/pupa/i386/setjmp.h: Likewise.
44336 * include/pupa/i386/types.h: Likewise.
44337 * include/pupa/i386/pc/biosdisk.h: Likewise.
44338 * include/pupa/i386/pc/boot.h: Likewise.
44339 * include/pupa/i386/pc/console.h: Likewise.
44340 * include/pupa/i386/pc/init.h: Likewise.
44341 * include/pupa/i386/pc/kernel.h: Likewise.
44342 * include/pupa/i386/pc/linux.h: Likewise.
44343 * include/pupa/i386/pc/loader.h: Likewise.
44344 * include/pupa/i386/pc/memory.h: Likewise.
44345 * include/pupa/i386/pc/multiboot.h: Likewise.
44346 * include/pupa/i386/pc/partition.h: Likewise.
44347 * include/pupa/i386/pc/time.h: Likewise.
44348 * include/pupa/i386/pc/vga.h: Likewise.
44349 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44350 * include/pupa/util/getroot.h: Likewise.
44351 * include/pupa/util/misc.h: Likewise.
44352 * include/pupa/util/resolve.h: Likewise.
44353 * kern/device.c: Likewise.
44354 * kern/disk.c: Likewise.
44355 * kern/dl.c: Likewise.
44356 * kern/err.c: Likewise.
44357 * kern/file.c: Likewise.
44358 * kern/fs.c: Likewise.
44359 * kern/loader.c: Likewise.
44360 * kern/main.c: Likewise.
44361 * kern/misc.c: Likewise.
44362 * kern/mm.c: Likewise.
44363 * kern/rescue.c: Likewise.
44364 * kern/term.c: Likewise.
44365 * kern/i386/dl.c: Likewise.
44366 * kern/i386/pc/init.c: Likewise.
44367 * kern/i386/pc/lzo1x.S: Likewise.
44368 * kern/i386/pc/startup.S: Likewise.
44369 * loader/i386/pc/chainloader.c: Likewise.
44370 * loader/i386/pc/linux.c: Likewise.
44371 * loader/i386/pc/multiboot.c: Likewise.
44372 * normal/cmdline.c: Likewise.
44373 * normal/command.c: Likewise.
44374 * normal/main.c: Likewise.
44375 * normal/menu.c: Likewise.
44376 * normal/i386/setjmp.S: Likewise.
44377 * term/i386/pc/console.c: Likewise.
44378 * term/i386/pc/vga.c: Likewise.
44379 * util/console.c: Likewise.
44380 * util/genmoddep.c: Likewise.
44381 * util/misc.c: Likewise.
44382 * util/pupa-emu.c: Likewise.
44383 * util/resolve.c: Likewise.
44384 * util/unifont2pff.rb: Likewise.
44385 * util/i386/pc/biosdisk.c: Likewise.
44386 * util/i386/pc/getroot.c: Likewise.
44387 * util/i386/pc/pupa-mkimage.c: Likewise.
44388 * util/i386/pc/pupa-setup.c: Likewise.
44389
e6eced71 443902004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44391
44392 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44393 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44394 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44395 reading and reset it after reading.
44396 (pupa_ext2_close): Return PUPA_ERR_NONE.
44397
44398 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44399 Correct value.
44400 (struct linux_kernel_header): Add kernel_version and
44401 initrd_addr_max.
44402 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44403 pupa_file_read succeeds.
44404 (pupa_rescue_cmd_initrd): Implement.
44405
5aded270 444062003-12-03 Marco Gerards <metgerards@student.han.nl>
44407
44408 * fs/ext2.c (pupa_ext2_label): New function.
44409 (pupa_ext2_fs): Added label.
44410 * fs/fat.c (pupa_fat_label): New function.
44411 (pupa_fat_fs): Added label.
44412 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44413
44414 * kern/misc.c (pupa_strndup): New function.
44415 * include/pupa/misc.h (pupa_strndup): New prototype.
44416
44417 * include/pupa/normal.h: Include <pupa/err.h>.
44418 (pupa_set_history): New prototype.
44419 (pupa_iterate_commands): New prototype.
44420 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44421 <pupa/disk.h>, <pupa/file.h>.
44422 (hist_size): New variable.
44423 (hist_lines): Likewise.
44424 (hist_end): Likewise.
44425 (hist_used): Likewise.
44426 (pupa_set_history): New function.
44427 (pupa_history_get): Likewise.
44428 (pupa_history_add): Likewise.
44429 (pupa_history_replace): Likewise.
44430 (pupa_tab_complete): Likewise.
44431 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44432 completion shows partitionnames while completing partitions, this
44433 feature was suggested by Jeff Bailey.
44434 * normal/command.c (pupa_iterate_commands): New function.
44435 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44436 (pupa_normal_init): Initialize history buffer.
44437 (PUPA_MOD_INIT): Likewise.
44438 (pupa_normal_fini): Free the history buffer.
44439 (PUPA_MOD_FINI): Likewise.
44440
44441 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44442 key.
44443
44444 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44445 * configure.ac [i386]: Check for regparam bug.
44446 (NESTED_FUNC_ATTR) [! i386]: Defined.
44447
1f7315a3 444482003-11-17 Marco Gerards <metgerards@student.han.nl>
44449
44450 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44451 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44452 (pupa_emu_SOURCES): New variable.
44453 (pupa_emu_LDFLAGS): Likewise.
44454 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44455 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44456 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44457 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44458 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44459 (pupa_jmp_buf): New typedef.
44460 (pupa_setjmp) [PUPA_UTIL]: New macro.
44461 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44462 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44463 (pupa_refresh): New prototype.
44464 * include/pupa/util/getroot.h: New file.
44465 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44466 it.
44467 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44468 (pupa_rescue_cmd_cat): Likewise.
44469 (pupa_rescue_cmd_ls): Likewise.
44470 (pupa_rescue_cmd_testload): Likewise.
44471 (pupa_rescue_cmd_lsmod): Likewise.
44472 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44473 * normal/menu.c (run_menu): Likewise.
44474 * kern/term.c (pupa_cls): Likewise.
44475 (pupa_refresh): New function.
44476 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44477 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44478 * util/console.c: New file.
f19dbdb7 44479
1f7315a3 44480 * util/i386/pc/getroot.c: New file.
44481 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44482 (pupa_putchar): New function.
44483 (pupa_refresh): Likewise.
44484 (xgetcwd): Function moved to ...
44485 (strip_extra_slashes): Likewise.
44486 (get_prefix): Likewise.
f19dbdb7 44487 * util/i386/pc/getroot.c: ... here.
1f7315a3 44488 (find_root_device): Function moved and renamed to...
44489 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44490 Changed all callers.
44491 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44492 and renamed to...
44493 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44494 Changed all callers.
44495 * util/misc.c (pupa_memalign): New function.
44496 (pupa_mm_init_region): Likewise.
44497 (pupa_register_exported_symbols): Likewise.
44498 (pupa_putchar): Function removed.
44499 * util/pupa-emu.c: New file.
44500
9a5c1ade 445012003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44502
44503 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44504 (_multiboot_mod_SOURCES): New variable.
44505 (_multiboot_mod_CFLAGS): Likewise.
44506 * loader/i386/pc/multiboot.c: New file.
44507 * include/pupa/i386/pc/multiboot.h: Likewise.
44508 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44509 (pupa_multiboot_real_boot): New function.
44510 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44511 (pupa_multiboot_real_boot): New prototype.
44512 (pupa_rescue_cmd_multiboot): Likewise
44513 (pupa_rescue_cmd_module): Likewise.
44514
44515 * kern/loader.c (pupa_loader_set): Continue when
44516 pupa_loader_unload_func() fails.
44517 (pupa_loader_unset): New function.
44518 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44519
44520 * kern/misc.c (pupa_stpcpy): New function.
44521 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44522
8e72a9c0 445232003-11-12 Marco Gerards <metgerards@student.han.nl>
44524
44525 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44526 for available extensions.
44527
44528 * include/pupa/i386/pc/time.h: New file.
44529 * kern/disk.c: Include <pupa/machine/time.h>.
44530 (PUPA_CACHE_TIMEOUT): New macro.
44531 (pupa_last_time): New variable.
44532 (pupa_disk_open): Flush the cache when there was a timeout.
44533 (pupa_disk_close): Reset the timer.
44534 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44535 pupa_currticks.
44536 * util/misc.c: Include <sys/times.h>
44537 (pupa_get_rtc): New function.
44538
c4adbd32 445392003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44540
44541 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44542 as blocks.
44543 (pupa_ext2_get_file_block): Use blocks member.
44544
44545 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44546 first block. Return -1 instead of pupa_errno on error.
44547
bfd30f06 445482003-10-27 Marco Gerards <metgerards@student.han.nl>
44549
44550 * README: In the pupa-mkimage example use _chain instead of chain
44551 and ext2 instead of fat.
44552 * TODO: Replace ext2fs with jfs as an example. Add an item for
44553 adding journal playback for ext2fs.
44554 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44555 (pkgdata_MODULES): Added ext2.mod.
44556 (ext2_mod_SOURCES): New variable.
44557 (ext2_mod_CFLAGS): Likewise.
44558 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44559 * include/pupa/misc.h (pupa_strncpy): New prototype.
44560 (pupa_strcat): Likewise.
44561 (pupa_strncmp): Likewise.
44562 * kern/misc.c (pupa_strcat): Enable function.
44563 (pupa_strncpy): New function.
44564 (pupa_strncmp): Likewise.
44565 * fs/ext2.c: New file.
f19dbdb7 44566
bfd30f06 44567 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44568 when the read failed before retrying.
44569 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44570 (_FILE_OFFSET_BITS): Likewise.
44571 * configure.ac: Added AC_SYS_LARGEFILE.
44572
98d15063 445732003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44574
44575 * genmk.rb (PModule#rule): Make sure to get only symbol names
44576 from the output of nm.
59cad637 44577 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44578
18d9c7cd 445792003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44580
44581 I forgot to check in these changes for a long time. This adds
44582 incomplete support for VGA console, and this is still very
44583 buggy. Also, a lot of consideration is required for I18N,
44584 UNICODE, and VGA font issues. Therefore, assume that this is
44585 such that "better than nothing".
f19dbdb7 44586
18d9c7cd 44587 * font/manager.c: New file.
44588 * include/pupa/font.h: Likewise.
44589 * include/pupa/i386/pc/vga.h: Likewise.
44590 * term/i386/pc/vga.c: Likewise.
44591 * util/unifont2pff.rb: Likewise.
44592
44593 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44594 (pkgdata_MODULES): Added vga.mod and font.mod.
44595 (vga_mod_SOURCES): New variables.
44596 (vga_mod_CFLAGS): Likewise.
44597 (font_mod_SOURCES): Likewise.
44598 (font_mod_CFLAGS): Likewise.
44599
44600 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44601
44602 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44603 (struct pupa_term): Added init and fini.
18d9c7cd 44604 Changed the argument of putchar to pupa_uint32_t.
44605
44606 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44607 (pupa_console_real_putchar): New prototype.
44608 (pupa_console_putchar): Removed.
44609 (pupa_console_checkkey): Exported.
44610 (pupa_console_getkey): Likewise.
44611
44612 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44613 characters.
44614
44615 * kern/term.c (pupa_term_set_current): Rewritten.
44616 (pupa_putchar): Likewise.
44617 (pupa_putcode): New function.
44618
44619 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44620 (pupa_console_real_putchar): ... this.
44621 (pupa_vga_set_mode): New function.
44622 (pupa_vga_get_font): Likewise.
44623
44624 * normal/command.c: Include pupa/term.h.
44625 (terminal_command): New function.
44626 (pupa_command_init): Register the command "terminal".
44627
44628 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44629 (DISP_UP): Likewise.
44630 (DISP_RIGHT): Likewise.
44631 (DISP_DOWN): Likewise.
44632 (DISP_HLINE): Likewise.
44633 (DISP_VLINE): Likewise.
44634 (DISP_UL): Likewise.
44635 (DISP_UR): Likewise.
44636 (DISP_LL): Likewise.
44637 (DISP_LR): Likewise.
44638
44639 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44640
977329f5 446412003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44642
44643 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44644 FIX. Reverse the path_list.
44645
44646 * include/pupa/normal.h: Export pupa_register_command and
44647 pupa_unregister_command.
44648
44649 * hello/hello.c (pupa_cmd_hello): New module.
44650 * conf/i386-pc.rmk: Added hello.mod.
44651
1f5ab428 446522003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44653
44654 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44655
1f5ab428 44656 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44657 (compress_kernel): New variable.
44658 (generate_image): Heavily modified to support compressing a
44659 large part of the core image.
44660
44661 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44662 leak.
44663 (pupa_util_load_image): New function.
44664
44665 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44666 (pupa_compressed_size): New variable.
44667 (codestart): Enable Gate A20 here.
44668 Decompress the compressed part of the core image.
44669 Rearrange the code to put functions and variables which are
44670 required for initialization in the non-compressed part.
44671 Include lzo1x.S.
44672
44673 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44674 here.
44675
44676 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44677
f19dbdb7 44678 * include/pupa/i386/pc/kernel.h
1f5ab428 44679 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44680 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44681 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44682 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44683 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44684
44685 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44686
44687 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44688 (Utility#rule): Likewise.
44689
44690 * configure.ac: Check if LZO is available.
44691
ce5bf700 446922003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44693
44694 * include/pupa/normal.h: New file.
44695 * include/pupa/setjmp.h: Likewise.
44696 * include/pupa/i386/setjmp.h: Likewise.
44697 * normal/cmdline.c: Likewise.
44698 * normal/command.c: Likewise.
44699 * normal/main.c: Likewise.
44700 * normal/menu.c: Likewise.
44701 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44702
ce5bf700 44703 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44704 (pupa_rescue_cmd_initrd): Likewise.
44705
44706 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44707 Likewise.
44708
44709 * kern/i386/pc/startup.S (translation_table): New variable.
44710 (translate_keycode): New function.
44711 (pupa_console_getkey): Call translate_keycode.
44712
44713 * kern/rescue.c (attempt_normal_mode): New function.
44714 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44715 it failed, print a message.
44716
44717 * kern/mm.c (pupa_real_malloc): Print more information when a
44718 free magic is broken.
44719 (pupa_free): If the first free header is not free actually, set
44720 it to P.
44721
44722 * kern/main.c (pupa_load_normal_mode): Just load the module
44723 "normal".
44724 (pupa_main): Don't print the message
44725 "Entering into rescue mode..." here.
44726
44727 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44728 Declared.
44729 (pupa_rescue_cmd_initrd): Likewise.
44730 (pupa_rescue_cmd_initrd): Likewise.
44731
44732 * include/pupa/symbol.h (FUNCTION): Specify the type.
44733 (VARIABLE): Likewise.
44734
44735 * include/pupa/err.h (pupa_err_t): Added
44736 PUPA_ERR_UNKNOWN_COMMAND.
44737
44738 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44739 (pupa_dl_get_prefix): Likewise.
44740
44741 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44742 Added _chain.mod and _linux.mod instead of chain.mod and
44743 linux.mod.
44744 (chain_mod_SOURCES): Renamed to ...
44745 (_chain_mod_SOURCES): ... this.
44746 (chain_mod_CFLAGS): Renamed to ...
44747 (_chain_mod_CFLAGS): ... this.
44748 (linux_mod_SOURCES): Renamed to ...
44749 (_linux_mod_SOURCES): ... this.
44750 (linux_mod_CFLAGS): Renamed to ...
44751 (_linux_mod_CFLAGS): ... this.
44752 (normal_mod_SOURCES): New variable.
44753 (normal_mod_CFLAGS): Likewise.
44754 (normal_mod_ASFLAGS): Likewise.
44755
447562003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44757
44758 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44759 possible.
44760
fe6b695a 44761 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44762 recursively.
44763 (pupa_dl_unref): Unrefer depending modules recursively.
44764 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44765 a module is unloaded before one depending on that module is
44766 unloaded.
44767 (pupa_dl_unload): Unload depending modules explicitly,
44768 if possible.
44769
c04da074 447702003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44771
44772 * include/pupa/i386/pc/linux.h: New file.
44773 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44774
c04da074 44775 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44776 Removed.
44777 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44778 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44779 of PUPA_CHAINLOADER_BOOT_SECTOR.
44780
44781 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44782 (pupa_linux_prot_size): New variable.
44783 (pupa_linux_tmp_addr): Likewise.
44784 (pupa_linux_real_addr): Likewise.
44785 (pupa_linux_boot_zimage): New function.
44786 (pupa_linux_boot_bzimage): Likewise.
44787
44788 * kern/i386/pc/init.c (struct mem_region): New structure.
44789 (MAX_REGIONS): New macro.
44790 (mem_regions): New variable.
44791 (num_regions): Likewise.
44792 (pupa_os_area_addr): Likewise.
44793 (pupa_os_area_size): Likewise.
44794 (pupa_lower_mem): Likewise.
44795 (pupa_upper_mem): Likewise.
44796 (add_mem_region): New function.
44797 (compact_mem_regions): Likewise.
44798 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44799 the size of the conventional memory and that of so-called upper
44800 memory (before the first memory hole).
44801 Instead of adding each found region to free memory, use
44802 add_mem_region and add them after removing overlaps.
44803 Also, add only 1/4 of the upper memory to free memory. The rest
44804 is used for loading OS images. Maybe this is ad hoc, but this
44805 makes it much easier to relocate OS images when booting.
44806
44807 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44808 (pupa_enter_rescue_mode): Don't register initrd and module.
44809
44810 * kern/mm.c: Include pupa/dl.h.
44811
44812 * kern/main.c: Include pupa/file.h and pupa/device.h.
44813
44814 * kern/loader.c (pupa_loader_load_module_func): Removed.
44815 (pupa_loader_load_module): Likewise.
44816
44817 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44818 ``.o''.
44819
44820 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44821 (pupa_linux_tmp_addr): Likewise.
44822 (pupa_linux_real_addr): Likewise.
44823 (pupa_linux_boot_zimage): Likewise.
44824 (pupa_linux_boot_bzimage): Likewise.
44825
44826 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44827 (pupa_upper_mem): Likewise.
44828 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44829 module is too dangerous.
44830
44831 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44832 (pupa_os_area_size): Likewise.
44833 (pupa_loader_set): Remove the first argument. Loader doesn't
44834 manage modules or initrd any longer.
44835 (pupa_loader_load_module): Removed.
44836
44837 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44838 (linux_mod_SOURCES): New variable.
44839 (linux_mod_CFLAGS): Likewise.
44840
a13f9237 448412003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44842
44843 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44844 the length of a blocklist correctly.
44845
44846 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44847 Use ioctl only if the OS file is a block device.
44848 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44849 not very useful for normal files.
44850
44851 * kern/main.c (pupa_set_root_dev): New function.
44852 (pupa_load_normal_mode): Likewise.
44853 (pupa_main): Call those above.
44854
44855 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44856 pupa_uint16_t.
44857
44858 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44859
a5ffe966 448602003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44861
44862 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44863 (setup): Configure the installed partition information and the
44864 dl prefix.
44865
44866 * loader/i386/pc/chainloader.c (my_mod): New variable.
44867 (pupa_chainloader_unload): New function.
44868 (pupa_rescue_cmd_chainloader): Refer itself.
44869 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44870
44871 * kern/i386/pc/startup.S (install_partition): Removed.
44872 (version_string): Likewise.
44873 (config_file): Likewise.
44874 (pupa_install_dos_part): New variable.
44875 (pupa_install_bsd_part): Likewise.
44876 (pupa_prefix): Likewise.
44877 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44878
44879 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44880 and pupa/misc.h.
44881 (make_install_device): New function.
44882 (pupa_machine_init): Set the dl prefix.
44883
44884 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44885 (buf): Renamed to ...
44886 (linebuf): ... this.
44887 (pupa_rescue_cmd_prefix): New function.
44888 (pupa_rescue_cmd_insmod): Likewise.
44889 (pupa_rescue_cmd_rmmod): Likewise.
44890 (pupa_rescue_cmd_lsmod): Likewise.
44891 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44892 rmmod and lsmod.
44893
44894 * kern/mm.c (pupa_memalign): If failed even after invalidating
44895 disk caches, unload unneeded modules and retry.
44896
44897 * kern/misc.c (pupa_memmove): New function.
44898 (pupa_memcpy): Removed.
44899 (pupa_strcpy): New function.
44900 (pupa_itoa): Made static.
44901
44902 * kern/dl.c (pupa_dl_iterate): New function.
44903 (pupa_dl_ref): Likewise.
44904 (pupa_dl_unref): Likewise.
44905 (pupa_dl_unload): Return if succeeded or not.
44906 (pupa_dl_unload_unneeded): New function.
44907 (pupa_dl_unload_all): Likewise.
44908 (pupa_dl_init): Renamed to ...
44909 (pupa_dl_set_prefix): ... this.
44910 (pupa_dl_get_prefix): New function.
44911
44912 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44913 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44914 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44915 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44916 (pupa_install_dos_part): Declared.
44917 (pupa_install_bsd_part): Likewise.
44918 (pupa_prefix): Likewise.
44919 (pupa_boot_drive): Likewise.
44920
44921 * include/pupa/types.h: Fix a typo.
44922
44923 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44924 pupa_memmove.
44925 (pupa_memmove): Declared.
44926 (pupa_strcpy): Likewise.
44927
44928 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44929 pupa_mod_init takes one argument, its own module.
44930 (pupa_dl_unload_unneeded): Declared.
44931 (pupa_dl_unload_all): Likewise.
44932 (pupa_dl_ref): Likewise.
44933 (pupa_dl_unref): Likewise.
44934 (pupa_dl_iterate): Likewise.
44935 (pupa_dl_init): Renamed to ...
44936 (pupa_dl_set_prefix): ... this.
44937 (pupa_dl_get_prefix): Declared.
44938
44939 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44940 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44941 unloaded.
44942 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44943 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44944
44945 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44946 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44947
012d7999 449482003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44949
44950 * util/i386/pc/pupa-setup.c (setup): Define the internal
44951 function find_first_partition_start at the top level, because GCC
44952 3.0.x cannot compile internal functions in deeper scopes
44953 correctly.
44954 (find_root_device): Use lstat instead of stat.
44955 Don't follow symbolic links.
44956 Fix the path-constructing code.
44957
44958 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44959 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44960 by a BLKGETSIZE ioctl first, because block devices don't fill
44961 the member st_mode of the structure stat on Linux.
44962 [__linux__] (linux_find_partition): Use a temporary buffer
44963 REAL_DEV for the working space. Copy it to DEV before returning.
44964 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44965 buffer cache consistent.
44966 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44967 strncmp. The previous value was merely wrong.
44968 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44969
44970 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44971 FAT size is 12. The previous value was merely wrong.
44972
44973 * kern/main.c (pupa_main): Don't split the starting message from
44974 newlines.
44975
44976 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44977 LF, because BIOS goes crazy about character attributes in this
44978 case.
44979
1cc73a62 449802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44981
44982 * include/i386/pc/util/biosdisk.h: New file.
44983 * util/i386/pc/biosdisk.c: Likewise.
44984 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44985
1cc73a62 44986 * Makefile.in (INCLUDE_DISTFILES): Added
44987 include/pupa/i386/pc/util/biosdisk.h.
44988 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44989 directory util/i386/pc.
44990 (install-local): Added a rule for sbin_UTILITIES.
44991 (uninstall): Likewise.
44992
44993 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44994
44995 * util/misc.c (xrealloc): New function.
44996 (pupa_malloc): Likewise.
44997 (pupa_free): Likewise.
44998 (pupa_realloc): Likewise.
44999 (pupa_stop): Likewise.
45000 (pupa_putchar): Likewise.
45001
45002 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45003
45004 * include/pupa/util/misc.h (xrealloc): Declared.
45005
45006 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45007 macro.
45008 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45009 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45010
45011 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45012 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45013
45014 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45015 way should be implemented.
45016 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45017
45018 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45019 the size of NAME for safety.
45020 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45021 0x88.
45022
45023 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45024 (pupa_setup_SOURCES): Likewise.
45025
45026 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45027
08b70fe8 450282002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45029
45030 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45031 bunch of pushl's from pusha, because this destroys the return
45032 value.
45033
62ddcc8f 450342002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45035
45036 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45037 This means that any missing prototypes could be fatal. Also, you
45038 must take care when writing assembly code. See the comments at
45039 the beginning of startup.S, for more details.
f19dbdb7 45040
62ddcc8f 45041 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45042 compilation mechanism.
45043 (pupa_chainloader_real_boot): Likewise.
45044 (pupa_biosdisk_rw_int13_extensions): Likewise.
45045 (pupa_biosdisk_rw_standard): Likewise.
45046 (pupa_biosdisk_check_int13_extensions): Likewise.
45047 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45048 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45049 (pupa_get_memsize): Likewise.
45050 (pupa_get_mmap_entry): Likewise.
45051 (pupa_console_putchar): Likewise.
45052 (pupa_console_setcursor): Likewise.
45053 (pupa_getrtsecs): Use pushl instead of push.
45054
45055 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45056 memory instead of the stack for a mmap entry, because some
45057 BIOSes may ignore the maximum size and overflow.
45058
45059 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45060
45061 * genmk.rb (PModule#rule): Compile automatically generated
45062 sources with module-specific CFLAGS as well as other sources.
45063
9962ed99 450642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45065
45066 * configure.ac: Check ld.
45067 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45068 respectively, before checking endianness and sizes.
45069
45070 * Makefile.in (LD): New variable.
f19dbdb7 45071
abdfc3c5 450722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45073
45074 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45075
6a161fa9 450762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45077
45078 * Changelog: New file.
45079